Moved getting firebase config to API method /api/2.0/settings.json
This commit is contained in:
parent
1c0e201c2c
commit
b4c4625f3f
@ -144,5 +144,14 @@
|
||||
"progressfile": "false",
|
||||
"tempdir": ""
|
||||
}
|
||||
},
|
||||
"firebase": {
|
||||
"apiKey": "",
|
||||
"authDomain": "",
|
||||
"projectId": "",
|
||||
"storageBucket": "",
|
||||
"messagingSenderId": "",
|
||||
"appId": "",
|
||||
"measurementId": ""
|
||||
}
|
||||
}
|
@ -2,6 +2,7 @@ import { makeAutoObservable } from "mobx";
|
||||
import api from "../api";
|
||||
import { ARTICLE_PINNED_KEY, LANGUAGE } from "../constants";
|
||||
import { combineUrl } from "../utils";
|
||||
import FirebaseHelper from "../utils/firebase";
|
||||
import { AppServerConfig } from "../constants";
|
||||
const { proxyURL } = AppServerConfig;
|
||||
|
||||
@ -72,6 +73,15 @@ class SettingsStore {
|
||||
hasShortenService = false;
|
||||
|
||||
customSchemaList = [];
|
||||
firebase = {
|
||||
apiKey: "",
|
||||
authDomain: "",
|
||||
projectId: "",
|
||||
storageBucket: "",
|
||||
messagingSenderId: "",
|
||||
appId: "",
|
||||
measurementId: "",
|
||||
};
|
||||
|
||||
constructor() {
|
||||
makeAutoObservable(this);
|
||||
@ -292,6 +302,10 @@ class SettingsStore {
|
||||
setArticleVisibleOnUnpin = (visible) => {
|
||||
this.isArticleVisibleOnUnpin = visible;
|
||||
};
|
||||
|
||||
get firebaseHelper() {
|
||||
return new FirebaseHelper(this.firebase);
|
||||
}
|
||||
}
|
||||
|
||||
export default SettingsStore;
|
||||
|
@ -1,10 +1,12 @@
|
||||
import firebase from "firebase/app";
|
||||
import "firebase/remote-config";
|
||||
import firebaseConfig from "../../firebase.json";
|
||||
|
||||
class FirebaseHelper {
|
||||
remoteConfig = null;
|
||||
constructor() {
|
||||
firebaseConfig = null;
|
||||
constructor(settings) {
|
||||
this.firebaseConfig = settings;
|
||||
|
||||
if (!this.isEnabled) return;
|
||||
firebase.initializeApp(this.config);
|
||||
|
||||
@ -30,7 +32,7 @@ class FirebaseHelper {
|
||||
}
|
||||
|
||||
get config() {
|
||||
return firebaseConfig;
|
||||
return this.firebaseConfig;
|
||||
}
|
||||
|
||||
get isEnabled() {
|
||||
@ -82,4 +84,4 @@ class FirebaseHelper {
|
||||
}
|
||||
}
|
||||
|
||||
export default new FirebaseHelper();
|
||||
export default FirebaseHelper;
|
@ -313,6 +313,17 @@ namespace ASC.Api.Settings
|
||||
settings.UtcHoursOffset = settings.UtcOffset.TotalHours;
|
||||
settings.OwnerId = Tenant.OwnerId;
|
||||
settings.NameSchemaId = CustomNamingPeople.Current.Id;
|
||||
|
||||
settings.Firebase = new FirebaseWrapper
|
||||
{
|
||||
ApiKey = Configuration["firebase:apiKey"] ?? "",
|
||||
AuthDomain = Configuration["firebase:authDomain"] ?? "",
|
||||
ProjectId = Configuration["firebase:projectId"] ?? "",
|
||||
StorageBucket = Configuration["firebase:storageBucket"] ?? "",
|
||||
MessagingSenderId = Configuration["firebase:messagingSenderId"] ?? "",
|
||||
AppId = Configuration["firebase:appId"] ?? "",
|
||||
MeasurementId = Configuration["firebase:measurementId"] ?? ""
|
||||
};
|
||||
}
|
||||
else
|
||||
{
|
||||
|
21
web/ASC.Web.Api/Models/FirebaseWrapper.cs
Normal file
21
web/ASC.Web.Api/Models/FirebaseWrapper.cs
Normal file
@ -0,0 +1,21 @@
|
||||
|
||||
namespace ASC.Web.Api.Models
|
||||
{
|
||||
public class FirebaseWrapper
|
||||
{
|
||||
public string ApiKey { get; set; }
|
||||
|
||||
public string AuthDomain { get; set; }
|
||||
|
||||
public string ProjectId { get; set; }
|
||||
|
||||
public string StorageBucket { get; set; }
|
||||
|
||||
public string MessagingSenderId { get; set; }
|
||||
|
||||
public string AppId { get; set; }
|
||||
|
||||
public string MeasurementId { get; set; }
|
||||
|
||||
}
|
||||
}
|
@ -29,6 +29,7 @@ using System.Collections.Generic;
|
||||
|
||||
using ASC.Core.Tenants;
|
||||
using ASC.Security.Cryptography;
|
||||
using ASC.Web.Api.Models;
|
||||
|
||||
namespace ASC.Api.Settings
|
||||
{
|
||||
@ -64,6 +65,8 @@ namespace ASC.Api.Settings
|
||||
|
||||
public PasswordHasher PasswordHash { get; set; }
|
||||
|
||||
public FirebaseWrapper Firebase { get; set; }
|
||||
|
||||
public static SettingsWrapper GetSample()
|
||||
{
|
||||
return new SettingsWrapper
|
||||
|
@ -1,10 +0,0 @@
|
||||
{
|
||||
"apiKey": "",
|
||||
"authDomain": "",
|
||||
"databaseURL": "",
|
||||
"projectId": "",
|
||||
"storageBucket": "",
|
||||
"messagingSenderId": "",
|
||||
"appId": "",
|
||||
"measurementId": ""
|
||||
}
|
@ -21,10 +21,8 @@ import i18n from "./i18n";
|
||||
import AppLoader from "@appserver/common/components/AppLoader";
|
||||
import System from "./components/System";
|
||||
import { AppServerConfig } from "@appserver/common/constants";
|
||||
import FirebaseHelper from "./helpers/firebase";
|
||||
import { Snackbar } from "@appserver/components/snackbar";
|
||||
import moment from "moment";
|
||||
import { isMobile } from "react-device-detect";
|
||||
|
||||
const { proxyURL } = AppServerConfig;
|
||||
const homepage = config.homepage;
|
||||
@ -148,7 +146,14 @@ const MyProfileRoute = (props) => (
|
||||
);
|
||||
|
||||
const Shell = ({ items = [], page = "home", ...rest }) => {
|
||||
const { isLoaded, loadBaseInfo, modules, isDesktop, language } = rest;
|
||||
const {
|
||||
isLoaded,
|
||||
loadBaseInfo,
|
||||
modules,
|
||||
isDesktop,
|
||||
language,
|
||||
FirebaseHelper,
|
||||
} = rest;
|
||||
|
||||
useEffect(() => {
|
||||
try {
|
||||
@ -243,6 +248,8 @@ const Shell = ({ items = [], page = "home", ...rest }) => {
|
||||
|
||||
setSnackBarTimer(campaign);
|
||||
|
||||
if (!document.getElementById("main-bar")) return;
|
||||
|
||||
const campaignStr = JSON.stringify(campaign);
|
||||
let skipRender = lastCampaignStr === campaignStr;
|
||||
|
||||
@ -431,6 +438,7 @@ const ShellWrapper = inject(({ auth }) => {
|
||||
isLoaded,
|
||||
modules: auth.moduleStore.modules,
|
||||
isDesktop: auth.settingsStore.isDesktopClient,
|
||||
FirebaseHelper: auth.settingsStore.firebaseHelper,
|
||||
};
|
||||
})(observer(Shell));
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user