Use SDK calls to read and update shared throughput for Tables API ()

RP does not supporting reading or updating database level throughput for Tables API so we have to switch back to using SDK calls for these operations.
This commit is contained in:
victor-meng 2020-10-13 15:49:30 -07:00 committed by GitHub
parent d525afa142
commit 9933a4988a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 12 additions and 17 deletions
src
Common/dataAccess
Explorer/Tree

@ -17,14 +17,12 @@ import { userContext } from "../../UserContext";
export const readDatabaseOffer = async (
params: DataModels.ReadDatabaseOfferParams
): Promise<DataModels.OfferWithHeaders> => {
if (userContext.defaultExperience === DefaultAccountExperienceType.Table) {
throw new Error("Reading database offer is not allowed for tables accounts");
}
const clearMessage = logConsoleProgress(`Querying offer for database ${params.databaseId}`);
let offerId = params.offerId;
if (!offerId) {
offerId = await (window.authType === AuthType.AAD && !userContext.useSDKOperations
offerId = await (window.authType === AuthType.AAD &&
!userContext.useSDKOperations &&
userContext.defaultExperience !== DefaultAccountExperienceType.Table
? getDatabaseOfferIdWithARM(params.databaseId)
: getDatabaseOfferIdWithSDK(params.databaseResourceId));
if (!offerId) {

@ -60,9 +60,14 @@ export const updateOffer = async (params: UpdateOfferParams): Promise<Offer> =>
try {
if (window.authType === AuthType.AAD && !userContext.useSDKOperations) {
updatedOffer = await (params.collectionId
? updateCollectionOfferWithARM(params)
: updateDatabaseOfferWithARM(params));
if (params.collectionId) {
updatedOffer = await updateCollectionOfferWithARM(params);
} else if (userContext.defaultExperience === DefaultAccountExperienceType.Table) {
// update table's database offer with SDK since RP doesn't support it
updatedOffer = await updateOfferWithSDK(params);
} else {
updatedOffer = await updateDatabaseOfferWithARM(params);
}
} else {
updatedOffer = await updateOfferWithSDK(params);
}
@ -115,10 +120,6 @@ const updateCollectionOfferWithARM = async (params: UpdateOfferParams): Promise<
};
const updateDatabaseOfferWithARM = async (params: UpdateOfferParams): Promise<Offer> => {
if (userContext.defaultExperience === DefaultAccountExperienceType.Table) {
throw new Error("Updating database offer is not allowed for tables accounts");
}
try {
switch (userContext.defaultExperience) {
case DefaultAccountExperienceType.DocumentDB:

@ -201,11 +201,7 @@ export default class Database implements ViewModels.Database {
}
public async loadOffer(): Promise<void> {
if (
!this.container.isServerlessEnabled() &&
this.container.defaultExperience() !== DefaultAccountExperienceType.Table &&
!this.offer()
) {
if (!this.container.isServerlessEnabled() && !this.offer()) {
const params: DataModels.ReadDatabaseOfferParams = {
databaseId: this.id(),
databaseResourceId: this.self