n8n
Version:
n8n Workflow Automation Tool
104 lines (103 loc) • 5.27 kB
TypeScript
import { RoleChangeRequestDto, SettingsUpdateRequestDto, UsersListFilterDto } from '@n8n/api-types';
import { Logger } from '@n8n/backend-common';
import { ProjectRepository, SharedCredentialsRepository, SharedWorkflowRepository, UserRepository, AuthenticatedRequest } from '@n8n/db';
import { Response } from 'express';
import { AuthService } from '../auth/auth.service';
import { CredentialsService } from '../credentials/credentials.service';
import { EventService } from '../events/event.service';
import { ExternalHooks } from '../external-hooks';
import { ProvisioningService } from '../modules/provisioning.ee/provisioning.service.ee';
import { UserRequest } from '../requests';
import { JwtService } from '../services/jwt.service';
import { OwnershipTransferService } from '../services/ownership-transfer/ownership-transfer.service';
import { UrlService } from '../services/url.service';
import { UserService } from '../services/user.service';
import { WorkflowService } from '../workflows/workflow.service';
export declare class UsersController {
private readonly logger;
private readonly externalHooks;
private readonly sharedCredentialsRepository;
private readonly sharedWorkflowRepository;
private readonly userRepository;
private readonly authService;
private readonly userService;
private readonly projectRepository;
private readonly workflowService;
private readonly credentialsService;
private readonly eventService;
private readonly jwtService;
private readonly urlService;
private readonly provisioningService;
private readonly ownershipTransferService;
constructor(logger: Logger, externalHooks: ExternalHooks, sharedCredentialsRepository: SharedCredentialsRepository, sharedWorkflowRepository: SharedWorkflowRepository, userRepository: UserRepository, authService: AuthService, userService: UserService, projectRepository: ProjectRepository, workflowService: WorkflowService, credentialsService: CredentialsService, eventService: EventService, jwtService: JwtService, urlService: UrlService, provisioningService: ProvisioningService, ownershipTransferService: OwnershipTransferService);
static ERROR_MESSAGES: {
readonly CHANGE_ROLE: {
readonly NO_USER: 'Target user not found';
readonly NO_ADMIN_ON_OWNER: 'Admin cannot change role on global owner';
readonly NO_OWNER_ON_OWNER: 'Owner cannot change role on global owner';
readonly CANNOT_CHANGE_OWN_ROLE: 'Cannot change your own global role';
};
};
private removeSupplementaryFields;
listUsers(req: AuthenticatedRequest, _res: Response, listQueryOptions: UsersListFilterDto): Promise<{
count: number;
items: {
id: string;
firstName?: string | null | undefined;
lastName?: string | null | undefined;
email?: string | null | undefined;
role?: string | undefined;
isPending?: boolean | undefined;
isOwner?: boolean | undefined;
signInType?: string | undefined;
settings?: {
isOnboarded?: boolean | undefined;
firstSuccessfulWorkflowId?: string | undefined;
userActivated?: boolean | undefined;
userActivatedAt?: number | undefined;
allowSSOManualLogin?: boolean | undefined;
npsSurvey?: {
lastShownAt: number;
responded: true;
} | {
lastShownAt: number;
waitingForResponse: true;
ignoredCount: number;
} | undefined;
easyAIWorkflowOnboarded?: boolean | undefined;
userClaimedAiCredits?: boolean | undefined;
dismissedCallouts?: Record<string, boolean> | undefined;
} | null | undefined;
personalizationAnswers?: import("zod").objectOutputType<{}, import("zod").ZodTypeAny, "passthrough"> | null | undefined;
projectRelations?: {
id: string;
role: string;
name: string;
icon?: {
type: "emoji" | "icon";
value: string;
color?: string | undefined;
} | null | undefined;
}[] | null | undefined;
mfaEnabled?: boolean | undefined;
lastActiveAt?: string | null | undefined;
inviteAcceptUrl?: string | undefined;
isManagedByEnv?: boolean | undefined;
}[];
}>;
getUserPasswordResetLink(req: UserRequest.PasswordResetLink): Promise<{
link: string;
}>;
generateInviteLink(req: AuthenticatedRequest<{
id: string;
}, {}, {}, {}>, _res: Response): Promise<{
link: string;
}>;
updateUserSettings(_req: AuthenticatedRequest, _res: Response, payload: SettingsUpdateRequestDto, id: string): Promise<import("n8n-workflow").IUserSettings | null>;
deleteUser(req: UserRequest.Delete): Promise<{
success: boolean;
}>;
changeGlobalRole(req: AuthenticatedRequest, _: Response, payload: RoleChangeRequestDto, id: string): Promise<{
success: boolean;
}>;
}