UNPKG

@batolye/bdk-core

Version:

Module to provide core utilities for BulusAtolyesi applications and services

69 lines (52 loc) 1.9 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = _default; var _path = _interopRequireDefault(require("path")); var _debug = _interopRequireDefault(require("debug")); var _awsSdk = _interopRequireDefault(require("aws-sdk")); var _s3BlobStore = _interopRequireDefault(require("s3-blob-store")); var _feathersBlob = _interopRequireDefault(require("feathers-blob")); var _servicesHelper = require("../utils/services-helper"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const modelsPath = _path.default.join(__dirname, "..", "models"); const servicesPath = _path.default.join(__dirname, "..", "services"); const debug = (0, _debug.default)("batolye:bdk-core:services"); async function _default() { const app = this; const storeConfig = app.get("storage"); const authConfig = app.get("authentication"); if (storeConfig) { const client = new _awsSdk.default.S3({ accessKeyId: storeConfig.accessKeyId, secretAccessKey: storeConfig.secretAccessKey }); const bucket = storeConfig.bucket; debug("S3 core storage client created with config ", storeConfig); const blobStore = (0, _s3BlobStore.default)({ client, bucket }); const blobService = (0, _feathersBlob.default)({ Model: blobStore, id: "_id" }); _servicesHelper.createStorageService.call(app, blobService); } if (authConfig) { app.core_createService("users", { modelsPath, servicesPath, // Add required OAuth2 provider perspectives perspectives: ["profile"].concat(app.core_OAuthProviders) }); app.core_createService("authorisations", { servicesPath }); } // We have a global tag/storage service and one by zone if app requires it app.core_createService("tags", { modelsPath, servicesPath }); }