unleash-server
Version:
Unleash is an enterprise ready feature toggles service. It provides different strategies for handling feature toggles.
43 lines (42 loc) • 2.57 kB
TypeScript
import { Request, Response } from 'express';
import Controller from '../controller';
import { IUnleashConfig, IUnleashServices } from '../../types';
import { IAuthRequest } from '../unleash-types';
import { IUser } from '../../server-impl';
import { UserSchema } from '../../openapi/spec/user-schema';
import { UsersSchema } from '../../openapi/spec/users-schema';
import { UsersSearchSchema } from '../../openapi/spec/users-search-schema';
import { CreateUserSchema } from '../../openapi/spec/create-user-schema';
import { UpdateUserSchema } from '../../openapi/spec/update-user-schema';
import { PasswordSchema } from '../../openapi/spec/password-schema';
import { IdSchema } from '../../openapi/spec/id-schema';
import { ResetPasswordSchema } from '../../openapi/spec/reset-password-schema';
import { UsersGroupsBaseSchema } from '../../openapi/spec/users-groups-base-schema';
export default class UserAdminController extends Controller {
private flagResolver;
private userService;
private accessService;
private readonly logger;
private emailService;
private resetTokenService;
private settingService;
private openApiService;
private groupService;
readonly unleashUrl: string;
constructor(config: IUnleashConfig, { userService, accessService, emailService, resetTokenService, settingService, openApiService, groupService, }: Pick<IUnleashServices, 'userService' | '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, res: Response<UserSchema>): Promise<void>;
createUser(req: IAuthRequest<unknown, unknown, CreateUserSchema>, res: Response<UserSchema>): Promise<void>;
updateUser(req: IAuthRequest<{
id: string;
}, UserSchema, UpdateUserSchema>, res: Response<UserSchema>): Promise<void>;
deleteUser(req: IAuthRequest, res: Response): Promise<void>;
validateUserPassword(req: IAuthRequest<unknown, unknown, PasswordSchema>, res: Response): Promise<void>;
changeUserPassword(req: IAuthRequest<{
id: string;
}, unknown, PasswordSchema>, res: Response): Promise<void>;
}