Files
payload/test/globals/config.ts
Elliot DeNolf 7309d474ee feat!: type auto-generation (#6657)
Types are now auto-generated by default.

You can opt-out of this behavior by setting:
```ts
buildConfig({
  // Rest of config
  typescript: {
    autoGenerate: false
  },
})
```
2024-06-10 13:42:44 -04:00

137 lines
2.6 KiB
TypeScript

import { fileURLToPath } from 'node:url'
import path from 'path'
const filename = fileURLToPath(import.meta.url)
const dirname = path.dirname(filename)
import { buildConfigWithDefaults } from '../buildConfigWithDefaults.js'
import { devUser } from '../credentials.js'
export const slug = 'global'
export const arraySlug = 'array'
export const accessControlSlug = 'access-control'
export const defaultValueSlug = 'default-value'
export const englishLocale = 'en'
export const spanishLocale = 'es'
export const globalsEndpoint = 'hello-world'
const access = {
read: () => true,
update: () => true,
}
export default buildConfigWithDefaults({
globals: [
{
access,
fields: [
{
name: 'json',
type: 'json',
},
{
name: 'title',
type: 'text',
},
],
slug,
},
{
access,
fields: [
{
name: 'array',
fields: [
{
name: 'text',
type: 'text',
},
],
localized: true,
type: 'array',
},
],
slug: arraySlug,
},
{
fields: [
{
name: 'text',
defaultValue: 'test',
type: 'text',
},
{
name: 'group',
fields: [
{
name: 'text',
defaultValue: 'test',
type: 'text',
},
],
type: 'group',
},
],
slug: defaultValueSlug,
},
{
access: {
read: ({ req: { user } }) => {
if (user) {
return true
}
return {
enabled: {
equals: true,
},
}
},
},
fields: [
{
name: 'title',
required: true,
type: 'text',
},
{
name: 'enabled',
type: 'checkbox',
},
],
slug: accessControlSlug,
},
{
access,
fields: [],
graphQL: false,
slug: 'without-graphql',
},
],
localization: {
defaultLocale: englishLocale,
locales: [englishLocale, spanishLocale],
},
onInit: async (payload) => {
await payload.create({
collection: 'users',
data: {
email: devUser.email,
password: devUser.password,
},
})
await payload.updateGlobal({
data: {
title: 'hello',
},
slug: accessControlSlug,
})
},
typescript: {
outputFile: path.resolve(dirname, 'payload-types.ts'),
},
})