Skip to content

Commit

Permalink
ensure i18n and t are present on local operations
Browse files Browse the repository at this point in the history
  • Loading branch information
JarrodMFlesch committed Jan 9, 2024
1 parent 4cc92ac commit 6785168
Show file tree
Hide file tree
Showing 13 changed files with 66 additions and 53 deletions.
9 changes: 5 additions & 4 deletions packages/payload/src/collections/operations/local/create.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import type { Document } from '../../../types'
import type { File } from '../../../uploads/types'

import { APIError } from '../../../errors'
import { getLocalI18n } from '../../../translations/getLocalI18n'
import getFileByPath from '../../../uploads/getFileByPath'
import { setRequestContext } from '../../../utilities/setRequestContext'
import { getDataLoader } from '../../dataloader'
Expand Down Expand Up @@ -71,14 +72,14 @@ export default async function createLocal<TSlug extends keyof GeneratedTypes['co
)
}

const i18n = req?.i18n || getLocalI18n({ config: payload.config })

req.payloadAPI = req.payloadAPI || 'local'
req.locale = locale ?? req?.locale ?? defaultLocale
req.fallbackLocale = fallbackLocale !== 'undefined' ? fallbackLocale : defaultLocale
req.payload = payload
req.i18n = {
fallbackLanguage: payload.config.i18n.fallbackLanguage,
language: payload.config.i18n.fallbackLanguage,
}
req.i18n = i18n
req.t = i18n.t
req.files = {
file: (file ?? (await getFileByPath(filePath))) as UploadedFile, // TODO(NATIVE_REQUEST): fix this type
}
Expand Down
9 changes: 5 additions & 4 deletions packages/payload/src/collections/operations/local/delete.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import type { Document, Where } from '../../../types'
import type { BulkOperationResult } from '../../config/types'

import { APIError } from '../../../errors'
import { getLocalI18n } from '../../../translations/getLocalI18n'
import { setRequestContext } from '../../../utilities/setRequestContext'
import { getDataLoader } from '../../dataloader'
import { deleteOperation } from '../delete'
Expand Down Expand Up @@ -80,15 +81,15 @@ async function deleteLocal<TSlug extends keyof GeneratedTypes['collections']>(
)
}

const i18n = incomingReq?.i18n || getLocalI18n({ config: payload.config })

const req = {
fallbackLocale: typeof fallbackLocale !== 'undefined' ? fallbackLocale : defaultLocale,
i18n: {
fallbackLanguage: incomingReq?.i18n.fallbackLanguage || payload.config.i18n.fallbackLanguage,
language: incomingReq?.i18n.fallbackLanguage || payload.config.i18n.fallbackLanguage,
},
i18n,
locale: locale ?? defaultLocale,
payload,
payloadAPI: 'local',
t: i18n.t,
transactionID: incomingReq?.transactionID,
user,
} as PayloadRequest
Expand Down
9 changes: 5 additions & 4 deletions packages/payload/src/collections/operations/local/find.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import type { PayloadRequest, RequestContext } from '../../../types'
import type { Document, Where } from '../../../types'

import { APIError } from '../../../errors'
import { getLocalI18n } from '../../../translations/getLocalI18n'
import { setRequestContext } from '../../../utilities/setRequestContext'
import { getDataLoader } from '../../dataloader'
import { findOperation } from '../find'
Expand Down Expand Up @@ -77,13 +78,13 @@ export default async function findLocal<T extends keyof GeneratedTypes['collecti
fallbackLocaleToUse = fallbackLocale
}

const i18n = req?.i18n || getLocalI18n({ config: payload.config })

req.payloadAPI = req.payloadAPI || 'local'
req.locale = locale ?? req?.locale ?? defaultLocale
req.fallbackLocale = fallbackLocaleToUse
req.i18n = {
fallbackLanguage: payload.config.i18n.fallbackLanguage,
language: payload.config.i18n.fallbackLanguage,
}
req.i18n = i18n
req.t = i18n.t
req.payload = payload

if (!req.payloadDataLoader) req.payloadDataLoader = getDataLoader(req)
Expand Down
9 changes: 5 additions & 4 deletions packages/payload/src/collections/operations/local/findByID.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import type { PayloadRequest, RequestContext } from '../../../types'
import type { Document } from '../../../types'

import { APIError } from '../../../errors'
import { getLocalI18n } from '../../../translations/getLocalI18n'
import { setRequestContext } from '../../../utilities/setRequestContext'
import { getDataLoader } from '../../dataloader'
import { findByIDOperation } from '../findByID'
Expand Down Expand Up @@ -69,13 +70,13 @@ export default async function findByIDLocal<T extends keyof GeneratedTypes['coll
fallbackLocaleToUse = fallbackLocale
}

const i18n = req?.i18n || getLocalI18n({ config: payload.config })

req.payloadAPI = req.payloadAPI || 'local'
req.locale = locale ?? req?.locale ?? defaultLocale
req.fallbackLocale = fallbackLocaleToUse
req.i18n = {
fallbackLanguage: payload.config.i18n.fallbackLanguage,
language: payload.config.i18n.fallbackLanguage,
}
req.i18n = i18n
req.t = i18n.t
req.payload = payload

