UNPKG

@wepublish/api

Version:
65 lines 2.37 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getUserRoles = exports.createUserRoleFilter = exports.createUserRoleOrder = void 0; const tslib_1 = require("tslib"); const userRole_1 = require("../../db/userRole"); const api_1 = require("../../../../utils-api/src"); const createUserRoleOrder = (field, sortOrder) => { switch (field) { case userRole_1.UserRoleSort.CreatedAt: return { createdAt: (0, api_1.graphQLSortOrderToPrisma)(sortOrder) }; case userRole_1.UserRoleSort.ModifiedAt: return { modifiedAt: (0, api_1.graphQLSortOrderToPrisma)(sortOrder) }; } }; exports.createUserRoleOrder = createUserRoleOrder; const createNameFilter = (filter) => { if (filter === null || filter === void 0 ? void 0 : filter.name) { return { name: filter.name }; } return {}; }; const createUserRoleFilter = (filter) => ({ AND: [createNameFilter(filter)] }); exports.createUserRoleFilter = createUserRoleFilter; const getUserRoles = (filter, sortedField, order, cursorId, skip, take, userRole) => tslib_1.__awaiter(void 0, void 0, void 0, function* () { const orderBy = (0, exports.createUserRoleOrder)(sortedField, order); const where = (0, exports.createUserRoleFilter)(filter); const [totalCount, userroles] = yield Promise.all([ userRole.count({ where, orderBy }), userRole.findMany({ where, skip, take: (0, api_1.getMaxTake)(take) + 1, orderBy, cursor: cursorId ? { id: cursorId } : undefined }) ]); const nodes = userroles.slice(0, take); const firstUserRole = nodes[0]; const lastUserRole = nodes[nodes.length - 1]; const hasPreviousPage = Boolean(skip); const hasNextPage = userroles.length > nodes.length; return { nodes, totalCount, pageInfo: { hasPreviousPage, hasNextPage, startCursor: firstUserRole === null || firstUserRole === void 0 ? void 0 : firstUserRole.id, endCursor: lastUserRole === null || lastUserRole === void 0 ? void 0 : lastUserRole.id } }; }); exports.getUserRoles = getUserRoles; //# sourceMappingURL=user-role.queries.js.map