Files
payload/packages/graphql/src/resolvers/auth/logout.ts
2024-03-14 23:53:47 -04:00

29 lines
803 B
TypeScript

import type { Collection } from 'payload/types'
import { generateExpiredPayloadCookie } from 'payload/auth'
import { logoutOperation } from 'payload/operations'
import { isolateObjectProperty } from 'payload/utilities'
import type { Context } from '../types.js'
function logoutResolver(collection: Collection): any {
async function resolver(_, args, context: Context) {
const options = {
collection,
req: isolateObjectProperty(context.req, 'transactionID'),
}
const result = await logoutOperation(options)
const expiredCookie = generateExpiredPayloadCookie({
collectionConfig: collection.config,
payload: context.req.payload,
})
context.headers['Set-Cookie'] = expiredCookie
return result
}
return resolver
}
export default logoutResolver