ltijs
Version:
Easily turn your web application into a LTI 1.3 Learning Tool.
35 lines (34 loc) • 1.92 kB
TypeScript
import type { Logger } from '#services/logger/logger.types';
import type { AccessTokenRecord, DatabaseManager, IdTokenClaims, IdTokenRecord, PlatformAttributes, PlatformFilter, PlatformRecord } from '#services/database-manager/database-manager.types';
import type { MongoConnectionConfig } from '#services/database-manager/mongo/mongo-database-manager.types';
export declare class MongoDatabaseManager implements DatabaseManager {
private readonly LOG_COMPONENT;
private readonly CONNECTED_EVENT;
private readonly OPEN_EVENT;
private readonly ERROR_EVENT;
private readonly RECONNECTED_EVENT;
private readonly DISCONNECTED_EVENT;
private readonly url;
private readonly connectionOptions;
private readonly logger;
private deployed;
constructor(logger: Logger, config: MongoConnectionConfig);
listen(): Promise<void>;
close(): Promise<void>;
getPlatformByUrlAndClientId(url: string, clientId: string): Promise<PlatformRecord | undefined>;
getPlatforms(filter?: PlatformFilter): Promise<PlatformRecord[]>;
getPlatformById(id: string): Promise<PlatformRecord | undefined>;
savePlatform(platform: PlatformAttributes): Promise<string>;
updatePlatformById(id: string, fields: Partial<PlatformAttributes>): Promise<void>;
deletePlatformById(id: string): Promise<void>;
getAccessToken(platformUrl: string, clientId: string, scopes: string): Promise<AccessTokenRecord | undefined>;
saveAccessToken(platformUrl: string, clientId: string, scopes: string, token: AccessTokenRecord): Promise<string>;
getIdToken(id: string): Promise<IdTokenRecord | undefined>;
saveIdToken(token: IdTokenClaims): Promise<string>;
consumeNonce(nonce: string): Promise<boolean>;
saveNonce(nonce: string): Promise<string>;
private ensureDeployed;
private buildPlatformQuery;
private toPlatformRecord;
}
export default MongoDatabaseManager;