@crowdin/app-project-module
Version:
Module that generates for you all common endpoints for serving standalone Crowdin App
76 lines (75 loc) • 6.08 kB
TypeScript
import { IntegrationConfig, IntegrationCredentials, IntegrationFilesSnapshot, IntegrationSyncSettings, IntegrationWebhooks, Provider } from '../../modules/integration/types';
import { CreateJobParams, GetActiveJobsParams, GetAllJobsParams, GetFileTranslationCache, GetFileTranslationCacheByLanguageParams, GetJobParams, GetUnsyncedFiles, IntegrationSyncedData, Job, TranslationCache, UnsyncedFiles, UpdateJobParams, UpdateTranslationCacheParams } from '../../modules/integration/util/types';
import { Config, CrowdinCredentials, UnauthorizedConfig } from '../../types';
import { DB_TYPE, Storage, UserErrors } from '../types';
import { POSTGRESQL_DB, POSTGRESQL_SCHEMA } from './postgresql';
export declare class DrizzleStorage implements Storage {
readonly db: POSTGRESQL_DB;
protected readonly schema: typeof POSTGRESQL_SCHEMA;
protected readonly type: DB_TYPE;
protected readonly migrationPromise: Promise<void>;
protected migrated: boolean;
protected readonly config: Config | UnauthorizedConfig;
constructor({ config, type, delayedMigration, }: {
config: Config | UnauthorizedConfig;
type: DB_TYPE;
delayedMigration?: boolean;
});
migrateDelayed(): Promise<void>;
saveCrowdinCredentials(credentials: CrowdinCredentials): Promise<void>;
updateCrowdinCredentials(credentials: CrowdinCredentials): Promise<void>;
getCrowdinCredentials(id: string): Promise<CrowdinCredentials | undefined>;
getAllCrowdinCredentials(): Promise<CrowdinCredentials[]>;
deleteCrowdinCredentials(id: string): Promise<void>;
saveIntegrationCredentials(id: string, credentials: string, crowdinId: string): Promise<void>;
updateIntegrationCredentials(id: string, credentials: string): Promise<void>;
updateIntegrationManagers(id: string, managers: string): Promise<void>;
getIntegrationCredentials(id: string): Promise<IntegrationCredentials | undefined>;
getAllIntegrationCredentials(crowdinId: string): Promise<IntegrationCredentials[]>;
deleteIntegrationCredentials(id: string): Promise<void>;
deleteAllIntegrationCredentials(crowdinId: string): Promise<void>;
saveMetadata(id: string, metadata: any, crowdinId: string): Promise<void>;
updateMetadata(id: string, metadata: any, crowdinId: string): Promise<void>;
getMetadata(id: string): Promise<any | undefined>;
getAllMetadata(): Promise<any[] | undefined>;
deleteMetadata(id: string): Promise<void>;
getSyncSettingsByProvider(integrationId: string, provider: Provider): Promise<IntegrationSyncSettings | undefined>;
getSyncSettingsBySchedule(type: string, schedule: string): Promise<IntegrationSyncSettings[]>;
saveSyncSettings(files: string, integrationId: string, crowdinId: string, type: string, provider: Provider): Promise<void>;
updateSyncSettings(files: string, integrationId: string, crowdinId: string, type: string, provider: Provider): Promise<void>;
getSyncSettings(integrationId: string, crowdinId: string, type: string, provider: Provider): Promise<IntegrationSyncSettings | undefined>;
saveFilesSnapshot(files: string, integrationId: string, crowdinId: string, provider: Provider): Promise<void>;
updateFilesSnapshot(files: string, integrationId: string, crowdinId: string, provider: Provider): Promise<void>;
getFilesSnapshot(integrationId: string, crowdinId: string, provider: Provider): Promise<IntegrationFilesSnapshot | undefined>;
getAllWebhooks(integrationId: string, crowdinId: string, provider: Provider): Promise<IntegrationWebhooks[] | undefined>;
getWebhooks(fileId: string, integrationId: string, crowdinId: string, provider: Provider): Promise<IntegrationWebhooks | undefined>;
saveWebhooks(fileId: string, integrationId: string, crowdinId: string, provider: Provider): Promise<void>;
deleteWebhooks(fileIds: string[], integrationId: string, crowdinId: string, provider: Provider): Promise<void>;
getAllUserErrors(crowdinId: string, integrationId?: string): Promise<UserErrors[] | undefined>;
saveUserError(action: string, message: string, data: string, createdAt: string, crowdinId: string, integrationId?: string): Promise<void>;
deleteUserErrors(createdAt: string, crowdinId: string, integrationId?: string): Promise<void>;
deleteAllUsersErrorsOlderThan(createdAt: string): Promise<void>;
saveIntegrationConfig(integrationId: string, crowdinId: string, config: string): Promise<void>;
getAllIntegrationConfigs(crowdinId: string): Promise<IntegrationConfig[]>;
getIntegrationConfig(integrationId: string): Promise<IntegrationConfig | undefined>;
updateIntegrationConfig(integrationId: string, config: string): Promise<void>;
createJob(params: CreateJobParams): Promise<string>;
updateJob(params: UpdateJobParams): Promise<void>;
getJob(params: GetJobParams): Promise<Job | undefined>;
getActiveJobs(params: GetActiveJobsParams): Promise<Job[] | undefined>;
deleteFinishedJobs(): Promise<void>;
getAllInProgressJobs(): Promise<Job[] | undefined>;
getAllJobs(params: GetAllJobsParams): Promise<Job[] | undefined>;
saveTranslationCache(params: TranslationCache): Promise<void>;
getFileTranslationCache(params: GetFileTranslationCache): Promise<TranslationCache[] | undefined>;
getFileTranslationCacheByLanguage(params: GetFileTranslationCacheByLanguageParams): Promise<TranslationCache | undefined>;
updateTranslationCache(params: UpdateTranslationCacheParams): Promise<void>;
saveUnsyncedFiles(params: UnsyncedFiles): Promise<void>;
getUnsyncedFiles(params: GetUnsyncedFiles): Promise<UnsyncedFiles | undefined>;
updateUnsyncedFiles(params: UnsyncedFiles): Promise<void>;
saveSyncedData(files: string, integrationId: string, crowdinId: string, type: string): Promise<void>;
updateSyncedData(files: string, integrationId: string, crowdinId: string, type: string): Promise<void>;
getSyncedData(integrationId: string, crowdinId: string, type: string): Promise<IntegrationSyncedData | undefined>;
private toString;
private toNumber;
}