UNPKG

obrigado-react-admin-backend-utils

Version:
77 lines 3.55 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); const BaseAdminResourceResolver_1 = require("../BaseAdminResourceResolver"); const type_graphql_1 = require("type-graphql"); const GQLAdministrator_1 = require("../types/GQLAdministrator"); const GQLAdministratorInput_1 = require("../types/GQLAdministratorInput"); const Administrator_1 = require("../models/Administrator"); const apollo_server_errors_1 = require("apollo-server-errors"); const EntityUpdateHelper_1 = require("../EntityUpdateHelper"); const bcrypt = require("bcrypt"); const RoleConfig_1 = require("../roles/RoleConfig"); const __1 = require(".."); const AdminDataBaseResolver = BaseAdminResourceResolver_1.createAdminResolver({ entity: Administrator_1.Administrator, return: GQLAdministrator_1.GQLAdministrator, create: GQLAdministratorInput_1.GQLAdministratorInput, update: GQLAdministratorInput_1.GQLAdministratorInput }); let AdminDataResolver = class AdminDataResolver extends AdminDataBaseResolver { async update(id, data, context) { // @ts-ignore let entity = await Administrator_1.Administrator.findOne({ where: { id } }); if (!entity) throw new apollo_server_errors_1.ApolloError('Entity not found for id ' + id, 'NOT_FOUND'); await EntityUpdateHelper_1.EntityUpdateHelper.update(entity, data, { ignore: ['password'] }); if (data.password) entity.password = bcrypt.hashSync(data.password, 10); await entity.save(); return entity; } async create(data, context) { // @ts-ignore let entity = new Administrator_1.Administrator(); await EntityUpdateHelper_1.EntityUpdateHelper.update(entity, data, { ignore: ['password'] }); if (data.password) entity.password = bcrypt.hashSync(data.password, 10); await entity.save(); return entity; } permissions(admin) { return RoleConfig_1.RoleConfig.getPermissions(admin.role); } async getRoles() { return RoleConfig_1.RoleConfig.getRolesList(); } async role(admin) { var _a; return (_a = RoleConfig_1.RoleConfig.getRole(admin.role)) === null || _a === void 0 ? void 0 : _a.id; } }; tslib_1.__decorate([ type_graphql_1.FieldResolver(type => [String]), tslib_1.__param(0, type_graphql_1.Root()), tslib_1.__metadata("design:type", Function), tslib_1.__metadata("design:paramtypes", [Administrator_1.Administrator]), tslib_1.__metadata("design:returntype", void 0) ], AdminDataResolver.prototype, "permissions", null); tslib_1.__decorate([ type_graphql_1.Authorized('admin'), type_graphql_1.Query((type) => [__1.GQLAdminRole]), tslib_1.__metadata("design:type", Function), tslib_1.__metadata("design:paramtypes", []), tslib_1.__metadata("design:returntype", Promise) ], AdminDataResolver.prototype, "getRoles", null); tslib_1.__decorate([ type_graphql_1.FieldResolver((type) => String, { nullable: true }), tslib_1.__param(0, type_graphql_1.Root()), tslib_1.__metadata("design:type", Function), tslib_1.__metadata("design:paramtypes", [Administrator_1.Administrator]), tslib_1.__metadata("design:returntype", Promise) ], AdminDataResolver.prototype, "role", null); AdminDataResolver = tslib_1.__decorate([ type_graphql_1.Resolver(type => GQLAdministrator_1.GQLAdministrator) ], AdminDataResolver); exports.AdminDataResolver = AdminDataResolver; //# sourceMappingURL=AdminDataResolver.js.map