diff --git a/src/abstractions/api.service.ts b/src/abstractions/api.service.ts index 79503d49..67131df8 100644 --- a/src/abstractions/api.service.ts +++ b/src/abstractions/api.service.ts @@ -37,6 +37,7 @@ import { OrganizationTaxInfoUpdateRequest } from '../models/request/organization import { OrganizationUpdateRequest } from '../models/request/organizationUpdateRequest'; import { OrganizationUpgradeRequest } from '../models/request/organizationUpgradeRequest'; import { OrganizationUserAcceptRequest } from '../models/request/organizationUserAcceptRequest'; +import { OrganizationUserBulkConfirmRequest } from '../models/request/organizationUserBulkConfirmRequest'; import { OrganizationUserBulkRequest } from '../models/request/organizationUserBulkRequest'; import { OrganizationUserConfirmRequest } from '../models/request/organizationUserConfirmRequest'; import { OrganizationUserInviteRequest } from '../models/request/organizationUserInviteRequest'; @@ -104,6 +105,8 @@ import { ListResponse } from '../models/response/listResponse'; import { OrganizationKeysResponse } from '../models/response/organizationKeysResponse'; import { OrganizationResponse } from '../models/response/organizationResponse'; import { OrganizationSubscriptionResponse } from '../models/response/organizationSubscriptionResponse'; +import { OrganizationUserBulkPublicKeyResponse } from '../models/response/organizationUserBulkPublicKeyResponse'; +import { OrganizationUserBulkResponse } from '../models/response/organizationUserBulkResponse'; import { OrganizationUserDetailsResponse, OrganizationUserResetPasswordDetailsReponse, @@ -280,11 +283,15 @@ export abstract class ApiService { => Promise; postOrganizationUserInvite: (organizationId: string, request: OrganizationUserInviteRequest) => Promise; postOrganizationUserReinvite: (organizationId: string, id: string) => Promise; - postManyOrganizationUserReinvite: (organizationId: string, request: OrganizationUserBulkRequest) => Promise; + postManyOrganizationUserReinvite: (organizationId: string, request: OrganizationUserBulkRequest) => Promise>; postOrganizationUserAccept: (organizationId: string, id: string, request: OrganizationUserAcceptRequest) => Promise; postOrganizationUserConfirm: (organizationId: string, id: string, request: OrganizationUserConfirmRequest) => Promise; + postOrganizationUsersPublicKey: (organizationId: string, request: OrganizationUserBulkRequest) => + Promise>; + postOrganizationUserBulkConfirm: (organizationId: string, request: OrganizationUserBulkConfirmRequest) => Promise>; + putOrganizationUser: (organizationId: string, id: string, request: OrganizationUserUpdateRequest) => Promise; putOrganizationUserGroups: (organizationId: string, id: string, request: OrganizationUserUpdateGroupsRequest) => Promise; @@ -293,7 +300,7 @@ export abstract class ApiService { putOrganizationUserResetPassword: (organizationId: string, id: string, request: OrganizationUserResetPasswordRequest) => Promise; deleteOrganizationUser: (organizationId: string, id: string) => Promise; - deleteManyOrganizationUsers: (organizationId: string, request: OrganizationUserBulkRequest) => Promise; + deleteManyOrganizationUsers: (organizationId: string, request: OrganizationUserBulkRequest) => Promise>; getSync: () => Promise; postImportDirectory: (organizationId: string, request: ImportDirectoryRequest) => Promise; diff --git a/src/models/request/organizationUserBulkConfirmRequest.ts b/src/models/request/organizationUserBulkConfirmRequest.ts new file mode 100644 index 00000000..8412baed --- /dev/null +++ b/src/models/request/organizationUserBulkConfirmRequest.ts @@ -0,0 +1,12 @@ +type OrganizationUserBulkRequestEntry = { + id: string; + key: string; +}; + +export class OrganizationUserBulkConfirmRequest { + keys: OrganizationUserBulkRequestEntry[]; + + constructor(keys: OrganizationUserBulkRequestEntry[]) { + this.keys = keys; + } +} diff --git a/src/models/response/organizationUserBulkPublicKeyResponse.ts b/src/models/response/organizationUserBulkPublicKeyResponse.ts new file mode 100644 index 00000000..12f1ad9c --- /dev/null +++ b/src/models/response/organizationUserBulkPublicKeyResponse.ts @@ -0,0 +1,12 @@ +import { BaseResponse } from './baseResponse'; + +export class OrganizationUserBulkPublicKeyResponse extends BaseResponse { + id: string; + key: string; + + constructor(response: any) { + super(response); + this.id = this.getResponseProperty('Id'); + this.key = this.getResponseProperty('Key'); + } +} diff --git a/src/models/response/organizationUserBulkResponse.ts b/src/models/response/organizationUserBulkResponse.ts new file mode 100644 index 00000000..eeee2c8f --- /dev/null +++ b/src/models/response/organizationUserBulkResponse.ts @@ -0,0 +1,12 @@ +import { BaseResponse } from './baseResponse'; + +export class OrganizationUserBulkResponse extends BaseResponse { + id: string; + error: string; + + constructor(response: any) { + super(response); + this.id = this.getResponseProperty('Id'); + this.error = this.getResponseProperty('Error'); + } +} diff --git a/src/services/api.service.ts b/src/services/api.service.ts index 55c0d652..db007b72 100644 --- a/src/services/api.service.ts +++ b/src/services/api.service.ts @@ -41,6 +41,7 @@ import { OrganizationTaxInfoUpdateRequest } from '../models/request/organization import { OrganizationUpdateRequest } from '../models/request/organizationUpdateRequest'; import { OrganizationUpgradeRequest } from '../models/request/organizationUpgradeRequest'; import { OrganizationUserAcceptRequest } from '../models/request/organizationUserAcceptRequest'; +import { OrganizationUserBulkConfirmRequest } from '../models/request/organizationUserBulkConfirmRequest'; import { OrganizationUserBulkRequest } from '../models/request/organizationUserBulkRequest'; import { OrganizationUserConfirmRequest } from '../models/request/organizationUserConfirmRequest'; import { OrganizationUserInviteRequest } from '../models/request/organizationUserInviteRequest'; @@ -110,6 +111,8 @@ import { ListResponse } from '../models/response/listResponse'; import { OrganizationKeysResponse } from '../models/response/organizationKeysResponse'; import { OrganizationResponse } from '../models/response/organizationResponse'; import { OrganizationSubscriptionResponse } from '../models/response/organizationSubscriptionResponse'; +import { OrganizationUserBulkPublicKeyResponse } from '../models/response/organizationUserBulkPublicKeyResponse'; +import { OrganizationUserBulkResponse } from '../models/response/organizationUserBulkResponse'; import { OrganizationUserDetailsResponse, OrganizationUserResetPasswordDetailsReponse, @@ -814,8 +817,9 @@ export class ApiService implements ApiServiceAbstraction { return this.send('POST', '/organizations/' + organizationId + '/users/' + id + '/reinvite', null, true, false); } - postManyOrganizationUserReinvite(organizationId: string, request: OrganizationUserBulkRequest): Promise { - return this.send('POST', '/organizations/' + organizationId + '/users/reinvite', request, true, false); + async postManyOrganizationUserReinvite(organizationId: string, request: OrganizationUserBulkRequest): Promise> { + const r = await this.send('POST', '/organizations/' + organizationId + '/users/reinvite', request, true, true); + return new ListResponse(r, OrganizationUserBulkResponse); } postOrganizationUserAccept(organizationId: string, id: string, @@ -829,6 +833,16 @@ export class ApiService implements ApiServiceAbstraction { request, true, false); } + async postOrganizationUsersPublicKey(organizationId: string, request: OrganizationUserBulkRequest): Promise> { + const r = await this.send('POST', '/organizations/' + organizationId + '/users/public-keys', request, true, true); + return new ListResponse(r, OrganizationUserBulkPublicKeyResponse); + } + + async postOrganizationUserBulkConfirm(organizationId: string, request: OrganizationUserBulkConfirmRequest): Promise> { + const r = await this.send('POST', '/organizations/' + organizationId + '/users/confirm', request, true, true); + return new ListResponse(r, OrganizationUserBulkResponse); + } + putOrganizationUser(organizationId: string, id: string, request: OrganizationUserUpdateRequest): Promise { return this.send('PUT', '/organizations/' + organizationId + '/users/' + id, request, true, false); } @@ -854,8 +868,9 @@ export class ApiService implements ApiServiceAbstraction { return this.send('DELETE', '/organizations/' + organizationId + '/users/' + id, null, true, false); } - deleteManyOrganizationUsers(organizationId: string, request: OrganizationUserBulkRequest): Promise { - return this.send('DELETE', '/organizations/' + organizationId + '/users', request, true, false); + async deleteManyOrganizationUsers(organizationId: string, request: OrganizationUserBulkRequest): Promise> { + const r = await this.send('DELETE', '/organizations/' + organizationId + '/users', request, true, true); + return new ListResponse(r, OrganizationUserBulkResponse); } // Plan APIs