Create default store

This commit is contained in:
Sebastian Rindom
2020-06-29 10:47:56 +02:00
parent 5170a7bd83
commit a7951ca29c
3 changed files with 24 additions and 0 deletions
+4
View File
@@ -6,6 +6,7 @@ import modelsLoader from "./models"
import servicesLoader from "./services"
import passportLoader from "./passport"
import pluginsLoader from "./plugins"
import storeLoader from "./store"
import Logger from "./logger"
export default async ({ directory: rootDirectory, expressApp }) => {
@@ -57,6 +58,9 @@ export default async ({ directory: rootDirectory, expressApp }) => {
await apiLoader({ container, rootDirectory, app: expressApp })
Logger.info("API initialized")
await storeLoader({ container })
Logger.info("Store initialized")
return { container, dbConnection, app: expressApp }
}
+7
View File
@@ -0,0 +1,7 @@
/**
* Registers all services in the services directory
*/
export default ({ container }) => {
const storeService = container.resolve("storeService")
return storeService.create()
}
+13
View File
@@ -39,6 +39,19 @@ class StoreService extends BaseService {
return value
}
/**
* Creates a store if it doesn't already exist.
* @return {Promise<Store>} the store.
*/
async create() {
const store = await this.retrieve()
if (!store) {
return this.storeModel_.create({})
}
return store
}
/**
* Retrieve the store settings. There is always a maximum of one store.
* @return {Promise<Store>} the customer document.