UNPKG

@ixo/supamoto-bot-sdk

Version:

An SDK to easily interact with Supamoto bot db

343 lines (342 loc) 15.5 kB
import { PoolClient } from 'pg'; import { IClaim, ICustomer, PoolConfig } from '../types/db'; export declare function createDatabaseClient(params: PoolConfig, key: string): { client: any; transaction: (fn: (client: PoolClient) => Promise<void>) => Promise<void>; query: (fn: (client: any) => Promise<any>) => Promise<any>; claims: { v1: { selectClaim: (params: { claimId: string; }, client?: PoolClient) => Promise<IClaim>; selectClaims: (params: { claimIds: string[]; }, client?: PoolClient) => Promise<import("../types/db").IClaims>; selectClaimsByCustomerId: (params: { customerId: string; }, client?: PoolClient) => Promise<import("../types/db").IClaims>; selectClaimsByCollectionId: (params: { collectionId: string; }, client?: PoolClient) => Promise<import("../types/db").IClaims>; selectClaimsByStatus: (params: { status: IClaim["status"]; }, client?: PoolClient) => Promise<import("../types/db").IClaims>; selectClaimsByCustomerIdAndCollectionId: (params: { customerId: string; collectionId: string; }, client?: PoolClient) => Promise<import("../types/db").IClaims>; insertClaim: (params: { claimId: string; customerId?: string; collectionId: string; status: IClaim["status"]; }, client?: PoolClient) => Promise<any>; upsertClaim: (params: { claimId: string; customerId?: string; collectionId: string; status: IClaim["status"]; }, client?: PoolClient) => Promise<any>; updateClaimStatus: (params: { claimId: string; status: IClaim["status"]; }, client?: PoolClient) => Promise<IClaim>; updateClaimCustomerId: (params: { claimId: string; customerId: string; }, client?: PoolClient) => Promise<IClaim>; deleteClaim: (params: { claimId: string; }, client?: PoolClient) => Promise<any>; }; }; config: { v1: { selectConfig: (params: { id: number; }, client?: PoolClient) => Promise<import("../types/db").IConfig>; selectConfigs: (params: { ids: number[]; }, client?: PoolClient) => Promise<import("../types/db").IConfigs>; selectConfigByKey: (params: { key: string; }, client?: PoolClient) => Promise<import("../types/db").IConfig>; selectConfigsByKey: (params: { key: string; active?: boolean; }, client?: PoolClient) => Promise<import("../types/db").IConfigs>; insertConfig: (params: { key: string; value: string; active?: boolean; }, client?: PoolClient) => Promise<import("../types/db").IConfig>; }; }; customerCredentials: { v1: { selectCustomerCredential: (params: { id: number; }, client?: PoolClient) => Promise<import("../types/db").ICustomerCredential>; selectCustomerCredentials: (params: { ids: number[]; }, client?: PoolClient) => Promise<import("../types/db").ICustomerCredentials>; selectCustomerCredentialsByCustomerId: (params: { customerId: string; }, client?: PoolClient) => Promise<import("../types/db").ICustomerCredentials>; selectCustomerCredentialsByStatus: (params: { status: string; }, client?: PoolClient) => Promise<import("../types/db").ICustomerCredentials>; insertCustomerCredential: (params: { customerId: string; status: string; }, client?: PoolClient) => Promise<import("../types/db").ICustomerCredential>; updateCustomerCredential: (params: { id: number; status: string; }, client?: PoolClient) => Promise<import("../types/db").ICustomerCredential>; deleteCustomerCredential: (params: { id: number; }, client?: PoolClient) => Promise<import("../types/db").ICustomerCredential>; }; }; customerOnboardings: { v1: { selectCustomerOnboarding: (params: { customerId: string; }, client?: PoolClient) => Promise<import("../types/db").ICustomerOnboarding>; selectCustomerOnboardings: (params: { customerIds: string[]; }, client?: PoolClient) => Promise<import("../types/db").ICustomerOnboardings>; selectCustomerOnboardingsByStatus: (params: { status: string; }, client?: PoolClient) => Promise<import("../types/db").ICustomerOnboardings>; insertCustomerOnboarding: (params: { customerId: string; status: string; }, client?: PoolClient) => Promise<import("../types/db").ICustomerOnboarding>; updateCustomerOnboarding: (params: { id: number; status: string; }, client?: PoolClient) => Promise<import("../types/db").ICustomerOnboarding>; deleteCustomerOnboarding: (params: { id: number; }, client?: PoolClient) => Promise<import("../types/db").ICustomerOnboarding>; }; }; customerPhones: { v1: { selectCustomerPhone: (params: { id: string; }, client?: PoolClient) => Promise<import("../types/db").ICustomerPhone>; selectCustomerPhones: (params: { ids: string[]; }, client?: PoolClient) => Promise<import("../types/db").ICustomerPhones>; selectCustomerPhonesByCustomerId: (params: { customerId: string; }, client?: PoolClient) => Promise<import("../types/db").ICustomerPhones>; selectCustomerPhonesByPhoneId: (params: { phoneId: string; }, client?: PoolClient) => Promise<import("../types/db").ICustomerPhones>; insertCustomerPhone: (params: { customerId: string; phoneId: string; isPrimary: boolean; }, client?: PoolClient) => Promise<import("../types/db").ICustomerPhone>; updateCustomerPhoneIsPrimary: (params: { id: string; isPrimary: boolean; }, client?: PoolClient) => Promise<import("../types/db").ICustomerPhone>; deleteCustomerPhone: (params: { id: string; }, client?: PoolClient) => Promise<import("../types/db").ICustomerPhone>; }; }; customers: { v1: { selectCustomer: (params: { customerId: string; }, client?: PoolClient) => Promise<import("../types/db").ICustomerDecrypted>; selectCustomers: (params: { customerIds: string[]; }, client?: PoolClient) => Promise<import("../types/db").ICustomersDecrypted>; insertCustomer: (params: { customerId: string; email?: string; pin?: string; nationalId?: string; preferredLanguage?: string; address?: string; country?: string; givenName?: string; familyName?: string; profileImage?: string; status: ICustomer["status"]; errorMessage?: string; }, client?: PoolClient) => Promise<import("../types/db").ICustomerDecrypted>; updateCustomer: (params: { customerId: string; email?: string; pin?: string; nationalId?: string; preferredLanguage?: string; address?: string; country?: string; givenName?: string; familyName?: string; profileImage?: string; status?: ICustomer["status"]; errorMessage?: string; }, client?: PoolClient) => Promise<import("../types/db").ICustomerDecrypted>; deleteCustomer: (params: { customerId: string; }, client?: PoolClient) => Promise<import("../types/db").ICustomerDecrypted>; }; }; householdCredentials: { v1: { selectHouseholdCredential: (params: { id: number; }, client?: PoolClient) => Promise<import("../types/db").IHouseholdCredential>; selectHouseholdCredentials: (params: { ids: number[]; }, client?: PoolClient) => Promise<import("../types/db").IHouseholdCredentials>; selectHouseholdCredentialsByHouseholdEntityDid: (params: { householdEntityDid: string; }, client?: PoolClient) => Promise<import("../types/db").IHouseholdCredentials>; insertHouseholdCredential: (params: { householdEntityDid: string; status: string; }, client?: PoolClient) => Promise<import("../types/db").IHouseholdCredential>; updateHouseholdCredential: (params: { id: number; status: string; }, client?: PoolClient) => Promise<import("../types/db").IHouseholdCredential>; deleteHouseholdCredential: (params: { id: number; }, client?: PoolClient) => Promise<import("../types/db").IHouseholdCredential>; }; }; householdEntities: { v1: { selectHouseholdEntity: (params: { did: string; }, client?: PoolClient) => Promise<import("../types/db").IHouseholdEntity>; selectHouseholdEntities: (params: { dids: string[]; }, client?: PoolClient) => Promise<import("../types/db").IHouseholdEntities>; selectHouseholdEntitiesByIxoAccount: (params: { ixoAccount: string; }, client?: PoolClient) => Promise<import("../types/db").IHouseholdEntities>; insertHouseholdEntity: (params: { did: string; ixoAccount: string; matrixRoomId?: string; }, client?: PoolClient) => Promise<import("../types/db").IHouseholdEntity>; updateHouseholdEntity: (params: { did: string; ixoAccount: string; matrixRoomId?: string; }, client?: PoolClient) => Promise<import("../types/db").IHouseholdEntity>; deleteHouseholdEntity: (params: { did: string; }, client?: PoolClient) => Promise<import("../types/db").IHouseholdEntity>; }; }; ixoAccounts: { v1: { selectIxoAccount: (params: { address: string; }, client?: PoolClient) => Promise<import("../types/db").IIxoAccount>; selectIxoAccounts: (params: { addresses: string[]; }, client?: PoolClient) => Promise<import("../types/db").IIxoAccounts>; selectIxoAccountsByCustomerId: (params: { customerId: string; }, client?: PoolClient) => Promise<import("../types/db").IIxoAccounts>; selectIxoAccountsByDid: (params: { did: string; }, client?: PoolClient) => Promise<import("../types/db").IIxoAccounts>; insertIxoAccount: (params: { address: string; did: string; customerId: string; encryptedMnemonic: string; isPrimary: boolean; }, client?: PoolClient) => Promise<import("../types/db").IIxoAccount>; updateIxoAccount: (params: { address: string; did: string; customerId: string; encryptedMnemonic: string; isPrimary: boolean; }, client?: PoolClient) => Promise<import("../types/db").IIxoAccount>; deleteIxoAccount: (params: { address: string; }, client?: PoolClient) => Promise<import("../types/db").IIxoAccount>; }; }; matrixAccounts: { v1: { selectMatrixAccount: (params: { address: string; }, client?: PoolClient) => Promise<import("../types/db").IMatrixAccount>; selectMatrixAccounts: (params: { addresses: string[]; }, client?: PoolClient) => Promise<import("../types/db").IMatrixAccounts>; selectMatrixAccountsByUsername: (params: { username: string; }, client?: PoolClient) => Promise<import("../types/db").IMatrixAccounts>; insertMatrixAccount: (params: { address: string; username: string; encryptedPassword: string; tempEncryptedMnemonic?: string; encryptedPin?: string; encryptedAccessToken?: string; roomId?: string; }, client?: PoolClient) => Promise<import("../types/db").IMatrixAccount>; updateMatrixAccount: (params: { address: string; tempEncryptedMnemonic?: string; encryptedPin?: string; encryptedAccessToken?: string; roomId?: string; }, client?: PoolClient) => Promise<import("../types/db").IMatrixAccount>; deleteMatrixAccount: (params: { address: string; }, client?: PoolClient) => Promise<import("../types/db").IMatrixAccount>; }; }; phones: { v1: { selectPhone: (params: { id: string; }, client?: PoolClient) => Promise<import("../types/db").IPhoneDecrypted>; selectPhones: (params: { ids: string[]; }, client?: PoolClient) => Promise<import("../types/db").IPhonesDecrypted>; insertPhone: (params: { phoneNumber: string; firstSeen?: string; lastSeen?: string; numberOfVisits?: number; }, client?: PoolClient) => Promise<import("../types/db").IPhoneDecrypted>; updatePhoneLastSeen: (params: { id: string; lastSeen: string; }, client?: PoolClient) => Promise<import("../types/db").IPhoneDecrypted>; updatePhoneNumberOfVisits: (params: { id: string; numberOfVisits: number; }, client?: PoolClient) => Promise<import("../types/db").IPhoneDecrypted>; updatePhone: (params: { id: string; lastSeen?: string; numberOfVisits?: number; }, client?: PoolClient) => Promise<import("../types/db").IPhoneDecrypted>; deletePhone: (params: { id: string; }, client?: PoolClient) => Promise<import("../types/db").IPhoneDecrypted>; }; }; };