UNPKG

@materia/users

Version:

Signin/signup your users in your Materia application

79 lines 3.57 kB
"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