import { HttpTypes } from "@medusajs/types"; import { Client } from "../client.js"; import { ClientHeaders } from "../types.js"; /** * This class is used to send requests to the RBAC Role API routes. * * @since 2.15.5 */ export declare class RbacRole { /** * @ignore */ private client; /** * @ignore */ constructor(client: Client); /** * This method retrieves a paginated list of RBAC roles. It sends a request to the * List RBAC Roles API route. * * @param queryParams - Filters and pagination configurations. * @param headers - Headers to pass in the request. * @returns The paginated list of RBAC roles. * * @example * To retrieve the list of roles: * * ```ts * sdk.admin.rbacRole.list() * .then(({ roles, count, limit, offset }) => { * console.log(roles) * }) * ``` * * To configure the pagination, pass the `limit` and `offset` query parameters. * * For example, to retrieve only 10 items and skip 10 items: * * ```ts * sdk.admin.rbacRole.list({ * limit: 10, * offset: 10 * }) * .then(({ roles, count, limit, offset }) => { * console.log(roles) * }) * ``` * * Using the `fields` query parameter, you can specify the fields and relations to retrieve * in each role: * * ```ts * sdk.admin.rbacRole.list({ * fields: "id,name,*policies" * }) * .then(({ roles, count, limit, offset }) => { * console.log(roles) * }) * ``` * * @tags rbac * @since 2.15.5 */ list(queryParams?: HttpTypes.AdminRbacRoleListParams, headers?: ClientHeaders): Promise; /** * This method retrieves an RBAC role's details. It sends a request to the * Get RBAC Role API route. * * @param id - The role's ID. * @param query - Configure the fields to retrieve in the role. * @param headers - Headers to pass in the request. * @returns The role's details. * * @example * sdk.admin.rbacRole.retrieve("role_123") * .then(({ role }) => { * console.log(role) * }) * * @tags rbac * @since 2.15.5 */ retrieve(id: string, query?: HttpTypes.AdminRbacRoleParams, headers?: ClientHeaders): Promise; /** * This method creates an RBAC role. It sends a request to the Create RBAC Role * API route. * * @param body - The role's details. * @param query - Configure the fields to retrieve in the created role. * @param headers - Headers to pass in the request * @returns The created role * * @example * sdk.admin.rbacRole.create({ * name: "Editor", * description: "Can edit content" * }) * .then(({ role }) => { * console.log(role) * }) * * @tags rbac * @since 2.15.5 */ create(body: HttpTypes.AdminCreateRbacRole, query?: HttpTypes.AdminRbacRoleParams, headers?: ClientHeaders): Promise; /** * This method updates an RBAC role's details. It sends a request to the * Update RBAC Role API route. * * @param id - The role's ID. * @param body - The data to update in the role. * @param query - Configure the fields to retrieve in the role. * @param headers - Headers to pass in the request. * @returns The role's details. * * @example * sdk.admin.rbacRole.update("role_123", { * name: "Senior Editor" * }) * .then(({ role }) => { * console.log(role) * }) * * @tags rbac * @since 2.15.5 */ update(id: string, body: HttpTypes.AdminUpdateRbacRole, query?: HttpTypes.AdminRbacRoleParams, headers?: ClientHeaders): Promise; /** * This method deletes an RBAC role by its ID. It sends a request to the * Delete RBAC Role API route. * * @param id - The role's ID. * @param headers - Headers to pass in the request. * @returns The deletion's details. * * @example * sdk.admin.rbacRole.delete("role_123") * .then(({ deleted }) => { * console.log(deleted) * }) */ delete(id: string, headers?: ClientHeaders): Promise; /** * This method retrieves a paginated list of policies associated with an RBAC role. * It sends a request to the List Role Policies API route. * * @param roleId - The role's ID. * @param queryParams - Filters and pagination configurations. * @param headers - Headers to pass in the request. * @returns The paginated list of policies. * * @example * sdk.admin.rbacRole.listPolicies("role_123") * .then(({ policies, count, limit, offset }) => { * console.log(policies) * }) */ listPolicies(roleId: string, queryParams?: HttpTypes.AdminRbacPolicyListParams, headers?: ClientHeaders): Promise; /** * This method retrieves a paginated list of users associated with an RBAC role. * It sends a request to the List Role Users API route. * * @param roleId - The role's ID. * @param queryParams - Filters and pagination configurations. * @param headers - Headers to pass in the request. * @returns The paginated list of users. * * @example * sdk.admin.rbacRole.listUsers("role_123") * .then(({ users, count, limit, offset }) => { * console.log(users) * }) */ listUsers(roleId: string, queryParams?: HttpTypes.AdminRbacRoleUserListParams, headers?: ClientHeaders): Promise; /** * This method adds users to an RBAC role. It sends a request to the * Add Role Users API route. * * @param roleId - The role's ID. * @param body - The users to add to the role. * @param headers - Headers to pass in the request. * @returns The role's users. * * @example * sdk.admin.rbacRole.addUsers("role_123", { * users: ["user_123"] * }) * .then(({ users }) => { * console.log(users) * }) */ addUsers(roleId: string, body: HttpTypes.AdminAssignRoleUsers, headers?: ClientHeaders): Promise; /** * This method removes users from an RBAC role. It sends a request to the * Remove Role Users API route. * * @param roleId - The role's ID. * @param body - The users to remove from the role. * @param headers - Headers to pass in the request. * @returns The removal's details. * * @example * sdk.admin.rbacRole.removeUsers("role_123", { * users: ["user_123"] * }) * .then(({ deleted }) => { * console.log(deleted) * }) */ removeUsers(roleId: string, body: HttpTypes.AdminRemoveRoleUsers, headers?: ClientHeaders): Promise; /** * This method adds policies to an RBAC role. It sends a request to the * Add Role Policies API route. * * @param roleId - The role's ID. * @param body - The policies to add to the role. * @param headers - Headers to pass in the request. * @returns The updated role with policies. * * @example * sdk.admin.rbacRole.addPolicies("role_123", { * policies: ["policy_123", "policy_456"] * }) * .then(({ policies }) => { * console.log(policies) * }) */ addPolicies(roleId: string, body: HttpTypes.AdminAddRolePolicies, headers?: ClientHeaders): Promise; /** * This method removes a policy from an RBAC role. It sends a request to the * Remove Role Policy API route. * * @param roleId - The role's ID. * @param policyId - The policy's ID to remove. * @param headers - Headers to pass in the request. * @returns The deletion's details. * * @example * sdk.admin.rbacRole.removePolicy("role_123", "policy_456") * .then(({ deleted }) => { * console.log(deleted) * }) */ removePolicy(roleId: string, policyId: string, headers?: ClientHeaders): Promise; /** * Retrieves the authenticated actor's resolved permission set: a flat list * of `resource:operation` strings with wildcards already expanded. * * @param headers - Headers to pass in the request. * @returns The flat permission list. * * @example * sdk.admin.rbacRole.mePermissions().then(({ permissions }) => { * console.log(permissions) // ["product:read", "customer:read", ...] * }) */ mePermissions(headers?: ClientHeaders): Promise; /** * Lists the roles the authenticated actor is allowed to assign. * * @param queryParams - Filters and pagination configurations. * @param headers - Headers to pass in the request. * @returns The assignable roles. */ listAssignable(queryParams?: HttpTypes.AdminRbacRoleListParams, headers?: ClientHeaders): Promise; } //# sourceMappingURL=rbac-role.d.ts.map