@robotical/appv2-warranty-service-lib
Version:
A tool that gathers data from the Apps and sends it to the Analytics server
45 lines (44 loc) • 3.46 kB
TypeScript
import { LoginToken, RegisteredReport, RegisteredSerialNumber, RegisteredUser, RegisterReportsGetResponse, ZohoTicket, ZohoTicketStatus } from '../types/serviceProgramDatabase';
declare class WarrantyService {
private static instance;
constructor(privateKey: string);
private ticketsQueue;
static getInstance(): WarrantyService;
isSerialNumberRegistered(serialNumber: string): Promise<boolean>;
registerSerialNumber(serialNumber: string, email: string): Promise<boolean>;
private registerSerialNumbers;
getSerialNumber(serialNumber: string): Promise<RegisteredSerialNumber | null>;
removeRegisteredSerialNumber(serialNumber: string): Promise<boolean>;
getPrimaryEmailGivenAlternativeEmail(alternativeEmail: string): Promise<string | null>;
addAlternativeToPrimaryEntry(primaryEmailToBeSet: string, alternativeEmail: string): Promise<boolean>;
removeAlternativeToPrimaryEntry(alternativeEmail: string): Promise<boolean>;
getAlternativeEmailsGivenPrimaryEmail(primaryEmail: string): Promise<string[]>;
addAlternativeEmailToPrimaryEmail(primaryEmail: string, alternativeEmail: string): Promise<boolean>;
removeAlternativeEmailFromPrimaryToAlternativeMap(primaryEmail: string, alternativeEmail: string): Promise<boolean>;
removePrimaryToAlternativeEntry(primaryEmail: string): Promise<boolean>;
getUser(email: string): Promise<RegisteredUser | null>;
registerUser(email: string, establishment: string, serialNumbers: string[]): Promise<boolean>;
removeRegisteredUser(email: string): Promise<boolean>;
addSerialNumberToUser(email: string, serialNumber: string): Promise<boolean>;
appendSerialNumbersToUser(email: string, serialNumbers: string[]): Promise<boolean>;
addRobotNameToSerialNumber(serialNumber: string, name: string): Promise<boolean>;
getEmailGivenSerialNumber(serialNumber: string): Promise<string | null>;
addLoginTokenToUser(email: string): Promise<LoginToken | false>;
getLoginToken(email: string): Promise<LoginToken | undefined>;
setAnalyticsConsent(email: string, consent: boolean): Promise<boolean>;
setAutomatedFaultReportingConsent(email: string, consent: boolean): Promise<boolean>;
getAlternativeEmailsOfRegisteredUser(primaryEmail: string): Promise<string[]>;
addAlternativeEmailToRegisteredUser(primaryEmail: string, alternativeEmail: string): Promise<boolean>;
removeAlternativeEmailFromRegisteredUser(primaryEmail: string, alternativeEmail: string): Promise<boolean>;
getReport(reportId: string, email: string, serialNumber: string): Promise<RegisteredReport | null>;
registerReport(email: string, serialNumber: string, reportTitle: string, reportDescription: string, robotName?: string, robotType?: string): Promise<string | false>;
private addReportToUser;
private removeReportFromUser;
swapPrimaryAndAlternativeEmailsFromMaps(primaryEmail: string, alternativeEmail: string): Promise<boolean>;
changePrimaryEmailOfRegisteredUser(oldEmail: string, newEmail: string): Promise<boolean>;
checkExistenceOfUserAndSerial(email: string, serial: string): Promise<RegisteredUser | null>;
getReportsWithSameTitle(reports: RegisteredReport[], title: string): RegisteredReport[];
getZohoTicketsFromReports(reports: RegisterReportsGetResponse): Promise<ZohoTicket[]>;
updateZohoTicketStatus(ticketId: string, status: ZohoTicketStatus): Promise<boolean>;
}
export default WarrantyService;