@oystehr/sdk
Version:
Oystehr SDK
71 lines (68 loc) • 4.01 kB
text/typescript
// 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);
}
}