UNPKG

ltijs

Version:

Easily turn your web application into a LTI 1.3 Learning Tool.

35 lines (34 loc) • 1.92 kB
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;