UNPKG

@userlab/dx

Version:

Build efficient GraphQL backend

41 lines (40 loc) 1.26 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.RoleQuery = exports.RoleModel = exports.RoleType = void 0; var graphql_1 = require("graphql"); var uuid_1 = require("uuid"); var dx_1 = require("@userlab/dx"); var user_1 = require("../user"); var fields = { id: { type: new graphql_1.GraphQLNonNull(graphql_1.GraphQLID), defaultValue: uuid_1.v4, }, name: { type: new graphql_1.GraphQLNonNull(graphql_1.GraphQLString), }, description: { type: graphql_1.GraphQLString, }, isDisabled: { type: new graphql_1.GraphQLNonNull(graphql_1.GraphQLBoolean), sqlColumn: 'is_disabled', defaultValue: false, }, }; var relations = function () { return ({ users: { type: new graphql_1.GraphQLList(user_1.UserType), sqlJoin: function (role, user) { return role + ".id = " + user + ".role_id"; }, }, }); }; var _a = dx_1.getQuery({ name: 'Role', table: 'role', uniqueKey: 'id', fields: fields, relations: relations, }), RoleType = _a.objectType, RoleModel = _a.model, role = _a.get, roles = _a.connection; exports.RoleType = RoleType; exports.RoleModel = RoleModel; exports.RoleQuery = { role: role, roles: roles };