UNPKG

@crowdin/app-project-module

Version:

Module that generates for you all common endpoints for serving standalone Crowdin App

76 lines (75 loc) 5.84 kB
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 { CrowdinCredentials } from '../types'; import { D1_DB } from './drizzle/d1/types'; import { POSTGRESQL_DB } from './drizzle/postgresql'; import { SQLITE_DB } from './drizzle/sqlite'; export interface UserErrors { id: number; action: string; message: string; data: any; createdAt: string; crowdinId: string; integrationId?: string; } export type DB_TYPE = 'sqlite' | 'postgresql' | 'd1'; export type DRIZZLE_DB = SQLITE_DB | POSTGRESQL_DB | D1_DB; export interface Storage { db: DRIZZLE_DB; 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(date: string, crowdinId: string, integrationId?: string): Promise<void>; deleteAllUsersErrorsOlderThan(date: 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>; }