Files
ETAApi/v2/server/src/Apps/PrivateResources/Controller/graphql/resolvers.js

54 lines
1.3 KiB
JavaScript

'use strict';
const { DateResolver, DateTimeResolver } = require('graphql-scalars');
const { Account, User, Company, getUserById, getCompanyById, findUsersPage, findCompaniesPage } = require('../../Domain');
//////////////////////////////////////////////
// Queries
//////////////////////////////////////////////
async function account( args, context ) {
const account = new Account( context.requestContext.userId );
return account;
}
async function profile( args, context ) {
const profile = new User( context.requestContext.userId );
return profile;
}
async function company( args, context ) {
const company = new Company( context.requestContext.companyId );
return company;
}
async function companyById( args, context ) {
return getCompanyById( args.id );
}
async function userById( args, context ) {
return getUserById( args.id );
}
async function findCompanies( args, context ) {
const { filters, elements, page } = args;
return findCompaniesPage( filters, elements, page );
}
async function findUsers( args, context ) {
const { filters, elements, page } = args;
return findUsersPage( filters, elements, page );
}
/////////////////////////////////////////////////
// Mutations
/////////////////////////////////////////////////
module.exports = {
account,
profile,
company,
companyById,
userById,
findCompanies,
findUsers
};