@oystehr/sdk
Version:
Oystehr SDK
61 lines (58 loc) • 3.59 kB
JavaScript
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