refactor: create function to read admin SDK JSON
This commit is contained in:
27
src/libs/gcloud/getAdminSdkCredentials.ts
Normal file
27
src/libs/gcloud/getAdminSdkCredentials.ts
Normal file
@@ -0,0 +1,27 @@
|
||||
import mapKeys from "lodash.mapkeys";
|
||||
|
||||
import type { Env } from "~/types/env";
|
||||
|
||||
import { Case, changeStringCase } from "../changeStringCase";
|
||||
import { readEnvVariable } from "../readEnvVariable";
|
||||
|
||||
export function getAdminSdkCredentials(env: Env) {
|
||||
return mapKeys(
|
||||
readEnvVariable<AdminSdkCredentials>(env, "ADMIN_SDK_JSON"),
|
||||
(_, key) => changeStringCase(key, Case.snake_case, Case.camelCase),
|
||||
) as unknown as AdminSdkCredentials;
|
||||
}
|
||||
|
||||
export interface AdminSdkCredentials {
|
||||
type: string;
|
||||
projectId: string;
|
||||
privateKeyId: string;
|
||||
privateKey: string;
|
||||
clientEmail: string;
|
||||
clientID: string;
|
||||
authURI: string;
|
||||
tokenURI: string;
|
||||
authProviderX509CertUrl: string;
|
||||
clientX509CertUrl: string;
|
||||
universeDomain: string;
|
||||
}
|
||||
Reference in New Issue
Block a user