gcf-helper
Version:
Google Cloud Functions Helper
39 lines • 1.62 kB
TypeScript
import * as express from "express";
import { FunctionOptions } from "./interfaces/FunctionOptions";
export default class GCFHelper {
functionOptions: FunctionOptions;
private readonly metricsHandler;
private readonly errorHandler;
private configLoaded;
constructor(functionOptions: FunctionOptions | undefined | null);
/**
* used for tests, is automatically handled otherwise
*/
parseConfig(): Promise<void>;
handleError(error: Error, eventPayload?: any): Promise<void>;
validateAPIFSRequest(request: express.Request, eventPayload?: any): Promise<void>;
validateAPIFSRequestNoError(request: express.Request, response?: express.Response): Promise<boolean>;
writeBigQueryRows(rows: any[], etl?: (row: any) => {
[key: string]: any;
}, eventPayload?: any, datasetName?: string, tableName?: string): Promise<void>;
getPubSubDataFromEvent(event: any): any;
sqlQuery(queryString: string, params?: any[]): Promise<any>;
metricsIncCounter(metricName: string, value?: number, labels?: {
[labelName: string]: string;
}): Promise<boolean>;
metricsSetGauge(metricName: string, value?: number, labels?: {
[labelName: string]: string;
}): Promise<boolean>;
getConfig(): FunctionOptions;
kill(): void;
private hasPubSubClient;
private hasBigQueryClient;
private hasSqlPool;
private isRequestAuthorizationValid;
private canPublish;
private canPublishMetrics;
private canWriteToBigQuery;
private ensureConfigAdapted;
private ensureMetricsReady;
}
//# sourceMappingURL=GCFHelper.d.ts.map