Set up sequelize

This commit is contained in:
Jorge Vargas 2024-08-19 00:28:48 -06:00
parent 6833439a4a
commit 87c08df02b
47 changed files with 2171 additions and 6 deletions

View file

@ -0,0 +1,33 @@
import { Op } from 'sequelize'
import { composeResolvers } from '@graphql-tools/resolvers-composition'
import info from '@/next/constants/info.json'
import { hasRole } from '@/server/utils/resolvers'
import { getUser } from '@/next/utils/getSession'
const { permissions } = info
const resolversComposition = { 'Query.users': hasRole('MANAGE_USER') }
const resolvers = {
Query: {
me: (parent, args, { db }) => getUser(db),
permissions: () => permissions,
roles: (parent, args, { db }) => db.models.role.findAll(),
users: (parent, args, { db }) => {
const search = args.search.trim()
if (search.length < 3) return []
return db.models.user.findAll({
where: {
[Op.or]: [
{ username: { [Op.like]: `%${search}%` } },
{ email: search }
]
}
})
},
user: async (_, { user }, { db }) => user
}
}
export default composeResolvers(resolvers, resolversComposition)