@careevolution/mydatahelps-js
Version:
MyDataHelps client to be used by external applications for integrations inside the MyDataHelps platform
116 lines (115 loc) • 7.11 kB
TypeScript
import "../MyDataHelps.css";
import * as Model from "./types";
import { StringMap } from "./types";
export declare class MyDataHelps {
baseUrl: string;
language: string;
token: Model.Token;
tokenExpires: number;
startSurvey(surveyName: string, options?: Model.StartSurveyOptions): void;
completeStep(answer: any): void;
querySurveyAnswers(queryParameters: Model.SurveyAnswersQuery): Promise<Model.SurveyAnswersPage>;
querySurveyResults(queryParameters: Model.SurveyResultsQuery): Promise<Model.SurveyResultsPage>;
deleteSurveyResult(resultID: string): Promise<void>;
querySurveyTasks(queryParameters: Model.SurveyTaskQueryParameters): Promise<Model.SurveyTasksPage>;
queryInboxItems(queryParameters: Model.InboxItemQueryParameters): Promise<Model.InboxItemsPage>;
getInboxItem(id: Model.Guid): Promise<Model.InboxItem>;
updateInboxItem(id: Model.Guid, update: Model.InboxItemUpdate): Promise<Model.InboxItemUpdateResult>;
startEmbeddedSurvey(linkIdentifier: string, surveyName: string, language: string): Promise<any>;
openExternalUrl(url: string): void;
openEmbeddedUrl(url: string): void;
showTab(tabKey: string): void;
openApplication(url: string, options?: Model.OpenApplicationOptions): void;
openSecondaryView(projectId: string, viewKey: string, options?: Model.OpenApplicationOptions): void;
lookupSecondaryView(projectId: string, viewKey: string): Promise<Model.SecondaryView>;
dismiss(): void;
back(): void;
showDashboard(dashboardKey: string, options?: Model.ShowDashboardOptions): void;
showWebVisualization(visualizationKey: string, parameters: object, options: Model.ShowWebVisualizationOptions): void;
showWebVisualizationPdf(visualizationKey: string, parameters: object, options: Model.ShowWebVisualizationPdfOptions): void;
showProject(projectCode: string): void;
joinProject(projectCode: string): void;
on(eventName: Model.EventName, callback: (EventData: any) => void): void;
off(eventName: Model.EventName, callback: (EventData: any) => void): void;
triggerEvent(event: Model.EventData): void;
setActionResult(data: Model.EventData): void;
getParticipantInfo(): Promise<Model.ParticipantInfo>;
persistParticipantInfo(demographics: Partial<Model.ParticipantDemographics> | undefined, customFields: StringMap): Promise<Model.ParticipantInfo>;
getProjectInfo(): Promise<Model.ProjectInfo>;
getDeviceDataPoint(id: Model.Guid): Promise<Model.DeviceDataPoint>;
deleteDeviceDataPoint(id: Model.Guid): Promise<void>;
queryDeviceData(queryParameters: Model.DeviceDataPointQuery): Promise<Model.DeviceDataPointsPage>;
persistDeviceData(deviceDataPoints: Model.PersistableDeviceDataPoint[]): Promise<void>;
getDeviceDataAllDataTypes(enabled?: boolean, namespace?: string): Promise<Model.SupportedDeviceDataType[]>;
queryDeviceDataV2(queryParameters: Model.DeviceDataV2Query): Promise<Model.DeviceDataV2Page>;
queryDeviceDataV2Aggregate(queryParameters: Model.DeviceDataV2AggregateQuery): Promise<Model.DeviceDataV2AggregatePage>;
queryDeviceDataV2DailySleep(queryParameters: Model.DeviceDataV2AggregateQuery): Promise<Model.DeviceDataV2DailySleepPage>;
getDeviceDataV2AllDataTypes(enabled?: boolean, namespace?: string): Promise<Model.SupportedDeviceDataV2DataType[]>;
getExternalAccountProviders(search: string | null, category: string | null, pageSize: number, pageNumber: number): Promise<Model.ExternalAccountProvidersPage>;
connectExternalAccount(externalAccountProviderID: number, options?: Model.ConnectExternalAccountOptions): Promise<void>;
getExternalAccounts(): Promise<Model.ExternalAccount[]>;
refreshExternalAccount(accountID: number): Promise<void>;
deleteExternalAccount(accountID: number): Promise<any>;
getFeaturedProviders(context?: string): Promise<Model.ExternalAccountProvider[]>;
queryNotifications(queryParameters: Model.NotificationQueryParameters): Promise<Model.NotificationsPage>;
queryFitbitDailySummaries(queryParameters: Model.FitbitQuery): Promise<Model.FitbitDailySummariesPage>;
queryFitbitSleepLogs(queryParameters: Model.FitbitQuery): Promise<Model.FitbitSleepLogsPage>;
queryAppleHealthActivitySummaries(queryParameters: Model.AppleHealthQuery): Promise<Model.AppleHealthActivitySummaryPage>;
queryAppleHealthWorkouts(queryParameters: Model.AppleHealthQuery): Promise<Model.AppleHealthWorkoutPage>;
uploadFile(file: File, category: string, fileName?: string): Promise<void>;
queryFiles(queryParameters: Model.UploadedFileQuery): Promise<Model.UploadedFilesPage>;
getFileDownloadUrl(key: string): Promise<Model.DownloadedFile>;
deleteFile(key: string): Promise<void>;
connect(): Promise<void>;
setParticipantAccessToken(token: Model.Token, baseUrl?: string): void;
isStandaloneMode(): boolean;
isEmbeddedMode(): boolean;
enableStandaloneMode(embeddedMode?: boolean, baseUrl?: string): void;
setStatusBarStyle(style: Model.StatusBarStyle): void;
getDeviceInfo(): Promise<Model.DeviceInfo>;
setSupportedLanguages(languages: string[]): void;
getStepConfiguration(): Promise<Model.StepConfiguration>;
getSurveyContext(): Promise<Model.SurveyContext>;
getCurrentSurveyAnswers(): Promise<Model.CurrentSurveyAnswer[]>;
setCurrentLanguage(language: string): void;
getCurrentLanguage(): string;
showGoogleFitSettings(): void;
showHealthConnectSettings(): void;
showHealthConnectPrompt(): void;
getHealthConnectStatus(): Promise<Model.HealthConnectStatus>;
showHealthConnectPhrPrompt(): void;
getHealthConnectPhrStatus(): Promise<Model.HealthConnectPhrStatus>;
requestReview(cooldownDays?: number): void;
trackCustomEvent(event: Model.CustomEventInfo): Promise<void>;
getDataCollectionSettings(): Promise<Model.DataCollectionSettings>;
getDataAvailability(): Promise<Model.DataAvailability>;
invokeCustomApi(customApi: string, method: string, queryParameters: string | string[][] | Record<string, string> | URLSearchParams | null | undefined, jsonResponse: boolean): Promise<any>;
constructor();
private readonly acceptableParentDomains;
private readonly accessTokenRenewalBufferSeconds;
private readonly unsupportedActions;
private readonly supportedEvents;
private readonly supportedLanguages;
private currentMessageID;
private messageHandlers;
private registeredEventHandlers;
private refreshTokenPromise;
private standaloneMode;
private embeddedMode;
private nextMessageID;
private makeUrl;
private makeRequest;
private getSupportedLanguage;
private static validateResponse;
private static escapeParam;
private static reduceArrayAndEscape;
private static convertDateToIsoString;
private static flattenPropertyShallow;
private startEmbeddedSurveyInternal;
private startDelegatedSurvey;
private handleConnectExternalAccountResponse;
private hasEmbeddedModeUrlParameter;
}
declare const mdh: MyDataHelps;
export default mdh;
export * from './types';