if (typeof user !== 'undefined') req.user = user
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import type { Document } from '../../../types'
import type { TypeWithVersion } from '../../../versions/types'

import { APIError } from '../../../errors'
import { getLocalI18n } from '../../../translations/getLocalI18n'
import { setRequestContext } from '../../../utilities/setRequestContext'
import { getDataLoader } from '../../dataloader'
import { findVersionByIDOperation } from '../findVersionByID'
Expand Down Expand Up @@ -67,13 +68,13 @@ export default async function findVersionByIDLocal<T extends keyof GeneratedType
fallbackLocaleToUse = fallbackLocale
}

const i18n = req?.i18n || getLocalI18n({ config: payload.config })

req.payloadAPI = req.payloadAPI || 'local'
req.locale = locale ?? req?.locale ?? defaultLocale
req.fallbackLocale = fallbackLocaleToUse
req.i18n = {
fallbackLanguage: payload.config.i18n.fallbackLanguage,
language: payload.config.i18n.fallbackLanguage,
}
req.i18n = i18n
req.t = i18n.t
req.payload = payload

if (!req.payloadDataLoader) req.payloadDataLoader = getDataLoader(req)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import type { Document, Where } from '../../../types'
import type { TypeWithVersion } from '../../../versions/types'

import { APIError } from '../../../errors'
import { getLocalI18n } from '../../../translations/getLocalI18n'
import { setRequestContext } from '../../../utilities/setRequestContext'
import { getDataLoader } from '../../dataloader'
import { findVersionsOperation } from '../findVersions'
Expand Down Expand Up @@ -60,15 +61,15 @@ export default async function findVersionsLocal<T extends keyof GeneratedTypes['
)
}

const req = {
const i18n = incomingReq?.i18n || getLocalI18n({ config: payload.config })

const req: PayloadRequest = {
fallbackLocale: typeof fallbackLocale !== 'undefined' ? fallbackLocale : defaultLocale,
i18n: {
fallbackLanguage: payload.config.i18n.fallbackLanguage,
language: payload.config.i18n.fallbackLanguage,
},
i18n,
locale: locale ?? defaultLocale,
payload,
payloadAPI: 'local',
t: i18n.t,
transactionID: incomingReq?.transactionID,
user,
} as PayloadRequest
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import type { PayloadRequest, RequestContext } from '../../../types'
import type { Document } from '../../../types'

import { APIError } from '../../../errors'
import { getLocalI18n } from '../../../translations/getLocalI18n'
import { setRequestContext } from '../../../utilities/setRequestContext'
import { getDataLoader } from '../../dataloader'
import { restoreVersionOperation } from '../restoreVersion'
Expand Down Expand Up @@ -51,15 +52,15 @@ export default async function restoreVersionLocal<T extends keyof GeneratedTypes
)
}

const i18n = incomingReq?.i18n || getLocalI18n({ config: payload.config })

const req = {
fallbackLocale,
i18n: {
fallbackLanguage: payload.config.i18n.fallbackLanguage,
language: payload.config.i18n.fallbackLanguage,
},
i18n,
locale,
payload,
payloadAPI: 'local',
t: i18n.t,
transactionID: incomingReq?.transactionID,
user,
} as PayloadRequest
Expand Down
9 changes: 5 additions & 4 deletions packages/payload/src/collections/operations/local/update.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import type { File } from '../../../uploads/types'
import type { BulkOperationResult } from '../../config/types'

import { APIError } from '../../../errors'
import { getLocalI18n } from '../../../translations/getLocalI18n'
import getFileByPath from '../../../uploads/getFileByPath'
import { setRequestContext } from '../../../utilities/setRequestContext'
import { getDataLoader } from '../../dataloader'
Expand Down Expand Up @@ -95,18 +96,18 @@ async function updateLocal<TSlug extends keyof GeneratedTypes['collections']>(
)
}

const i18n = incomingReq?.i18n || getLocalI18n({ config: payload.config })

const req = {
fallbackLocale: typeof fallbackLocale !== 'undefined' ? fallbackLocale : defaultLocale,
files: {
file: file ?? (await getFileByPath(filePath)),
},
i18n: {
fallbackLanguage: payload.config.i18n.fallbackLanguage,
language: payload.config.i18n.fallbackLanguage,
},
i18n,
locale: locale ?? defaultLocale,
payload,
payloadAPI: 'local',
t: i18n.t,
transactionID: incomingReq?.transactionID,
user,
} as unknown as PayloadRequest
Expand Down
9 changes: 5 additions & 4 deletions packages/payload/src/globals/operations/local/findOne.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import type { Document } from '../../../types'

import { getDataLoader } from '../../../collections/dataloader'
import { APIError } from '../../../errors'
import { getLocalI18n } from '../../../translations/getLocalI18n'
import { setRequestContext } from '../../../utilities/setRequestContext'
import { findOneOperation } from '../findOne'

