@materia/users
Version:
Signin/signup your users in your Materia application
79 lines • 3.57 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const token_1 = require("./auth/token");
const session_1 = require("./auth/session");
const connected_user_id_1 = require("./permissions/connected-user-id");
const authenticated_1 = require("./permissions/authenticated");
const is_user_role_1 = require("./permissions/is-user-role");
const add_user_token_entity_1 = require("./init/add-user-token.entity");
const add_user_profile_relation_1 = require("./init/add-user-profile.relation");
const add_user_profile_queries_1 = require("./init/add-user-profile.queries");
const add_user_profile_api_1 = require("./init/add-user-profile.api");
const add_user_token_queries_1 = require("./init/add-user-token.queries");
const add_social_account_entity_1 = require("./init/add-social-account.entity");
const add_social_account_queries_1 = require("./init/add-social-account.queries");
class UserManagementAddon {
constructor(app, config) {
this.app = app;
this.config = config;
}
afterLoadEntities() {
if (this.app.database.disabled) {
this.disabled = true;
return Promise.resolve();
}
if (this.config) {
const promises = [];
if (this.config.method === 'token') {
promises.push(add_user_token_entity_1.addUserTokenEntity(this.app));
}
promises.push(add_social_account_entity_1.addSocialAccountEntity(this.app));
return Promise.all(promises);
}
return Promise.resolve();
}
afterLoadQueries() {
let promise = Promise.resolve();
if (!this.disabled && this.config.user_profile_enabled && this.config.user_profile_entity) {
promise = promise.then(() => add_user_profile_relation_1.addUserProfileRelation(this.app, this.config));
}
if (!this.disabled && this.config.user_profile_enabled && this.config.user_profile_entity) {
promise = promise.then(() => add_user_profile_queries_1.addUserProfileQueries(this.app, this.config));
}
if (!this.disabled && this.config.method === 'token') {
promise = promise.then(() => add_user_token_queries_1.addUserTokenQueries(this.app));
}
if (!this.disabled) {
return promise.then(() => add_social_account_queries_1.addSocialAccountQueries(this.app));
}
else {
return promise;
}
}
afterLoadAPI() {
if (!this.disabled && this.config.user_profile_enabled && this.config.user_profile_entity) {
return add_user_profile_api_1.addUserProfileApi(this.app, this.config);
}
return Promise.resolve();
}
start() {
if (this.disabled) {
return Promise.resolve();
}
authenticated_1.defineAuthenticatedPermission(this.app, this.config);
connected_user_id_1.defineConnectedUserIdPermission(this.app, this.config);
if (this.config && this.config.method === 'token') {
this.auth = new token_1.TokenAuth(this.app, this.config);
}
else {
this.auth = new session_1.SessionAuth(this.app, this.config);
}
is_user_role_1.defineIsUserRolePermissions(this.app);
}
uninstall(app) { }
}
exports.default = UserManagementAddon;
UserManagementAddon.displayName = 'User Management';
UserManagementAddon.logo = 'https://materiahq.github.io/materia-website-content/logo/addons/users.png';
UserManagementAddon.installSettings = false;
//# sourceMappingURL=index.js.map