1
0
mirror of https://github.com/bitwarden/browser synced 2025-12-14 15:23:33 +00:00

[AC-1218] Add ability to delete Provider Portals (#8685)

* initial commit

* add changes from running prettier

* resolve the linx issue

* resolve the lint issue

* resolving lint error

* correct the redirect issue

* resolve pr commit

* Add a feature flag

* move the new component to adminconsole

* resolve some pr comments

* move the endpoint from ApiService to providerApiService

* move provider endpoints to the provider-api class

* change the header

* resolve some pr comments
This commit is contained in:
cyprain-okeke
2024-04-17 14:07:26 +01:00
committed by GitHub
parent 4db383850f
commit a72b7f3d21
18 changed files with 359 additions and 83 deletions

View File

@@ -0,0 +1,15 @@
import { ProviderSetupRequest } from "../../models/request/provider/provider-setup.request";
import { ProviderUpdateRequest } from "../../models/request/provider/provider-update.request";
import { ProviderVerifyRecoverDeleteRequest } from "../../models/request/provider/provider-verify-recover-delete.request";
import { ProviderResponse } from "../../models/response/provider/provider.response";
export class ProviderApiServiceAbstraction {
postProviderSetup: (id: string, request: ProviderSetupRequest) => Promise<ProviderResponse>;
getProvider: (id: string) => Promise<ProviderResponse>;
putProvider: (id: string, request: ProviderUpdateRequest) => Promise<ProviderResponse>;
providerRecoverDeleteToken: (
organizationId: string,
request: ProviderVerifyRecoverDeleteRequest,
) => Promise<any>;
deleteProvider: (id: string) => Promise<void>;
}

View File

@@ -0,0 +1,7 @@
export class ProviderVerifyRecoverDeleteRequest {
token: string;
constructor(token: string) {
this.token = token;
}
}

View File

@@ -0,0 +1,47 @@
import { ApiService } from "../../../abstractions/api.service";
import { ProviderApiServiceAbstraction } from "../../abstractions/provider/provider-api.service.abstraction";
import { ProviderSetupRequest } from "../../models/request/provider/provider-setup.request";
import { ProviderUpdateRequest } from "../../models/request/provider/provider-update.request";
import { ProviderVerifyRecoverDeleteRequest } from "../../models/request/provider/provider-verify-recover-delete.request";
import { ProviderResponse } from "../../models/response/provider/provider.response";
export class ProviderApiService implements ProviderApiServiceAbstraction {
constructor(private apiService: ApiService) {}
async postProviderSetup(id: string, request: ProviderSetupRequest) {
const r = await this.apiService.send(
"POST",
"/providers/" + id + "/setup",
request,
true,
true,
);
return new ProviderResponse(r);
}
async getProvider(id: string) {
const r = await this.apiService.send("GET", "/providers/" + id, null, true, true);
return new ProviderResponse(r);
}
async putProvider(id: string, request: ProviderUpdateRequest) {
const r = await this.apiService.send("PUT", "/providers/" + id, request, true, true);
return new ProviderResponse(r);
}
providerRecoverDeleteToken(
providerId: string,
request: ProviderVerifyRecoverDeleteRequest,
): Promise<any> {
return this.apiService.send(
"POST",
"/providers/" + providerId + "/delete-recover-token",
request,
false,
false,
);
}
async deleteProvider(id: string): Promise<void> {
await this.apiService.send("DELETE", "/providers/" + id, null, true, false);
}
}