mirror of
https://github.com/jorgev259/soc_site-astro.git
synced 2025-06-29 07:57:41 +00:00
Migrate to Sequelize V7
This commit is contained in:
parent
a5a5f4ee2a
commit
a79cc8e172
45 changed files with 329 additions and 422 deletions
|
|
@ -2,26 +2,26 @@ import ApolloPackage from '@apollo/client'
|
|||
const { ApolloClient, InMemoryCache } = ApolloPackage;
|
||||
import { SchemaLink } from "@apollo/client/link/schema"
|
||||
import { makeExecutableSchema } from "@graphql-tools/schema";
|
||||
import { loadFilesSync } from '@graphql-tools/load-files'
|
||||
import { mergeResolvers } from '@graphql-tools/merge'
|
||||
import path from "node:path"
|
||||
|
||||
import { getSession } from 'auth-astro/server';
|
||||
import type { Session } from '@auth/core/types';
|
||||
import { typeDefs } from "./__generated__/typeDefs.generated";
|
||||
// import { resolvers } from "./__generated__/resolvers.generated";
|
||||
import db from "@/sequelize";
|
||||
import resolverArray from '@/graphql/resolvers'
|
||||
|
||||
export const resolvers = mergeResolvers(resolverArray)
|
||||
import resolvers from '@/graphql/resolvers'
|
||||
import type { MySqlDialect } from '@sequelize/mysql';
|
||||
import { Sequelize, type ModelStatic, type Options } from '@sequelize/core'
|
||||
|
||||
const schema = makeExecutableSchema({ typeDefs, resolvers })
|
||||
export type ResolverContext = { request?: Request, db: any /*session?: Session */ }
|
||||
export type ResolverContext = { request?: Request, session?: Session }
|
||||
|
||||
const envOptions: Options<MySqlDialect> = JSON.parse(import.meta.env.SEQUELIZE) || {}
|
||||
|
||||
export async function getApolloClient(request?: Request) {
|
||||
// const session = request ? await getSession(request) : undefined
|
||||
const session = request ? await getSession(request) : null
|
||||
const db = new Sequelize(envOptions)
|
||||
envOptions.models = Object.values<ModelStatic>(await import.meta.glob('@/sequelize/models/**/*.ts', { eager: true, import: 'default' }))
|
||||
|
||||
return new ApolloClient({
|
||||
ssrMode: true,
|
||||
link: new SchemaLink({ schema, context: { request, db } }),
|
||||
link: new SchemaLink({ schema, context: { request, session } }),
|
||||
cache: new InMemoryCache()
|
||||
})
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue