@accounter/server
Version:
Accounter GraphQL server
38 lines (37 loc) • 2 kB
TypeScript
import { AdminContextProvider } from '../../admin-context/providers/admin-context.provider.js';
import type { AdminContext } from '../../admin-context/types.js';
import { TenantAwareDBClient } from '../../app-providers/tenant-db-client.js';
import { Auth0ManagementProvider } from '../../auth/providers/auth0-management.provider.js';
import { BusinessUsersProvider } from '../../auth/providers/business-users.provider.js';
import { InvitationsProvider } from '../../auth/providers/invitations.provider.js';
import { SuperAdminProvider } from '../../auth/providers/super-admin.provider.js';
import { AdminBusinessesProvider } from '../../financial-entities/providers/admin-businesses.provider.js';
import { EntityEnsureProvider } from '../../financial-entities/providers/entity-ensure.provider.js';
import type { IGetBootstrapBusinessResult } from '../types.js';
export interface BootstrapClientInput {
businessName: string;
countryCode: string;
locality?: string | null;
dateEstablished?: string | null;
initialAccounterYear?: number | null;
ownerEmail: string;
ownerRole: string;
}
export interface BootstrapClientResult {
adminEntityId: string;
invitationToken: string;
business: IGetBootstrapBusinessResult;
adminContext: AdminContext;
}
export declare class AdminOnboardingProvider {
private db;
private entityEnsure;
private adminContextProvider;
private businessUsersProvider;
private adminBusinessesProvider;
private auth0Management;
private invitationsProvider;
private superAdminProvider;
constructor(db: TenantAwareDBClient, entityEnsure: EntityEnsureProvider, adminContextProvider: AdminContextProvider, businessUsersProvider: BusinessUsersProvider, adminBusinessesProvider: AdminBusinessesProvider, auth0Management: Auth0ManagementProvider, invitationsProvider: InvitationsProvider, superAdminProvider: SuperAdminProvider);
bootstrapNewClient(input: BootstrapClientInput): Promise<BootstrapClientResult>;
}