Expand Down Expand Up @@ -46,15 +47,15 @@ export default async function findOneLocal<T extends keyof GeneratedTypes['globa
throw new APIError(`The global with slug ${String(globalSlug)} can't be found.`)
}

const i18n = options.req?.i18n ?? getLocalI18n({ config: payload.config })

const req = {
fallbackLocale: fallbackLocale ?? options.req?.fallbackLocale ?? defaultLocale,
i18n: {
fallbackLanguage: payload.config.i18n.fallbackLanguage,
language: payload.config.i18n.fallbackLanguage,
},
i18n,
locale: locale ?? options.req?.locale ?? defaultLocale,
payload,
payloadAPI: 'local',
t: i18n.t,
user,
} as PayloadRequest
setRequestContext(req, context)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import type { TypeWithVersion } from '../../../versions/types'

import { getDataLoader } from '../../../collections/dataloader'
import { APIError } from '../../../errors'
import { getLocalI18n } from '../../../translations/getLocalI18n'
import { setRequestContext } from '../../../utilities/setRequestContext'
import { findVersionByIDOperation } from '../findVersionByID'

Expand Down Expand Up @@ -47,15 +48,15 @@ export default async function findVersionByIDLocal<T extends keyof GeneratedType
throw new APIError(`The global with slug ${String(globalSlug)} can't be found.`)
}

const i18n = incomingReq?.i18n || getLocalI18n({ config: payload.config })

const req = {
fallbackLocale,
i18n: {
fallbackLanguage: payload.config.i18n.fallbackLanguage,
language: payload.config.i18n.fallbackLanguage,
},
i18n,
locale,
payload,
payloadAPI: 'local',
t: i18n.t,
transactionID: incomingReq?.transactionID,
user,
} as PayloadRequest
Expand Down
9 changes: 5 additions & 4 deletions packages/payload/src/globals/operations/local/findVersions.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import type { TypeWithVersion } from '../../../versions/types'

import { getDataLoader } from '../../../collections/dataloader'
import { APIError } from '../../../errors'
import { getLocalI18n } from '../../../translations/getLocalI18n'
import { setRequestContext } from '../../../utilities/setRequestContext'
import { findVersionsOperation } from '../findVersions'

Expand Down Expand Up @@ -52,15 +53,15 @@ export default async function findVersionsLocal<T extends keyof GeneratedTypes['
throw new APIError(`The global with slug ${String(globalSlug)} can't be found.`)
}

const i18n = incomingReq?.i18n || getLocalI18n({ config: payload.config })

const req = {
fallbackLocale,
i18n: {
fallbackLanguage: payload.config.i18n.fallbackLanguage,
language: payload.config.i18n.fallbackLanguage,
},
i18n,
locale,
payload,
payloadAPI: 'local',
t: i18n.t,
transactionID: incomingReq?.transactionID,
user,
} as PayloadRequest
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import type { Document } from '../../../types'

import { getDataLoader } from '../../../collections/dataloader'
import { APIError } from '../../../errors'
import { getLocalI18n } from '../../../translations/getLocalI18n'
import { setRequestContext } from '../../../utilities/setRequestContext'
import { restoreVersionOperation } from '../restoreVersion'

Expand Down Expand Up @@ -44,15 +45,15 @@ export default async function restoreVersionLocal<T extends keyof GeneratedTypes
throw new APIError(`The global with slug ${String(globalSlug)} can't be found.`)
}

const i18n = incomingReq?.i18n || getLocalI18n({ config: payload.config })

const req = {
fallbackLocale,
i18n: {
fallbackLanguage: payload.config.i18n.fallbackLanguage,
language: payload.config.i18n.fallbackLanguage,
},
i18n,
locale,
payload,
payloadAPI: 'local',
t: i18n.t,
transactionID: incomingReq?.transactionID,
user,
} as PayloadRequest
Expand Down
9 changes: 5 additions & 4 deletions packages/payload/src/globals/operations/local/update.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import type { Document } from '../../../types'

import { getDataLoader } from '../../../collections/dataloader'
import { APIError } from '../../../errors'
import { getLocalI18n } from '../../../translations/getLocalI18n'
import { setRequestContext } from '../../../utilities/setRequestContext'
import { updateOperation } from '../update'

Expand Down Expand Up @@ -48,15 +49,15 @@ export default async function updateLocal<TSlug extends keyof GeneratedTypes['gl
throw new APIError(`The global with slug ${String(globalSlug)} can't be found.`)
}

const i18n = incomingReq?.i18n || getLocalI18n({ config: payload.config })

const req = {
fallbackLocale,
i18n: {
fallbackLanguage: payload.config.i18n.fallbackLanguage,
language: payload.config.i18n.fallbackLanguage,
},
i18n,
locale,
payload,
payloadAPI: 'local',
t: i18n.t,
transactionID: incomingReq?.transactionID,
user,
} as PayloadRequest
Expand Down

0 comments on commit 6785168

Please sign in to comment.