UNPKG

unleash-server

Version:

Unleash is an enterprise ready feature flag service. It provides different strategies for handling feature flags.

61 lines 3.67 kB
import type { Request, Response } from 'express'; import Controller from '../controller.js'; import type { IUnleashConfig } from '../../types/index.js'; import type { IUnleashServices } from '../../services/index.js'; import type { IAuthRequest } from '../unleash-types.js'; import type { IUser } from '../../types/index.js'; import { type UserSchema } from '../../openapi/spec/user-schema.js'; import { type UsersSchema } from '../../openapi/spec/users-schema.js'; import { type UsersSearchSchema } from '../../openapi/spec/users-search-schema.js'; import type { CreateUserSchema } from '../../openapi/spec/create-user-schema.js'; import type { UpdateUserSchema } from '../../openapi/spec/update-user-schema.js'; import type { PasswordSchema } from '../../openapi/spec/password-schema.js'; import type { IdSchema } from '../../openapi/spec/id-schema.js'; import { type ResetPasswordSchema } from '../../openapi/spec/reset-password-schema.js'; import { type UsersGroupsBaseSchema } from '../../openapi/spec/users-groups-base-schema.js'; import { type AdminCountSchema } from '../../openapi/spec/admin-count-schema.js'; import { type CreateUserResponseSchema } from '../../openapi/spec/create-user-response-schema.js'; import { type UserAccessOverviewSchema } from '../../openapi/index.js'; export default class UserAdminController extends Controller { private flagResolver; private userService; private accountService; private accessService; private readonly logger; private resetTokenService; private settingService; private openApiService; private groupService; readonly isEnterprise: boolean; constructor(config: IUnleashConfig, { userService, accountService, accessService, resetTokenService, settingService, openApiService, groupService, }: Pick<IUnleashServices, 'userService' | 'accountService' | 'accessService' | 'emailService' | 'resetTokenService' | 'settingService' | 'openApiService' | 'groupService'>); resetUserPassword(req: IAuthRequest<unknown, ResetPasswordSchema, IdSchema>, res: Response<ResetPasswordSchema>): Promise<void>; getUsers(_req: Request, res: Response<UsersSchema>): Promise<void>; anonymiseUsers(users: IUser[]): IUser[]; searchUsers(req: Request, res: Response<UsersSearchSchema>): Promise<void>; getBaseUsersAndGroups(_req: Request, res: Response<UsersGroupsBaseSchema>): Promise<void>; getUser(req: Request<{ id: number; }>, res: Response<UserSchema>): Promise<void>; createUser(req: IAuthRequest<unknown, unknown, CreateUserSchema>, res: Response<CreateUserResponseSchema>): Promise<void>; updateUser(req: IAuthRequest<{ id: number; }, CreateUserResponseSchema, UpdateUserSchema>, res: Response<CreateUserResponseSchema>): Promise<void>; deleteUser(req: IAuthRequest<{ id: number; }>, res: Response): Promise<void>; validateUserPassword(req: IAuthRequest<unknown, unknown, PasswordSchema>, res: Response): Promise<void>; changeUserPassword(req: IAuthRequest<{ id: number; }, unknown, PasswordSchema>, res: Response): Promise<void>; getAdminCount(_req: Request, res: Response<AdminCountSchema>): Promise<void>; getPermissions(req: IAuthRequest<{ id: number; }, unknown, unknown, { project?: string; environment?: string; }>, res: Response<UserAccessOverviewSchema>): Promise<void>; throwIfScimUser({ id, scimId, }: Pick<IUser, 'id' | 'scimId'>): Promise<void>; isScimUser({ id, scimId, }: Pick<IUser, 'id' | 'scimId'>): Promise<boolean>; deleteScimUsers(req: IAuthRequest, res: Response): Promise<void>; } //# sourceMappingURL=user-admin.d.ts.map