UNPKG

rbac-engine

Version:

Role-based access control engine with policy-based permissions

29 lines 1.42 kB
import { IBaseRepository } from "./base-repo"; import { DynamoDBClient } from "@aws-sdk/client-dynamodb"; import { Policy, Role, User } from "../models"; export declare class DynamoDBRepository implements IBaseRepository { private client; private docClient; private tableName; constructor(client: DynamoDBClient); setupTables(): Promise<void>; createUser(user: User): Promise<User>; getUser(userId: string): Promise<User>; createRole(role: Role): Promise<Role>; getRole(roleId: string): Promise<Role>; assignRoleToUser(userId: string, roleId: string): Promise<User>; createPolicy(policy: Policy): Promise<Policy>; attachPolicyToRole(policyId: string, roleId: string): Promise<void>; getUserPolicies(userId: string): Promise<Policy[]>; getRolePolicies(roleId: string): Promise<Policy[]>; updateRole(role: Role): Promise<Role>; updatePolicy(policy: Policy): Promise<Policy>; deletePolicy(policyId: string): Promise<void>; deleteRole(roleId: string): Promise<void>; detachPolicyFromUser(policyId: string, userId: string): Promise<void>; detachPolicyFromRole(policyId: string, roleId: string): Promise<void>; removeRoleFromUser(userId: string, roleId: string): Promise<void>; attachPolicyToUser(policyId: string, userId: string): Promise<void>; getPolicy(policyId: string): Promise<Policy>; } //# sourceMappingURL=dynamodb-repo.d.ts.map