UNPKG

firebase-app-distribution

Version:
1 lines 2.52 kB
{"version":3,"sources":["../src/releases/operations.ts"],"sourcesContent":["import { FirebaseAppDistribution } from \"../\";\r\nimport {\r\n APP_DISTRIBUTION_ENDPOINT,\r\n ENDPOINT_VERSION,\r\n makeRequest,\r\n} from \"../utils\";\r\n\r\ntype UploadReleaseResult =\r\n | \"UPLOAD_RELEASE_RESULT_UNSPECIFIED\"\r\n | \"RELEASE_CREATED\"\r\n | \"RELEASE_UPDATED\"\r\n | \"RELEASE_UNMODIFIED\";\r\n\r\nexport interface Release {\r\n name: string;\r\n releaseNotes?: string;\r\n displayVersion: string;\r\n buildVersion: string;\r\n createTime: Date;\r\n firebaseConsoleUri: string;\r\n testingUri: string;\r\n binaryDownloadUri: string;\r\n updateTime?: string;\r\n expireTime?: string;\r\n}\r\n\r\nexport interface Operation {\r\n name: string;\r\n done?: boolean;\r\n error?: {\r\n code: number;\r\n message: string;\r\n status: string;\r\n };\r\n response?: {\r\n \"@type\": string;\r\n result: UploadReleaseResult;\r\n release: Release;\r\n };\r\n metadata?: any;\r\n}\r\n\r\nfunction isValidOperationName(operationName: string): boolean {\r\n const regex =\r\n /^projects\\/[^/]+\\/apps\\/[^/]+\\/releases\\/[^/]+\\/operations\\/[^/]+$/;\r\n return regex.test(operationName);\r\n}\r\n\r\nexport class Operations {\r\n private parent: FirebaseAppDistribution;\r\n\r\n constructor(parent: FirebaseAppDistribution) {\r\n this.parent = parent;\r\n }\r\n\r\n async get(operationName: string): Promise<Operation> {\r\n if (!isValidOperationName(operationName)) {\r\n throw new Error(`Invalid operation name: ${operationName}`);\r\n }\r\n\r\n const accessToken = await this.parent.getAccessToken();\r\n const url = new URL(\r\n `${APP_DISTRIBUTION_ENDPOINT}/${ENDPOINT_VERSION}/${operationName}`,\r\n );\r\n\r\n const response = await makeRequest<Operation>(url.toString(), {\r\n headers: {\r\n authorization: `Bearer ${accessToken}`,\r\n },\r\n });\r\n\r\n return response;\r\n }\r\n}\r\n"],"mappings":";;;;;;;;AA0CA,SAAS,qBAAqB,eAAgC;AAC5D,QAAM,QACJ;AACF,SAAO,MAAM,KAAK,aAAa;AACjC;AAEO,IAAM,aAAN,MAAiB;AAAA,EAGtB,YAAY,QAAiC;AAC3C,SAAK,SAAS;AAAA,EAChB;AAAA,EAEM,IAAI,eAA2C;AAAA;AACnD,UAAI,CAAC,qBAAqB,aAAa,GAAG;AACxC,cAAM,IAAI,MAAM,2BAA2B,aAAa,EAAE;AAAA,MAC5D;AAEA,YAAM,cAAc,MAAM,KAAK,OAAO,eAAe;AACrD,YAAM,MAAM,IAAI;AAAA,QACd,GAAG,yBAAyB,IAAI,gBAAgB,IAAI,aAAa;AAAA,MACnE;AAEA,YAAM,WAAW,MAAM,YAAuB,IAAI,SAAS,GAAG;AAAA,QAC5D,SAAS;AAAA,UACP,eAAe,UAAU,WAAW;AAAA,QACtC;AAAA,MACF,CAAC;AAED,aAAO;AAAA,IACT;AAAA;AACF;","names":[]}