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

[PM-5951] Migrate org invite state (#9014)

* use deep linked url for org invite instead of separate state

* remove organization invite state & fix tests

* clear login redirect for SSO JIT users since they are accepted when setting MP

* create accept org invite service and consolidate components in module

* finish switch to accept org invite service

* move logic to accept org service

* the rest of the owl

* clear org invite along with deep linked route

* pr feedback

* fix test and add error to catch null invite

* pr feedback

* clear stored invite if it doesn't match provided one
This commit is contained in:
Jake Fink
2024-05-30 12:03:17 -04:00
committed by GitHub
parent f79d1dac92
commit e29025df28
32 changed files with 797 additions and 467 deletions

View File

@@ -1,6 +1,7 @@
import { ListResponse } from "../../../models/response/list.response";
import { PolicyType } from "../../enums";
import { MasterPasswordPolicyOptions } from "../../models/domain/master-password-policy-options";
import { Policy } from "../../models/domain/policy";
import { PolicyRequest } from "../../models/request/policy.request";
import { PolicyResponse } from "../../models/response/policy.response";
@@ -13,7 +14,7 @@ export class PolicyApiServiceAbstraction {
token: string,
email: string,
organizationUserId: string,
) => Promise<ListResponse<PolicyResponse>>;
) => Promise<Policy[] | undefined>;
getMasterPasswordPolicyOptsForOrgUser: (orgId: string) => Promise<MasterPasswordPolicyOptions>;
putPolicy: (organizationId: string, type: PolicyType, request: PolicyRequest) => Promise<any>;

View File

@@ -1,5 +1,6 @@
import { PolicyId } from "../../../types/guid";
import { PolicyType } from "../../enums";
import { Policy } from "../domain/policy";
import { PolicyResponse } from "../response/policy.response";
export class PolicyData {
@@ -20,4 +21,8 @@ export class PolicyData {
this.data = response.data;
this.enabled = response.enabled;
}
static fromPolicy(policy: Policy): PolicyData {
return Object.assign(new PolicyData(), policy);
}
}

View File

@@ -47,7 +47,7 @@ export class PolicyApiService implements PolicyApiServiceAbstraction {
token: string,
email: string,
organizationUserId: string,
): Promise<ListResponse<PolicyResponse>> {
): Promise<Policy[] | undefined> {
const r = await this.apiService.send(
"GET",
"/organizations/" +
@@ -63,7 +63,7 @@ export class PolicyApiService implements PolicyApiServiceAbstraction {
false,
true,
);
return new ListResponse(r, PolicyResponse);
return Policy.fromListResponse(new ListResponse(r, PolicyResponse));
}
private async getMasterPasswordPolicyResponseForOrgUser(