@userlab/dx
Version:
Build efficient GraphQL backend
41 lines (40 loc) • 1.26 kB
JavaScript
;
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 };