{"version":3,"file":"role.cjs","sources":["../../../../src/resources/classes/role.ts"],"sourcesContent":["// AUTOGENERATED -- DO NOT EDIT\n\nimport {\n  OystehrClientRequest,\n  RoleCreateParams,\n  RoleCreateResponse,\n  RoleDeleteParams,\n  RoleGetParams,\n  RoleGetResponse,\n  RoleListResponse,\n  RoleUpdateParams,\n  RoleUpdateResponse,\n} from '../..';\nimport { SDKResource } from '../../client/client';\nimport { OystehrConfig } from '../../config';\n\nexport class Role extends SDKResource {\n  constructor(config: OystehrConfig) {\n    super(config);\n  }\n  #baseUrlThunk(): string {\n    return this.config.services?.['projectApiUrl'] ?? 'https://project-api.zapehr.com/v1';\n  }\n  /**\n   * 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/).\n   *\n   * Access Policy Action: `IAM:ListAllRoles`\n   * Access Policy Resource: `IAM:Role`\n   */\n  list(request?: OystehrClientRequest): Promise<RoleListResponse> {\n    return this.request('/iam/role', 'get', this.#baseUrlThunk.bind(this))(request);\n  }\n  /**\n   * 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/).\n   *\n   * Access Policy Action: `IAM:CreateRole`\n   * Access Policy Resource: `IAM:Role`\n   */\n  create(params: RoleCreateParams, request?: OystehrClientRequest): Promise<RoleCreateResponse> {\n    return this.request('/iam/role', 'post', this.#baseUrlThunk.bind(this))(params, request);\n  }\n  /**\n   * 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/).\n   *\n   * Access Policy Action: `IAM:GetRole`\n   * Access Policy Resource: `IAM:Role`\n   */\n  get(params: RoleGetParams, request?: OystehrClientRequest): Promise<RoleGetResponse> {\n    return this.request('/iam/role/{roleId}', 'get', this.#baseUrlThunk.bind(this))(params, request);\n  }\n  /**\n   * 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/).\n   *\n   * Access Policy Action: `IAM:UpdateRole`\n   * Access Policy Resource: `IAM:Role`\n   */\n  update(params: RoleUpdateParams, request?: OystehrClientRequest): Promise<RoleUpdateResponse> {\n    return this.request('/iam/role/{roleId}', 'patch', this.#baseUrlThunk.bind(this))(params, request);\n  }\n  /**\n   * 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/).\n   *\n   * Access Policy Action: `IAM:DeleteRole`\n   * Access Policy Resource: `IAM:Role`\n   * Will fail if any entities hold the Role or if Role is assigned as the default patient role for the project\n   */\n  delete(params: RoleDeleteParams, request?: OystehrClientRequest): Promise<void> {\n    return this.request('/iam/role/{roleId}', 'delete', this.#baseUrlThunk.bind(this))(params, request);\n  }\n}\n"],"names":["SDKResource"],"mappings":";;;;AAAA;AAgBM,MAAO,IAAK,SAAQA,kBAAW,CAAA;AACnC,IAAA,WAAA,CAAY,MAAqB,EAAA;QAC/B,KAAK,CAAC,MAAM,CAAC,CAAC;KACf;IACD,aAAa,GAAA;QACX,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,eAAe,CAAC,IAAI,mCAAmC,CAAC;KACvF;AACD;;;;;AAKG;AACH,IAAA,IAAI,CAAC,OAA8B,EAAA;QACjC,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;KACjF;AACD;;;;;AAKG;IACH,MAAM,CAAC,MAAwB,EAAE,OAA8B,EAAA;QAC7D,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAC1F;AACD;;;;;AAKG;IACH,GAAG,CAAC,MAAqB,EAAE,OAA8B,EAAA;QACvD,OAAO,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAClG;AACD;;;;;AAKG;IACH,MAAM,CAAC,MAAwB,EAAE,OAA8B,EAAA;QAC7D,OAAO,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACpG;AACD;;;;;;AAMG;IACH,MAAM,CAAC,MAAwB,EAAE,OAA8B,EAAA;QAC7D,OAAO,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACrG;AACF;;;;"}