@batolye/bdk-core
Version:
Module to provide core utilities for BulusAtolyesi applications and services
69 lines (52 loc) • 1.9 kB
JavaScript
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
});
}
;