UNPKG

tanam

Version:

Pluggable CMS for Firebase

59 lines 2.77 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); const admin = require("firebase-admin"); const document_type_service_1 = require("../services/document-type.service"); const template_service_1 = require("../services/template.service"); const theme_service_1 = require("../services/theme.service"); function getSiteInfo() { return __awaiter(this, void 0, void 0, function* () { const siteInfoDoc = yield admin.firestore().collection('tanam').doc(process.env.GCLOUD_PROJECT).get(); return siteInfoDoc.data(); }); } exports.getSiteInfo = getSiteInfo; function createDefaultSiteInfo() { return __awaiter(this, void 0, void 0, function* () { const siteId = process.env.GCLOUD_PROJECT; const defaultDomains = [`${process.env.GCLOUD_PROJECT}.firebaseapp.com`, `${process.env.GCLOUD_PROJECT}.web.app`]; console.log(`[createDefaultSiteInfo] ${defaultDomains}`); const siteInfoData = { id: siteId, defaultLanguage: 'en', languages: ['en'], isCustomDomain: false, domains: defaultDomains, primaryDomain: defaultDomains[0], analytics: '', theme: 'default', title: process.env.GCLOUD_PROJECT }; return admin.firestore().collection('tanam').doc(siteId).set(siteInfoData); }); } exports.createDefaultSiteInfo = createDefaultSiteInfo; function initializeSite(force = false) { return __awaiter(this, void 0, void 0, function* () { const siteInfoDoc = admin.firestore().collection('tanam').doc(process.env.GCLOUD_PROJECT); const siteIsSetup = (yield siteInfoDoc.get()).exists; if (siteIsSetup && !force) { return null; } console.log(`[registerHost] Site is not setup yet.`); return Promise.all([ createDefaultSiteInfo(), document_type_service_1.createDefaultDocuments(), theme_service_1.createDefaultTheme(), template_service_1.createDefaultTemplates(), ]); }); } exports.initializeSite = initializeSite; //# sourceMappingURL=site-info.service.js.map