UNPKG

@oystehr/sdk

Version:

Oystehr SDK

61 lines (58 loc) 3.59 kB
import { SDKResource } from '../../client/client.js'; // AUTOGENERATED -- DO NOT EDIT class Role extends SDKResource { constructor(config) { super(config); } #baseUrlThunk() { 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) { 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, request) { 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, request) { 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, request) { 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, request) { return this.request('/iam/role/{roleId}', 'delete', this.#baseUrlThunk.bind(this))(params, request); } } export { Role }; //# sourceMappingURL=role.js.map