n8n
Version:
n8n Workflow Automation Tool
56 lines (55 loc) • 2.76 kB
TypeScript
import type { RoleChangeRequestDto } from '@n8n/api-types';
import { Logger } from '@n8n/backend-common';
import { GlobalConfig } from '@n8n/config';
import type { AuthIdentity, PublicUser } from '@n8n/db';
import { User, UserRepository, ProjectRepository } from '@n8n/db';
import type { IUserSettings } from 'n8n-workflow';
import { EventService } from '../events/event.service';
import type { Invitation } from '../interfaces';
import { PostHogClient } from '../posthog';
import type { UserRequest } from '../requests';
import { UrlService } from '../services/url.service';
import { UserManagementMailer } from '../user-management/email';
import { JwtService } from './jwt.service';
import { OwnershipService } from './ownership.service';
import { ProjectService } from './project.service.ee';
import { PublicApiKeyService } from './public-api-key.service';
import { RoleService } from './role.service';
export declare class UserService {
private readonly logger;
private readonly userRepository;
private readonly projectRepository;
private readonly mailer;
private readonly urlService;
private readonly eventService;
private readonly ownershipService;
private readonly publicApiKeyService;
private readonly roleService;
private readonly globalConfig;
private readonly jwtService;
private readonly projectService;
constructor(logger: Logger, userRepository: UserRepository, projectRepository: ProjectRepository, mailer: UserManagementMailer, urlService: UrlService, eventService: EventService, ownershipService: OwnershipService, publicApiKeyService: PublicApiKeyService, roleService: RoleService, globalConfig: GlobalConfig, jwtService: JwtService, projectService: ProjectService);
update(userId: string, data: Partial<User>): Promise<void>;
getManager(): import("@n8n/db").EntityManager;
assertGetUsersAccess(user: User, projectId?: string): Promise<void>;
updateSettings(userId: string, newSettings: Partial<IUserSettings>): Promise<void>;
findUserWithAuthIdentities(userId: string): Promise<User>;
findSsoIdentity(userId: string): Promise<AuthIdentity | undefined>;
toPublic(user: User, options?: {
posthog?: PostHogClient;
withScopes?: boolean;
mfaAuthenticated?: boolean;
}): Promise<PublicUser>;
private addFeatureFlags;
private sendEmails;
inviteUsers(owner: User, invitations: Invitation[]): Promise<{
usersInvited: UserRequest.InviteResponse[];
usersCreated: string[];
}>;
changeUserRole(user: User, newRole: RoleChangeRequestDto): Promise<void>;
private processTokenBasedInvite;
getInvitationIdsFromPayload(token: string): Promise<{
inviterId: string;
inviteeId: string;
}>;
}