mirror of
https://github.com/bitwarden/browser.git
synced 2024-12-02 13:23:29 +01:00
[AC-1418] Adjust organization-subscription-update.request.ts to support both PM and SM
This commit is contained in:
parent
55eaff06d6
commit
e6816aae8e
@ -39,7 +39,10 @@ export class AdjustSubscription {
|
|||||||
async submit() {
|
async submit() {
|
||||||
try {
|
try {
|
||||||
const seatAdjustment = this.newSeatCount - this.currentSeatCount;
|
const seatAdjustment = this.newSeatCount - this.currentSeatCount;
|
||||||
const request = new OrganizationSubscriptionUpdateRequest(seatAdjustment, this.newMaxSeats);
|
const request = OrganizationSubscriptionUpdateRequest.forPasswordManager(
|
||||||
|
seatAdjustment,
|
||||||
|
this.newMaxSeats
|
||||||
|
);
|
||||||
this.formPromise = this.organizationApiService.updateSubscription(
|
this.formPromise = this.organizationApiService.updateSubscription(
|
||||||
this.organizationId,
|
this.organizationId,
|
||||||
request
|
request
|
||||||
|
@ -1,3 +1,69 @@
|
|||||||
|
import { BitwardenProductType } from "../../enums/bitwarden-product-type.enum";
|
||||||
|
|
||||||
export class OrganizationSubscriptionUpdateRequest {
|
export class OrganizationSubscriptionUpdateRequest {
|
||||||
constructor(public seatAdjustment: number, public maxAutoscaleSeats?: number) {}
|
productType: BitwardenProductType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The number of seats to add or remove from the subscription.
|
||||||
|
* Applies to both PM and SM request types.
|
||||||
|
*/
|
||||||
|
seatAdjustment: number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The maximum number of seats that can be auto-scaled for the subscription.
|
||||||
|
* Applies to both PM and SM request types.
|
||||||
|
*/
|
||||||
|
maxAutoscaleSeats?: number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The number of additional service accounts to add or remove from the subscription.
|
||||||
|
* Applies only to the SM request type.
|
||||||
|
*/
|
||||||
|
serviceAccountAdjustment?: number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The maximum number of additional service accounts that can be auto-scaled for the subscription.
|
||||||
|
* Applies only to the SM request type.
|
||||||
|
*/
|
||||||
|
maxAutoscaleServiceAccounts?: number;
|
||||||
|
|
||||||
|
constructor(productType: BitwardenProductType) {
|
||||||
|
this.productType = productType;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Build a subscription update request for the Password Manager product type.
|
||||||
|
* @param seatAdjustment - The number of seats to add or remove from the subscription.
|
||||||
|
* @param maxAutoscaleSeats - The maximum number of seats that can be auto-scaled for the subscription.
|
||||||
|
*/
|
||||||
|
static forPasswordManager(
|
||||||
|
seatAdjustment: number,
|
||||||
|
maxAutoscaleSeats?: number
|
||||||
|
): OrganizationSubscriptionUpdateRequest {
|
||||||
|
const request = new OrganizationSubscriptionUpdateRequest(BitwardenProductType.PasswordManager);
|
||||||
|
request.seatAdjustment = seatAdjustment;
|
||||||
|
request.maxAutoscaleSeats = maxAutoscaleSeats;
|
||||||
|
return request;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Build a subscription update request for the Secrets Manager product type.
|
||||||
|
* @param seatAdjustment - The number of seats to add or remove from the subscription.
|
||||||
|
* @param serviceAccountAdjustment - The number of additional service accounts to add or remove from the subscription.
|
||||||
|
* @param maxAutoscaleSeats - The maximum number of seats that can be auto-scaled for the subscription.
|
||||||
|
* @param maxAutoscaleServiceAccounts - The maximum number of additional service accounts that can be auto-scaled for the subscription.
|
||||||
|
*/
|
||||||
|
static forSecretsManager(
|
||||||
|
seatAdjustment: number,
|
||||||
|
serviceAccountAdjustment: number,
|
||||||
|
maxAutoscaleSeats?: number,
|
||||||
|
maxAutoscaleServiceAccounts?: number
|
||||||
|
): OrganizationSubscriptionUpdateRequest {
|
||||||
|
const request = new OrganizationSubscriptionUpdateRequest(BitwardenProductType.SecretsManager);
|
||||||
|
request.seatAdjustment = seatAdjustment;
|
||||||
|
request.serviceAccountAdjustment = serviceAccountAdjustment;
|
||||||
|
request.maxAutoscaleSeats = maxAutoscaleSeats;
|
||||||
|
request.maxAutoscaleServiceAccounts = maxAutoscaleServiceAccounts;
|
||||||
|
return request;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user