是否可以pgSettings
在 PostGraphile 插件中访问,特别是makeExtendSchema
?这是我的中间件:
app.use(
postgraphile(
process.env.DATABASE_URL,
"public",
{
watchPg: true,
classicIds: true,
pgSettings: (req) => {
if (req.headers.cookie) {
const cookies = cookie.parse(req.headers.cookie);
return {
'user.id': cookies['next-auth.session-token']
}
}
return;
},
appendPlugins: [require('./add-cookie-plugin')]
}
)
);
我想要一个将 userId 添加到每个突变的插件,因为它在 cookie 中,我无法在 graphql 有效负载中发送它。如果我想要一个 SQL 命令,我看到 pg 可用。只想知道该设置是否已经可用:
const { makeExtendSchemaPlugin, gql } = require("graphile-utils");
module.exports = makeExtendSchemaPlugin(build => {
const { pgSql: sql, inflection } = build;
return {
typeDefs: gql`
extend type Query {
userId: Int
}
`,
resolvers: {
Query: {
async userId() {
return // current_setting('user.id', true)
},
},
},
}
});