UNPKG

revbits-cip-integration

Version:
111 lines (110 loc) 3.1 kB
import { HttpPaginatedResponse, HttpResponse } from './http.interface'; import { PLATFORM } from './types.type'; interface RolePermissions { [key: string]: boolean; } export interface Role { id: string; name: string; description: string; permissions: RolePermissions; createdAt: Date; updatedAt: Date; } type RoleSortableKeys = { [K in keyof Role]: Role[K] extends string | number ? K : never; }[keyof Role]; interface RoleQueryParams { names?: Array<string>; ids?: Array<string>; notIds?: Array<string>; name?: string; description?: string; } export interface HttpGetAllRolesRequest { platform?: PLATFORM; page?: number; sort?: RoleSortableKeys; direction?: string; perPage?: number; query?: RoleQueryParams; search?: string; } export type HttpGetAllRolesResponse = HttpPaginatedResponse<Role>; export interface HttpGetOneRoleRequest { platform?: PLATFORM; id: string; } export type HttpGetOneRoleResponse = HttpResponse<Role>; export interface HttpCreateRole { name: string; description?: string | null; permissions: { [key: string]: boolean; }; isDeletable?: boolean; } export interface HttpCreateRoleRequest { platform?: string; role: HttpCreateRole; } export type HttpCreateRoleResponse = HttpGetOneRoleResponse; export interface HttpCreateBulkRolesRequest { platform?: string; roles: Array<HttpCreateRole>; } export type HttpCreateBulkRolesResponse = HttpGetOneRoleResponse; interface UpdateRoleObj { name?: string; description?: string | null; permissions?: { [key: string]: boolean; }; isDeletable?: boolean; } export interface HttpUpdateRoleRequest { platform?: string; id: string; role: UpdateRoleObj; } export type HttpUpdateRoleResponse = HttpGetOneRoleResponse; interface BulkUpdateSingleRequest { id: string; role: UpdateRoleObj; } export interface HttpUpdateBulkRolesRequest { platform?: string; roles: Array<BulkUpdateSingleRequest>; } export type HttpUpdateBulkRolesResponse = HttpResponse<{ updated: Array<BulkUpdateSingleRequest>; ignoredDueToValidationErrors: Array<BulkUpdateSingleRequest>; }>; export interface HttpDeleteRoleRequest { platform?: string; id: string; } export type HttpDeleteRoleResponse = HttpGetOneRoleResponse; export interface HttpCheckRolesExistenceByNamesRequest { platform?: PLATFORM; names: Array<string>; } interface HttpCheckRolesExistenceByNamesResponseSingleObj { newOnCip: Array<string>; existence: { [name: string]: boolean; }; } export type HttpCheckRolesExistenceByNamesResponse = HttpResponse<HttpCheckRolesExistenceByNamesResponseSingleObj>; export interface HttpCheckRolesExistenceByIdsRequest { platform?: PLATFORM; ids: Array<string>; } interface HttpCheckRolesExistenceByIdsResponseSingleObj { newOnCip: Array<string>; existence: { [id: string]: boolean; }; } export type HttpCheckRolesExistenceByIdsResponse = HttpResponse<HttpCheckRolesExistenceByIdsResponseSingleObj>; export {};