@accounter/server
Version:
Accounter GraphQL server
24 lines (23 loc) • 855 B
TypeScript
import { TenantAwareDBClient } from '../../app-providers/tenant-db-client.js';
import { AuditLogsProvider } from '../../common/providers/audit-logs.provider.js';
import { AuthContextProvider } from './auth-context.provider.js';
export type ApiKeyRecord = {
id: string;
name: string;
roleId: string;
lastUsedAt: Date | null;
createdAt: Date;
};
export declare class ApiKeysProvider {
private db;
private authContextProvider;
private auditLogsProvider;
constructor(db: TenantAwareDBClient, authContextProvider: AuthContextProvider, auditLogsProvider: AuditLogsProvider);
generateApiKey(name: string, roleId: string): Promise<{
apiKey: string;
record: ApiKeyRecord;
}>;
listApiKeys(): Promise<ApiKeyRecord[]>;
revokeApiKey(id: string): Promise<boolean>;
private requireBusinessOwner;
}