UNPKG

@oystehr/sdk

Version:

Oystehr SDK

71 lines (68 loc) 4.01 kB
// AUTOGENERATED -- DO NOT EDIT import { OystehrClientRequest, RoleCreateParams, RoleCreateResponse, RoleDeleteParams, RoleGetParams, RoleGetResponse, RoleListResponse, RoleUpdateParams, RoleUpdateResponse, } from '../..'; import { SDKResource } from '../../client/client'; import { OystehrConfig } from '../../config'; export class Role extends SDKResource { constructor(config: OystehrConfig) { super(config); } #baseUrlThunk(): string { return this.config.services?.['projectApiUrl'] ?? 'https://project-api.zapehr.com/v1'; } /** * Get a list of all Roles. A [Role](https://docs.oystehr.com/oystehr/services/iam/roles/) defines an access policy that can be assigned to any number of [Developers](https://docs.oystehr.com/oystehr/services/iam/developers/), [Users](https://docs.oystehr.com/oystehr/services/app/users/), and [M2M Clients](https://docs.oystehr.com/oystehr/services/iam/m2m-clients/). * * Access Policy Action: `IAM:ListAllRoles` * Access Policy Resource: `IAM:Role` */ list(request?: OystehrClientRequest): Promise<RoleListResponse> { return this.request('/iam/role', 'get', this.#baseUrlThunk.bind(this))(request); } /** * Create a new Role. A [Role](https://docs.oystehr.com/oystehr/services/iam/roles/) defines an access policy that can be assigned to any number of [Developers](https://docs.oystehr.com/oystehr/services/iam/developers/), [Users](https://docs.oystehr.com/oystehr/services/app/users/), and [M2M Clients](https://docs.oystehr.com/oystehr/services/iam/m2m-clients/). * * Access Policy Action: `IAM:CreateRole` * Access Policy Resource: `IAM:Role` */ create(params: RoleCreateParams, request?: OystehrClientRequest): Promise<RoleCreateResponse> { return this.request('/iam/role', 'post', this.#baseUrlThunk.bind(this))(params, request); } /** * Get the Role with the provided ID. A [Role](https://docs.oystehr.com/oystehr/services/iam/roles/) defines an access policy that can be assigned to any number of [Developers](https://docs.oystehr.com/oystehr/services/iam/developers/), [Users](https://docs.oystehr.com/oystehr/services/app/users/), and [M2M Clients](https://docs.oystehr.com/oystehr/services/iam/m2m-clients/). * * Access Policy Action: `IAM:GetRole` * Access Policy Resource: `IAM:Role` */ get(params: RoleGetParams, request?: OystehrClientRequest): Promise<RoleGetResponse> { return this.request('/iam/role/{roleId}', 'get', this.#baseUrlThunk.bind(this))(params, request); } /** * Update the Role with the provided ID. A [Role](https://docs.oystehr.com/oystehr/services/iam/roles/) defines an access policy that can be assigned to any number of [Developers](https://docs.oystehr.com/oystehr/services/iam/developers/), [Users](https://docs.oystehr.com/oystehr/services/app/users/), and [M2M Clients](https://docs.oystehr.com/oystehr/services/iam/m2m-clients/). * * Access Policy Action: `IAM:UpdateRole` * Access Policy Resource: `IAM:Role` */ update(params: RoleUpdateParams, request?: OystehrClientRequest): Promise<RoleUpdateResponse> { return this.request('/iam/role/{roleId}', 'patch', this.#baseUrlThunk.bind(this))(params, request); } /** * Delete the Role with the provided ID. A [Role](https://docs.oystehr.com/oystehr/services/iam/roles/) defines an access policy that can be assigned to any number of [Developers](https://docs.oystehr.com/oystehr/services/iam/developers/), [Users](https://docs.oystehr.com/oystehr/services/app/users/), and [M2M Clients](https://docs.oystehr.com/oystehr/services/iam/m2m-clients/). * * Access Policy Action: `IAM:DeleteRole` * Access Policy Resource: `IAM:Role` * Will fail if any entities hold the Role or if Role is assigned as the default patient role for the project */ delete(params: RoleDeleteParams, request?: OystehrClientRequest): Promise<void> { return this.request('/iam/role/{roleId}', 'delete', this.#baseUrlThunk.bind(this))(params, request); } }