@oystehr/sdk
Version:
Oystehr SDK
63 lines (59 loc) • 3.61 kB
JavaScript
'use strict';
var client = require('../../client/client.cjs');
// AUTOGENERATED -- DO NOT EDIT
class Role extends client.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);
}
}
exports.Role = Role;
//# sourceMappingURL=role.cjs.map