payload-intl 1.2.4 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. package/README.md +4 -8
  2. package/dist/components/MessageFormField.d.ts +1 -2
  3. package/dist/components/MessageFormField.d.ts.map +1 -1
  4. package/dist/components/MessageFormField.js +1 -2
  5. package/dist/components/MessageFormField.js.map +1 -1
  6. package/dist/components/MessagesLink.js +1 -1
  7. package/dist/components/MessagesLink.js.map +1 -1
  8. package/dist/components/MessagesView.js +1 -1
  9. package/dist/components/MessagesView.js.map +1 -1
  10. package/dist/components/inputs/FieldWrapper.d.ts +1 -2
  11. package/dist/components/inputs/FieldWrapper.d.ts.map +1 -1
  12. package/dist/components/inputs/FieldWrapper.js +1 -1
  13. package/dist/components/inputs/FieldWrapper.js.map +1 -1
  14. package/dist/components/inputs/LexicalInput.d.ts +1 -1
  15. package/dist/components/inputs/LexicalInput.d.ts.map +1 -1
  16. package/dist/components/inputs/LexicalInput.js +1 -2
  17. package/dist/components/inputs/LexicalInput.js.map +1 -1
  18. package/dist/components/inputs/MessageInput.d.ts +1 -1
  19. package/dist/components/inputs/MessageInput.d.ts.map +1 -1
  20. package/dist/components/inputs/MessageInput.js +1 -2
  21. package/dist/components/inputs/MessageInput.js.map +1 -1
  22. package/dist/const.d.ts +13 -5
  23. package/dist/const.d.ts.map +1 -1
  24. package/dist/const.js +9 -9
  25. package/dist/const.js.map +1 -1
  26. package/dist/endpoints/set-messages.d.ts.map +1 -1
  27. package/dist/endpoints/set-messages.js +73 -31
  28. package/dist/endpoints/set-messages.js.map +1 -1
  29. package/dist/entities.d.ts +1 -1
  30. package/dist/entities.d.ts.map +1 -1
  31. package/dist/entities.js +13 -9
  32. package/dist/entities.js.map +1 -1
  33. package/dist/index.d.ts +13 -3
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js +8 -25
  36. package/dist/index.js.map +1 -1
  37. package/dist/payload-types.d.ts +4 -4
  38. package/dist/payload-types.d.ts.map +1 -1
  39. package/dist/requests/fetchMessages.d.ts +1 -4
  40. package/dist/requests/fetchMessages.d.ts.map +1 -1
  41. package/dist/requests/fetchMessages.js +36 -7
  42. package/dist/requests/fetchMessages.js.map +1 -1
  43. package/dist/types.d.ts +1 -0
  44. package/dist/types.d.ts.map +1 -1
  45. package/dist/types.js.map +1 -1
  46. package/dist/utils/config.d.ts +1 -9
  47. package/dist/utils/config.d.ts.map +1 -1
  48. package/dist/utils/config.js +0 -10
  49. package/dist/utils/config.js.map +1 -1
  50. package/dist/utils/guards.d.ts +0 -1
  51. package/dist/utils/guards.d.ts.map +1 -1
  52. package/dist/utils/guards.js +0 -3
  53. package/dist/utils/guards.js.map +1 -1
  54. package/dist/utils/icu-tranform.d.ts.map +1 -1
  55. package/dist/utils/icu-tranform.js +1 -1
  56. package/dist/utils/icu-tranform.js.map +1 -1
  57. package/package.json +9 -8
  58. package/dist/endpoints/get-messages.d.ts +0 -3
  59. package/dist/endpoints/get-messages.d.ts.map +0 -1
  60. package/dist/endpoints/get-messages.js +0 -7
  61. package/dist/endpoints/get-messages.js.map +0 -1
  62. package/dist/internals/index.d.ts +0 -30
  63. package/dist/internals/index.d.ts.map +0 -1
  64. package/dist/internals/index.js +0 -81
  65. package/dist/internals/index.js.map +0 -1
  66. package/dist/internals/procedure.d.ts +0 -34
  67. package/dist/internals/procedure.d.ts.map +0 -1
  68. package/dist/internals/procedure.js +0 -111
  69. package/dist/internals/procedure.js.map +0 -1
  70. package/dist/internals/urls.d.ts +0 -11
  71. package/dist/internals/urls.d.ts.map +0 -1
  72. package/dist/internals/urls.js +0 -23
  73. package/dist/internals/urls.js.map +0 -1
  74. package/dist/internals/utils.d.ts +0 -8
  75. package/dist/internals/utils.d.ts.map +0 -1
  76. package/dist/internals/utils.js +0 -57
  77. package/dist/internals/utils.js.map +0 -1
  78. package/dist/payload-types.js +0 -15
  79. package/dist/payload-types.js.map +0 -1
  80. package/dist/requests/fetchMessageFromAPI.d.ts +0 -10
  81. package/dist/requests/fetchMessageFromAPI.d.ts.map +0 -1
  82. package/dist/requests/fetchMessageFromAPI.js +0 -15
  83. package/dist/requests/fetchMessageFromAPI.js.map +0 -1
  84. package/dist/requests/fetchMessageFromPayload.d.ts +0 -3
  85. package/dist/requests/fetchMessageFromPayload.d.ts.map +0 -1
  86. package/dist/requests/fetchMessageFromPayload.js +0 -29
  87. package/dist/requests/fetchMessageFromPayload.js.map +0 -1
@@ -1,81 +0,0 @@
1
- import z from 'zod';
2
- import { uncaughtSwitchCase } from './utils';
3
- // MARK: Types
4
- export const documentIdSchema = z.union([
5
- z.number(),
6
- z.string()
7
- ]);
8
- export const documentReferenceSchema = z.discriminatedUnion('entity', [
9
- z.object({
10
- entity: z.literal('collection'),
11
- slug: z.string(),
12
- id: documentIdSchema
13
- }),
14
- z.object({
15
- entity: z.literal('global'),
16
- slug: z.string()
17
- })
18
- ]);
19
- // MARK: Type Guards
20
- export const isPopulated = (relationship)=>typeof relationship === 'object';
21
- export function assertPopulated(value, errorMessage = (id)=>`Doc is not populated: [${id}]`) {
22
- if (value === null) return value;
23
- if (Array.isArray(value)) {
24
- return value.map((item)=>assertPopulated(item, errorMessage));
25
- }
26
- if (isPopulated(value)) return value;
27
- throw new Error(errorMessage(value));
28
- }
29
- // MARK: Utilities
30
- export const createCollectionConfigFactory = (factory)=>(options)=>({
31
- slug: options.slug,
32
- ...typeof factory === 'function' ? factory(options) : factory
33
- });
34
- export function isIdentifiableDocument(value) {
35
- if (typeof value === 'string') return true;
36
- if (typeof value === 'number') return true;
37
- if (value === null) return false;
38
- if (typeof value !== 'object') return true;
39
- if (!('id' in value)) return false;
40
- return isIdentifiableDocument(value.id);
41
- }
42
- export const resolveDocumentID = (entity)=>typeof entity === 'object' ? entity.id : entity;
43
- export function fetchDocumentByReference(payload, ref) {
44
- switch(ref.entity){
45
- case 'collection':
46
- return payload.findByID({
47
- collection: ref.slug,
48
- id: ref.id,
49
- depth: 0
50
- });
51
- case 'global':
52
- return payload.findGlobal({
53
- slug: ref.slug,
54
- depth: 0
55
- });
56
- default:
57
- return uncaughtSwitchCase(ref);
58
- }
59
- }
60
- export async function updateDocumentByReference(payload, ref, data) {
61
- switch(ref.entity){
62
- case 'collection':
63
- return payload.update({
64
- collection: ref.slug,
65
- id: ref.id,
66
- data: data
67
- });
68
- case 'global':
69
- return payload.updateGlobal({
70
- slug: ref.slug,
71
- data: data
72
- });
73
- default:
74
- return uncaughtSwitchCase(ref);
75
- }
76
- }
77
- export { defineProcedure } from './procedure';
78
- export { getAdminURL, getApiURL, getServerURL } from './urls';
79
- export { findFields, uncaughtSwitchCase } from './utils';
80
-
81
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/internals/index.ts"],"sourcesContent":["import type {\n BasePayload,\n CollectionConfig,\n CollectionSlug,\n GlobalSlug,\n JsonObject,\n TypeWithID,\n} from 'payload';\nimport z from 'zod';\nimport { uncaughtSwitchCase } from './utils';\n\n// MARK: Types\n\nexport const documentIdSchema = z.union([z.number(), z.string()]);\nexport type DocumentID = TypeWithID['id'] & z.infer<typeof documentIdSchema>;\n\nexport const documentReferenceSchema = z.discriminatedUnion('entity', [\n z.object({\n entity: z.literal('collection'),\n slug: z.string(),\n id: documentIdSchema,\n }),\n z.object({\n entity: z.literal('global'),\n slug: z.string(),\n }),\n]);\n\nexport type DocumentReference = z.infer<typeof documentReferenceSchema>;\n\n// MARK: Type Guards\n\nexport const isPopulated = <T extends TypeWithID>(\n relationship: T | DocumentID,\n): relationship is T => typeof relationship === 'object';\n\nexport function assertPopulated<T extends TypeWithID | null>(\n docsOrIds: (T | DocumentID)[],\n errorMessage?: (id: DocumentID) => string,\n): T[];\nexport function assertPopulated<T extends TypeWithID | null>(\n docOrId: T | DocumentID,\n errorMessage?: (id: DocumentID) => string,\n): T;\nexport function assertPopulated<T extends TypeWithID | null>(\n value: T | DocumentID | (T | DocumentID)[],\n errorMessage = (id: DocumentID) => `Doc is not populated: [${id}]`,\n): T | T[] {\n if (value === null) return value;\n if (Array.isArray(value)) {\n return value.map((item) => assertPopulated(item, errorMessage));\n }\n if (isPopulated(value)) return value;\n throw new Error(errorMessage(value as DocumentID));\n}\n\n// MARK: Utilities\n\nexport const createCollectionConfigFactory =\n <T extends Record<string, unknown>>(\n factory:\n | Omit<CollectionConfig, 'slug'>\n | ((options: T & { slug: string }) => Omit<CollectionConfig, 'slug'>),\n ) =>\n (options: T & { slug: string }): CollectionConfig => ({\n slug: options.slug,\n ...(typeof factory === 'function' ? factory(options) : factory),\n });\n\nexport type IdentifiableDocument = TypeWithID['id'] | TypeWithID;\n\nexport function isIdentifiableDocument(\n value: unknown,\n): value is IdentifiableDocument {\n if (typeof value === 'string') return true;\n if (typeof value === 'number') return true;\n if (value === null) return false;\n if (typeof value !== 'object') return true;\n if (!('id' in value)) return false;\n return isIdentifiableDocument(value.id);\n}\n\nexport const resolveDocumentID = (entity: IdentifiableDocument): DocumentID =>\n typeof entity === 'object' ? entity.id : entity;\n\nexport function fetchDocumentByReference(\n payload: BasePayload,\n ref: DocumentReference,\n): Promise<JsonObject> {\n switch (ref.entity) {\n case 'collection':\n return payload.findByID({\n collection: ref.slug as CollectionSlug,\n id: ref.id,\n depth: 0,\n });\n case 'global':\n return payload.findGlobal({\n slug: ref.slug as GlobalSlug,\n depth: 0,\n });\n default:\n return uncaughtSwitchCase(ref);\n }\n}\n\nexport async function updateDocumentByReference(\n payload: BasePayload,\n ref: DocumentReference,\n data: JsonObject,\n) {\n switch (ref.entity) {\n case 'collection':\n return payload.update({\n collection: ref.slug as CollectionSlug,\n id: ref.id,\n data: data,\n });\n case 'global':\n return payload.updateGlobal({\n slug: ref.slug as GlobalSlug,\n data: data as any,\n });\n default:\n return uncaughtSwitchCase(ref);\n }\n}\n\nexport {\n defineProcedure,\n type Procedure,\n type ProcedureBuilder,\n} from './procedure';\nexport { getAdminURL, getApiURL, getServerURL } from './urls';\nexport { findFields, uncaughtSwitchCase } from './utils';\n"],"names":["z","uncaughtSwitchCase","documentIdSchema","union","number","string","documentReferenceSchema","discriminatedUnion","object","entity","literal","slug","id","isPopulated","relationship","assertPopulated","value","errorMessage","Array","isArray","map","item","Error","createCollectionConfigFactory","factory","options","isIdentifiableDocument","resolveDocumentID","fetchDocumentByReference","payload","ref","findByID","collection","depth","findGlobal","updateDocumentByReference","data","update","updateGlobal","defineProcedure","getAdminURL","getApiURL","getServerURL","findFields"],"mappings":"AAQA,OAAOA,OAAO,MAAM;AACpB,SAASC,kBAAkB,QAAQ,UAAU;AAE7C,cAAc;AAEd,OAAO,MAAMC,mBAAmBF,EAAEG,KAAK,CAAC;IAACH,EAAEI,MAAM;IAAIJ,EAAEK,MAAM;CAAG,EAAE;AAGlE,OAAO,MAAMC,0BAA0BN,EAAEO,kBAAkB,CAAC,UAAU;IACpEP,EAAEQ,MAAM,CAAC;QACPC,QAAQT,EAAEU,OAAO,CAAC;QAClBC,MAAMX,EAAEK,MAAM;QACdO,IAAIV;IACN;IACAF,EAAEQ,MAAM,CAAC;QACPC,QAAQT,EAAEU,OAAO,CAAC;QAClBC,MAAMX,EAAEK,MAAM;IAChB;CACD,EAAE;AAIH,oBAAoB;AAEpB,OAAO,MAAMQ,cAAc,CACzBC,eACsB,OAAOA,iBAAiB,SAAS;AAUzD,OAAO,SAASC,gBACdC,KAA0C,EAC1CC,eAAe,CAACL,KAAmB,CAAC,uBAAuB,EAAEA,GAAG,CAAC,CAAC;IAElE,IAAII,UAAU,MAAM,OAAOA;IAC3B,IAAIE,MAAMC,OAAO,CAACH,QAAQ;QACxB,OAAOA,MAAMI,GAAG,CAAC,CAACC,OAASN,gBAAgBM,MAAMJ;IACnD;IACA,IAAIJ,YAAYG,QAAQ,OAAOA;IAC/B,MAAM,IAAIM,MAAML,aAAaD;AAC/B;AAEA,kBAAkB;AAElB,OAAO,MAAMO,gCACX,CACEC,UAIF,CAACC,UAAqD,CAAA;YACpDd,MAAMc,QAAQd,IAAI;YAClB,GAAI,OAAOa,YAAY,aAAaA,QAAQC,WAAWD,OAAO;QAChE,CAAA,EAAG;AAIL,OAAO,SAASE,uBACdV,KAAc;IAEd,IAAI,OAAOA,UAAU,UAAU,OAAO;IACtC,IAAI,OAAOA,UAAU,UAAU,OAAO;IACtC,IAAIA,UAAU,MAAM,OAAO;IAC3B,IAAI,OAAOA,UAAU,UAAU,OAAO;IACtC,IAAI,CAAE,CAAA,QAAQA,KAAI,GAAI,OAAO;IAC7B,OAAOU,uBAAuBV,MAAMJ,EAAE;AACxC;AAEA,OAAO,MAAMe,oBAAoB,CAAClB,SAChC,OAAOA,WAAW,WAAWA,OAAOG,EAAE,GAAGH,OAAO;AAElD,OAAO,SAASmB,yBACdC,OAAoB,EACpBC,GAAsB;IAEtB,OAAQA,IAAIrB,MAAM;QAChB,KAAK;YACH,OAAOoB,QAAQE,QAAQ,CAAC;gBACtBC,YAAYF,IAAInB,IAAI;gBACpBC,IAAIkB,IAAIlB,EAAE;gBACVqB,OAAO;YACT;QACF,KAAK;YACH,OAAOJ,QAAQK,UAAU,CAAC;gBACxBvB,MAAMmB,IAAInB,IAAI;gBACdsB,OAAO;YACT;QACF;YACE,OAAOhC,mBAAmB6B;IAC9B;AACF;AAEA,OAAO,eAAeK,0BACpBN,OAAoB,EACpBC,GAAsB,EACtBM,IAAgB;IAEhB,OAAQN,IAAIrB,MAAM;QAChB,KAAK;YACH,OAAOoB,QAAQQ,MAAM,CAAC;gBACpBL,YAAYF,IAAInB,IAAI;gBACpBC,IAAIkB,IAAIlB,EAAE;gBACVwB,MAAMA;YACR;QACF,KAAK;YACH,OAAOP,QAAQS,YAAY,CAAC;gBAC1B3B,MAAMmB,IAAInB,IAAI;gBACdyB,MAAMA;YACR;QACF;YACE,OAAOnC,mBAAmB6B;IAC9B;AACF;AAEA,SACES,eAAe,QAGV,cAAc;AACrB,SAASC,WAAW,EAAEC,SAAS,EAAEC,YAAY,QAAQ,SAAS;AAC9D,SAASC,UAAU,EAAE1C,kBAAkB,QAAQ,UAAU"}
@@ -1,34 +0,0 @@
1
- import type { Endpoint, PayloadRequest } from 'payload';
2
- type Method = 'get' | 'post' | 'put' | 'patch' | 'delete';
3
- /** Any Zod-like schema with safeParse and inferred output */
4
- interface ZodLike<TOutput = unknown> {
5
- safeParse(data: unknown): {
6
- success: true;
7
- data: TOutput;
8
- } | {
9
- success: false;
10
- error: unknown;
11
- };
12
- }
13
- type InferOutput<T> = T extends ZodLike<infer O> ? O : never;
14
- interface ProcedureConfig<TSchema extends ZodLike | undefined = undefined> {
15
- path: `/${string}`;
16
- method: Method;
17
- input?: TSchema;
18
- }
19
- export interface Procedure<TInput, TOutput> {
20
- path: `/${string}`;
21
- method: Method;
22
- endpoint(handler: (req: PayloadRequest, ...args: TInput extends void ? [] : [input: TInput]) => Promise<unknown | Response>): Endpoint;
23
- call(apiUrl: string, ...args: TInput extends void ? [] : [input: TInput]): Promise<TOutput>;
24
- }
25
- export interface ProcedureBuilder<TInput> {
26
- path: string;
27
- method: Method;
28
- returns<TOutput>(): Procedure<TInput, TOutput>;
29
- endpoint(handler: (req: PayloadRequest, ...args: TInput extends void ? [] : [input: TInput]) => Promise<unknown | Response>): Endpoint;
30
- call(apiUrl: string, ...args: TInput extends void ? [] : [input: TInput]): Promise<unknown>;
31
- }
32
- export declare function defineProcedure<TSchema extends ZodLike | undefined = undefined>(config: ProcedureConfig<TSchema>): ProcedureBuilder<TSchema extends ZodLike ? InferOutput<TSchema> : void>;
33
- export {};
34
- //# sourceMappingURL=procedure.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"procedure.d.ts","sourceRoot":"","sources":["../../src/internals/procedure.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAExD,KAAK,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE1D,6DAA6D;AAC7D,UAAU,OAAO,CAAC,OAAO,GAAG,OAAO;IACjC,SAAS,CACP,IAAI,EAAE,OAAO,GACZ;QAAE,OAAO,EAAE,IAAI,CAAC;QAAC,IAAI,EAAE,OAAO,CAAA;KAAE,GAAG;QAAE,OAAO,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,CAAC;CAC1E;AAED,KAAK,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAE7D,UAAU,eAAe,CAAC,OAAO,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS;IACvE,IAAI,EAAE,IAAI,MAAM,EAAE,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,SAAS,CAAC,MAAM,EAAE,OAAO;IACxC,IAAI,EAAE,IAAI,MAAM,EAAE,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CACN,OAAO,EAAE,CACP,GAAG,EAAE,cAAc,EACnB,GAAG,IAAI,EAAE,MAAM,SAAS,IAAI,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,KAChD,OAAO,CAAC,OAAO,GAAG,QAAQ,CAAC,GAC/B,QAAQ,CAAC;IACZ,IAAI,CACF,MAAM,EAAE,MAAM,EACd,GAAG,IAAI,EAAE,MAAM,SAAS,IAAI,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,GAClD,OAAO,CAAC,OAAO,CAAC,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB,CAAC,MAAM;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/C,QAAQ,CACN,OAAO,EAAE,CACP,GAAG,EAAE,cAAc,EACnB,GAAG,IAAI,EAAE,MAAM,SAAS,IAAI,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,KAChD,OAAO,CAAC,OAAO,GAAG,QAAQ,CAAC,GAC/B,QAAQ,CAAC;IACZ,IAAI,CACF,MAAM,EAAE,MAAM,EACd,GAAG,IAAI,EAAE,MAAM,SAAS,IAAI,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,GAClD,OAAO,CAAC,OAAO,CAAC,CAAC;CACrB;AA4GD,wBAAgB,eAAe,CAC7B,OAAO,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,EAE/C,MAAM,EAAE,eAAe,CAAC,OAAO,CAAC,GAC/B,gBAAgB,CAAC,OAAO,SAAS,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAazE"}
@@ -1,111 +0,0 @@
1
- function wrapOutput(output) {
2
- if (output instanceof Response) return output;
3
- return Response.json(output);
4
- }
5
- function createProcedure(config, inputSchema) {
6
- return {
7
- path: config.path,
8
- method: config.method,
9
- endpoint (handler) {
10
- return {
11
- path: config.path,
12
- method: config.method,
13
- handler: async (req)=>{
14
- if (inputSchema) {
15
- if (config.method === 'get') {
16
- const routeParams = req.routeParams ?? {};
17
- const searchParams = req.searchParams ? Object.fromEntries(req.searchParams.entries()) : {};
18
- const merged = {
19
- ...searchParams,
20
- ...routeParams
21
- };
22
- const result = inputSchema.safeParse(merged);
23
- if (!result.success) {
24
- return Response.json({
25
- error: result.error
26
- }, {
27
- status: 400
28
- });
29
- }
30
- // biome-ignore lint/complexity/noBannedTypes: ugly type cast
31
- const output = await handler(req, result.data);
32
- return wrapOutput(output);
33
- }
34
- const { addDataAndFileToRequest } = await import(/* webpackIgnore: true */ 'payload');
35
- await addDataAndFileToRequest(req);
36
- const result = inputSchema.safeParse(req.data);
37
- if (!result.success) {
38
- return Response.json({
39
- error: result.error
40
- }, {
41
- status: 400
42
- });
43
- }
44
- // biome-ignore lint/complexity/noBannedTypes: ugly type cast
45
- const output = await handler(req, result.data);
46
- return wrapOutput(output);
47
- }
48
- // biome-ignore lint/complexity/noBannedTypes: ugly type cast
49
- const output = await handler(req);
50
- return wrapOutput(output);
51
- }
52
- };
53
- },
54
- call (apiUrl, ...args) {
55
- const input = args[0];
56
- if (config.method === 'get') {
57
- let resolvedPath = config.path;
58
- const queryParams = {};
59
- if (input) {
60
- for (const [key, value] of Object.entries(input)){
61
- if (value == null) continue;
62
- if (resolvedPath.includes(`:${key}`)) {
63
- resolvedPath = resolvedPath.replace(`:${key}`, encodeURIComponent(String(value)));
64
- } else {
65
- queryParams[key] = String(value);
66
- }
67
- }
68
- }
69
- const queryString = new URLSearchParams(queryParams).toString();
70
- const url = `${apiUrl}${resolvedPath}${queryString ? `?${queryString}` : ''}`;
71
- return fetch(url, {
72
- method: 'GET',
73
- credentials: 'include'
74
- }).then(async (response)=>{
75
- if (!response.ok) {
76
- throw new Error(`Request failed: ${response.status} ${response.statusText}`);
77
- }
78
- return response.json();
79
- });
80
- }
81
- const url = `${apiUrl}${config.path}`;
82
- return fetch(url, {
83
- method: config.method.toUpperCase(),
84
- credentials: 'include',
85
- headers: {
86
- 'Content-Type': 'application/json'
87
- },
88
- body: input ? JSON.stringify(input) : undefined
89
- }).then(async (response)=>{
90
- if (!response.ok) {
91
- throw new Error(`Request failed: ${response.status} ${response.statusText}`);
92
- }
93
- return response.json();
94
- });
95
- }
96
- };
97
- }
98
- export function defineProcedure(config) {
99
- const proc = createProcedure(config, config.input);
100
- return {
101
- path: config.path,
102
- method: config.method,
103
- returns () {
104
- return createProcedure(config, config.input);
105
- },
106
- endpoint: proc.endpoint,
107
- call: proc.call
108
- };
109
- }
110
-
111
- //# sourceMappingURL=procedure.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/internals/procedure.ts"],"sourcesContent":["import type { Endpoint, PayloadRequest } from 'payload';\n\ntype Method = 'get' | 'post' | 'put' | 'patch' | 'delete';\n\n/** Any Zod-like schema with safeParse and inferred output */\ninterface ZodLike<TOutput = unknown> {\n safeParse(\n data: unknown,\n ): { success: true; data: TOutput } | { success: false; error: unknown };\n}\n\ntype InferOutput<T> = T extends ZodLike<infer O> ? O : never;\n\ninterface ProcedureConfig<TSchema extends ZodLike | undefined = undefined> {\n path: `/${string}`;\n method: Method;\n input?: TSchema;\n}\n\nexport interface Procedure<TInput, TOutput> {\n path: `/${string}`;\n method: Method;\n endpoint(\n handler: (\n req: PayloadRequest,\n ...args: TInput extends void ? [] : [input: TInput]\n ) => Promise<unknown | Response>,\n ): Endpoint;\n call(\n apiUrl: string,\n ...args: TInput extends void ? [] : [input: TInput]\n ): Promise<TOutput>;\n}\n\nexport interface ProcedureBuilder<TInput> {\n path: string;\n method: Method;\n returns<TOutput>(): Procedure<TInput, TOutput>;\n endpoint(\n handler: (\n req: PayloadRequest,\n ...args: TInput extends void ? [] : [input: TInput]\n ) => Promise<unknown | Response>,\n ): Endpoint;\n call(\n apiUrl: string,\n ...args: TInput extends void ? [] : [input: TInput]\n ): Promise<unknown>;\n}\n\nfunction wrapOutput(output: unknown): Response {\n if (output instanceof Response) return output;\n return Response.json(output);\n}\n\nfunction createProcedure<TInput, TOutput>(\n config: ProcedureConfig<ZodLike | undefined>,\n inputSchema: ZodLike | undefined,\n): Procedure<TInput, TOutput> {\n return {\n path: config.path,\n method: config.method,\n endpoint(handler) {\n return {\n path: config.path,\n method: config.method,\n handler: async (req) => {\n if (inputSchema) {\n if (config.method === 'get') {\n const routeParams = req.routeParams ?? {};\n const searchParams = req.searchParams\n ? Object.fromEntries(req.searchParams.entries())\n : {};\n const merged = { ...searchParams, ...routeParams };\n const result = inputSchema.safeParse(merged);\n if (!result.success) {\n return Response.json({ error: result.error }, { status: 400 });\n }\n // biome-ignore lint/complexity/noBannedTypes: ugly type cast\n const output = await (handler as Function)(req, result.data);\n return wrapOutput(output);\n }\n\n const { addDataAndFileToRequest } = await import(\n /* webpackIgnore: true */ 'payload'\n );\n await addDataAndFileToRequest(req);\n const result = inputSchema.safeParse(req.data);\n if (!result.success) {\n return Response.json({ error: result.error }, { status: 400 });\n }\n // biome-ignore lint/complexity/noBannedTypes: ugly type cast\n const output = await (handler as Function)(req, result.data);\n return wrapOutput(output);\n }\n // biome-ignore lint/complexity/noBannedTypes: ugly type cast\n const output = await (handler as Function)(req);\n return wrapOutput(output);\n },\n };\n },\n call(apiUrl, ...args) {\n const input = args[0] as Record<string, unknown> | undefined;\n\n if (config.method === 'get') {\n let resolvedPath = config.path;\n const queryParams: Record<string, string> = {};\n\n if (input) {\n for (const [key, value] of Object.entries(input)) {\n if (value == null) continue;\n if (resolvedPath.includes(`:${key}`)) {\n resolvedPath = resolvedPath.replace(\n `:${key}`,\n encodeURIComponent(String(value)),\n ) as `/${string}`;\n } else {\n queryParams[key] = String(value);\n }\n }\n }\n\n const queryString = new URLSearchParams(queryParams).toString();\n const url = `${apiUrl}${resolvedPath}${queryString ? `?${queryString}` : ''}`;\n\n return fetch(url, {\n method: 'GET',\n credentials: 'include',\n }).then(async (response) => {\n if (!response.ok) {\n throw new Error(\n `Request failed: ${response.status} ${response.statusText}`,\n );\n }\n return response.json();\n }) as Promise<TOutput>;\n }\n\n const url = `${apiUrl}${config.path}`;\n return fetch(url, {\n method: config.method.toUpperCase(),\n credentials: 'include',\n headers: { 'Content-Type': 'application/json' },\n body: input ? JSON.stringify(input) : undefined,\n }).then(async (response) => {\n if (!response.ok) {\n throw new Error(\n `Request failed: ${response.status} ${response.statusText}`,\n );\n }\n return response.json();\n }) as Promise<TOutput>;\n },\n };\n}\n\nexport function defineProcedure<\n TSchema extends ZodLike | undefined = undefined,\n>(\n config: ProcedureConfig<TSchema>,\n): ProcedureBuilder<TSchema extends ZodLike ? InferOutput<TSchema> : void> {\n type TInput = TSchema extends ZodLike ? InferOutput<TSchema> : undefined;\n const proc = createProcedure<TInput, unknown>(config, config.input);\n\n return {\n path: config.path,\n method: config.method,\n returns<TOutput>(): Procedure<TInput, TOutput> {\n return createProcedure<TInput, TOutput>(config, config.input);\n },\n endpoint: proc.endpoint as unknown as ProcedureBuilder<TInput>['endpoint'],\n call: proc.call as ProcedureBuilder<TInput>['call'],\n };\n}\n"],"names":["wrapOutput","output","Response","json","createProcedure","config","inputSchema","path","method","endpoint","handler","req","routeParams","searchParams","Object","fromEntries","entries","merged","result","safeParse","success","error","status","data","addDataAndFileToRequest","call","apiUrl","args","input","resolvedPath","queryParams","key","value","includes","replace","encodeURIComponent","String","queryString","URLSearchParams","toString","url","fetch","credentials","then","response","ok","Error","statusText","toUpperCase","headers","body","JSON","stringify","undefined","defineProcedure","proc","returns"],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- import type { PayloadRequest } from 'payload';
2
- export declare function getServerURL(req: PayloadRequest): string;
3
- export declare function getAdminURL({ req, path, }: {
4
- req: PayloadRequest;
5
- path?: '' | `/${string}` | null;
6
- }): string;
7
- export declare function getApiURL({ req, path, }: {
8
- req: PayloadRequest;
9
- path?: '' | `/${string}` | null;
10
- }): string;
11
- //# sourceMappingURL=urls.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"urls.d.ts","sourceRoot":"","sources":["../../src/internals/urls.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAG9C,wBAAgB,YAAY,CAAC,GAAG,EAAE,cAAc,GAAG,MAAM,CAWxD;AAED,wBAAgB,WAAW,CAAC,EAC1B,GAAG,EACH,IAAI,GACL,EAAE;IACD,GAAG,EAAE,cAAc,CAAC;IACpB,IAAI,CAAC,EAAE,EAAE,GAAG,IAAI,MAAM,EAAE,GAAG,IAAI,CAAC;CACjC,GAAG,MAAM,CAMT;AAED,wBAAgB,SAAS,CAAC,EACxB,GAAG,EACH,IAAI,GACL,EAAE;IACD,GAAG,EAAE,cAAc,CAAC;IACpB,IAAI,CAAC,EAAE,EAAE,GAAG,IAAI,MAAM,EAAE,GAAG,IAAI,CAAC;CACjC,GAAG,MAAM,CAMT"}
@@ -1,23 +0,0 @@
1
- import { formatAdminURL } from 'payload/shared';
2
- export function getServerURL(req) {
3
- if (!req.url) throw new Error('Could not get serverURL, since request URL is not available');
4
- const { config } = req.payload;
5
- if (config.serverURL) return config.serverURL;
6
- return `${new URL(req.url).protocol}//${req.headers.get('host')}`;
7
- }
8
- export function getAdminURL({ req, path }) {
9
- return formatAdminURL({
10
- adminRoute: req.payload.config.routes.admin,
11
- serverURL: getServerURL(req),
12
- path
13
- });
14
- }
15
- export function getApiURL({ req, path }) {
16
- return formatAdminURL({
17
- apiRoute: req.payload.config.routes.api,
18
- serverURL: getServerURL(req),
19
- path
20
- });
21
- }
22
-
23
- //# sourceMappingURL=urls.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/internals/urls.ts"],"sourcesContent":["import type { PayloadRequest } from 'payload';\nimport { formatAdminURL } from 'payload/shared';\n\nexport function getServerURL(req: PayloadRequest): string {\n if (!req.url)\n throw new Error(\n 'Could not get serverURL, since request URL is not available',\n );\n\n const { config } = req.payload;\n\n if (config.serverURL) return config.serverURL;\n\n return `${new URL(req.url).protocol}//${req.headers.get('host')}`;\n}\n\nexport function getAdminURL({\n req,\n path,\n}: {\n req: PayloadRequest;\n path?: '' | `/${string}` | null;\n}): string {\n return formatAdminURL({\n adminRoute: req.payload.config.routes.admin,\n serverURL: getServerURL(req),\n path,\n });\n}\n\nexport function getApiURL({\n req,\n path,\n}: {\n req: PayloadRequest;\n path?: '' | `/${string}` | null;\n}): string {\n return formatAdminURL({\n apiRoute: req.payload.config.routes.api,\n serverURL: getServerURL(req),\n path,\n });\n}\n"],"names":["formatAdminURL","getServerURL","req","url","Error","config","payload","serverURL","URL","protocol","headers","get","getAdminURL","path","adminRoute","routes","admin","getApiURL","apiRoute","api"],"mappings":"AACA,SAASA,cAAc,QAAQ,iBAAiB;AAEhD,OAAO,SAASC,aAAaC,GAAmB;IAC9C,IAAI,CAACA,IAAIC,GAAG,EACV,MAAM,IAAIC,MACR;IAGJ,MAAM,EAAEC,MAAM,EAAE,GAAGH,IAAII,OAAO;IAE9B,IAAID,OAAOE,SAAS,EAAE,OAAOF,OAAOE,SAAS;IAE7C,OAAO,GAAG,IAAIC,IAAIN,IAAIC,GAAG,EAAEM,QAAQ,CAAC,EAAE,EAAEP,IAAIQ,OAAO,CAACC,GAAG,CAAC,SAAS;AACnE;AAEA,OAAO,SAASC,YAAY,EAC1BV,GAAG,EACHW,IAAI,EAIL;IACC,OAAOb,eAAe;QACpBc,YAAYZ,IAAII,OAAO,CAACD,MAAM,CAACU,MAAM,CAACC,KAAK;QAC3CT,WAAWN,aAAaC;QACxBW;IACF;AACF;AAEA,OAAO,SAASI,UAAU,EACxBf,GAAG,EACHW,IAAI,EAIL;IACC,OAAOb,eAAe;QACpBkB,UAAUhB,IAAII,OAAO,CAACD,MAAM,CAACU,MAAM,CAACI,GAAG;QACvCZ,WAAWN,aAAaC;QACxBW;IACF;AACF"}
@@ -1,8 +0,0 @@
1
- import type { Field } from 'payload';
2
- export declare const uncaughtSwitchCase: (value: never) => never;
3
- export type FieldWithPath<T extends Field> = T & {
4
- path: string[];
5
- };
6
- export declare function findFields<T extends Field>(fields: Field[], condition: (field: Field) => field is T, path?: string[]): FieldWithPath<T>[];
7
- export declare function findFields(fields: Field[], condition: (field: Field) => boolean, path?: string[]): FieldWithPath<Field>[];
8
- //# sourceMappingURL=utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/internals/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAErC,eAAO,MAAM,kBAAkB,UAAW,KAAK,UAE9C,CAAC;AAEF,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,GAAG;IAC/C,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB,CAAC;AAEF,wBAAgB,UAAU,CAAC,CAAC,SAAS,KAAK,EACxC,MAAM,EAAE,KAAK,EAAE,EACf,SAAS,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,KAAK,IAAI,CAAC,EACvC,IAAI,CAAC,EAAE,MAAM,EAAE,GACd,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;AACtB,wBAAgB,UAAU,CACxB,MAAM,EAAE,KAAK,EAAE,EACf,SAAS,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,EACpC,IAAI,CAAC,EAAE,MAAM,EAAE,GACd,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC"}
@@ -1,57 +0,0 @@
1
- export const uncaughtSwitchCase = (value)=>{
2
- throw new Error(`Unhandled switch case: ${value}`);
3
- };
4
- export function findFields(fields, condition, path = []) {
5
- return fields.flatMap((field)=>{
6
- if (condition(field)) {
7
- return [
8
- {
9
- ...field,
10
- path: 'name' in field ? [
11
- ...path,
12
- field.name
13
- ] : path
14
- }
15
- ];
16
- }
17
- if ('fields' in field) {
18
- return findFields(field.fields, condition, 'name' in field ? [
19
- ...path,
20
- field.name
21
- ] : path);
22
- }
23
- switch(field.type){
24
- case 'blocks':
25
- return field.blocks.flatMap((block)=>findFields(block.fields, condition, [
26
- ...path,
27
- field.name
28
- ]));
29
- case 'tabs':
30
- return field.tabs.flatMap((tab)=>findFields(tab.fields, condition, 'name' in tab ? [
31
- ...path,
32
- tab.name
33
- ] : path));
34
- case 'text':
35
- case 'richText':
36
- case 'number':
37
- case 'checkbox':
38
- case 'date':
39
- case 'email':
40
- case 'select':
41
- case 'json':
42
- case 'code':
43
- case 'join':
44
- case 'point':
45
- case 'radio':
46
- case 'textarea':
47
- case 'ui':
48
- case 'relationship':
49
- case 'upload':
50
- return [];
51
- default:
52
- return uncaughtSwitchCase(field);
53
- }
54
- });
55
- }
56
-
57
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/internals/utils.ts"],"sourcesContent":["import type { Field } from 'payload';\n\nexport const uncaughtSwitchCase = (value: never) => {\n throw new Error(`Unhandled switch case: ${value}`);\n};\n\nexport type FieldWithPath<T extends Field> = T & {\n path: string[];\n};\n\nexport function findFields<T extends Field>(\n fields: Field[],\n condition: (field: Field) => field is T,\n path?: string[],\n): FieldWithPath<T>[];\nexport function findFields(\n fields: Field[],\n condition: (field: Field) => boolean,\n path?: string[],\n): FieldWithPath<Field>[];\nexport function findFields(\n fields: Field[],\n condition: (field: Field) => boolean,\n path: string[] = [],\n): FieldWithPath<Field>[] {\n return fields.flatMap((field) => {\n if (condition(field)) {\n return [\n { ...field, path: 'name' in field ? [...path, field.name] : path },\n ];\n }\n\n if ('fields' in field) {\n return findFields(\n field.fields,\n condition,\n 'name' in field ? [...path, field.name] : path,\n );\n }\n\n switch (field.type) {\n case 'blocks':\n return field.blocks.flatMap((block) =>\n findFields(block.fields, condition, [...path, field.name]),\n );\n case 'tabs':\n return field.tabs.flatMap((tab) =>\n findFields(\n tab.fields,\n condition,\n 'name' in tab ? [...path, tab.name] : path,\n ),\n );\n case 'text':\n case 'richText':\n case 'number':\n case 'checkbox':\n case 'date':\n case 'email':\n case 'select':\n case 'json':\n case 'code':\n case 'join':\n case 'point':\n case 'radio':\n case 'textarea':\n case 'ui':\n case 'relationship':\n case 'upload':\n return [];\n default:\n return uncaughtSwitchCase(field);\n }\n });\n}\n"],"names":["uncaughtSwitchCase","value","Error","findFields","fields","condition","path","flatMap","field","name","type","blocks","block","tabs","tab"],"mappings":"AAEA,OAAO,MAAMA,qBAAqB,CAACC;IACjC,MAAM,IAAIC,MAAM,CAAC,uBAAuB,EAAED,OAAO;AACnD,EAAE;AAgBF,OAAO,SAASE,WACdC,MAAe,EACfC,SAAoC,EACpCC,OAAiB,EAAE;IAEnB,OAAOF,OAAOG,OAAO,CAAC,CAACC;QACrB,IAAIH,UAAUG,QAAQ;YACpB,OAAO;gBACL;oBAAE,GAAGA,KAAK;oBAAEF,MAAM,UAAUE,QAAQ;2BAAIF;wBAAME,MAAMC,IAAI;qBAAC,GAAGH;gBAAK;aAClE;QACH;QAEA,IAAI,YAAYE,OAAO;YACrB,OAAOL,WACLK,MAAMJ,MAAM,EACZC,WACA,UAAUG,QAAQ;mBAAIF;gBAAME,MAAMC,IAAI;aAAC,GAAGH;QAE9C;QAEA,OAAQE,MAAME,IAAI;YAChB,KAAK;gBACH,OAAOF,MAAMG,MAAM,CAACJ,OAAO,CAAC,CAACK,QAC3BT,WAAWS,MAAMR,MAAM,EAAEC,WAAW;2BAAIC;wBAAME,MAAMC,IAAI;qBAAC;YAE7D,KAAK;gBACH,OAAOD,MAAMK,IAAI,CAACN,OAAO,CAAC,CAACO,MACzBX,WACEW,IAAIV,MAAM,EACVC,WACA,UAAUS,MAAM;2BAAIR;wBAAMQ,IAAIL,IAAI;qBAAC,GAAGH;YAG5C,KAAK;YACL,KAAK;YACL,KAAK;YACL,KAAK;YACL,KAAK;YACL,KAAK;YACL,KAAK;YACL,KAAK;YACL,KAAK;YACL,KAAK;YACL,KAAK;YACL,KAAK;YACL,KAAK;YACL,KAAK;YACL,KAAK;YACL,KAAK;gBACH,OAAO,EAAE;YACX;gBACE,OAAON,mBAAmBQ;QAC9B;IACF;AACF"}
@@ -1,15 +0,0 @@
1
- /* tslint:disable */ /* eslint-disable */ /**
2
- * This file was automatically generated by Payload.
3
- * DO NOT MODIFY IT BY HAND. Instead, modify your source Payload config,
4
- * and re-run `payload generate:types` to regenerate this file.
5
- */ /**
6
- * Supported timezones in IANA format.
7
- *
8
- * This interface was referenced by `Config`'s JSON-Schema
9
- * via the `definition` "supportedTimezones".
10
- */ /**
11
- * This interface was referenced by `Config`'s JSON-Schema
12
- * via the `definition` "auth".
13
- */ export { };
14
-
15
- //# sourceMappingURL=payload-types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/payload-types.ts"],"sourcesContent":["/* tslint:disable */\n/* eslint-disable */\n/**\n * This file was automatically generated by Payload.\n * DO NOT MODIFY IT BY HAND. Instead, modify your source Payload config,\n * and re-run `payload generate:types` to regenerate this file.\n */\n\n/**\n * Supported timezones in IANA format.\n *\n * This interface was referenced by `Config`'s JSON-Schema\n * via the `definition` \"supportedTimezones\".\n */\nexport type SupportedTimezones =\n | 'Pacific/Midway'\n | 'Pacific/Niue'\n | 'Pacific/Honolulu'\n | 'Pacific/Rarotonga'\n | 'America/Anchorage'\n | 'Pacific/Gambier'\n | 'America/Los_Angeles'\n | 'America/Tijuana'\n | 'America/Denver'\n | 'America/Phoenix'\n | 'America/Chicago'\n | 'America/Guatemala'\n | 'America/New_York'\n | 'America/Bogota'\n | 'America/Caracas'\n | 'America/Santiago'\n | 'America/Buenos_Aires'\n | 'America/Sao_Paulo'\n | 'Atlantic/South_Georgia'\n | 'Atlantic/Azores'\n | 'Atlantic/Cape_Verde'\n | 'Europe/London'\n | 'Europe/Berlin'\n | 'Africa/Lagos'\n | 'Europe/Athens'\n | 'Africa/Cairo'\n | 'Europe/Moscow'\n | 'Asia/Riyadh'\n | 'Asia/Dubai'\n | 'Asia/Baku'\n | 'Asia/Karachi'\n | 'Asia/Tashkent'\n | 'Asia/Calcutta'\n | 'Asia/Dhaka'\n | 'Asia/Almaty'\n | 'Asia/Jakarta'\n | 'Asia/Bangkok'\n | 'Asia/Shanghai'\n | 'Asia/Singapore'\n | 'Asia/Tokyo'\n | 'Asia/Seoul'\n | 'Australia/Brisbane'\n | 'Australia/Sydney'\n | 'Pacific/Guam'\n | 'Pacific/Noumea'\n | 'Pacific/Auckland'\n | 'Pacific/Fiji';\n\nexport interface Config {\n auth: {\n users: UserAuthOperations;\n };\n blocks: {};\n collections: {\n users: User;\n messages: Message;\n 'payload-kv': PayloadKv;\n 'payload-locked-documents': PayloadLockedDocument;\n 'payload-preferences': PayloadPreference;\n 'payload-migrations': PayloadMigration;\n };\n collectionsJoins: {};\n collectionsSelect: {\n users: UsersSelect<false> | UsersSelect<true>;\n messages: MessagesSelect<false> | MessagesSelect<true>;\n 'payload-kv': PayloadKvSelect<false> | PayloadKvSelect<true>;\n 'payload-locked-documents': PayloadLockedDocumentsSelect<false> | PayloadLockedDocumentsSelect<true>;\n 'payload-preferences': PayloadPreferencesSelect<false> | PayloadPreferencesSelect<true>;\n 'payload-migrations': PayloadMigrationsSelect<false> | PayloadMigrationsSelect<true>;\n };\n db: {\n defaultIDType: string;\n };\n fallbackLocale: null;\n globals: {};\n globalsSelect: {};\n locale: null;\n user: User & {\n collection: 'users';\n };\n jobs: {\n tasks: unknown;\n workflows: unknown;\n };\n}\nexport interface UserAuthOperations {\n forgotPassword: {\n email: string;\n password: string;\n };\n login: {\n email: string;\n password: string;\n };\n registerFirstUser: {\n email: string;\n password: string;\n };\n unlock: {\n email: string;\n password: string;\n };\n}\n/**\n * This interface was referenced by `Config`'s JSON-Schema\n * via the `definition` \"users\".\n */\nexport interface User {\n id: string;\n updatedAt: string;\n createdAt: string;\n email: string;\n resetPasswordToken?: string | null;\n resetPasswordExpiration?: string | null;\n salt?: string | null;\n hash?: string | null;\n loginAttempts?: number | null;\n lockUntil?: string | null;\n sessions?:\n | {\n id: string;\n createdAt?: string | null;\n expiresAt: string;\n }[]\n | null;\n password?: string | null;\n}\n/**\n * This interface was referenced by `Config`'s JSON-Schema\n * via the `definition` \"messages\".\n */\nexport interface Message {\n id: string;\n locale: string;\n updatedAt: string;\n createdAt: string;\n url?: string | null;\n thumbnailURL?: string | null;\n filename?: string | null;\n mimeType?: string | null;\n filesize?: number | null;\n width?: number | null;\n height?: number | null;\n focalX?: number | null;\n focalY?: number | null;\n}\n/**\n * This interface was referenced by `Config`'s JSON-Schema\n * via the `definition` \"payload-kv\".\n */\nexport interface PayloadKv {\n id: string;\n key: string;\n data:\n | {\n [k: string]: unknown;\n }\n | unknown[]\n | string\n | number\n | boolean\n | null;\n}\n/**\n * This interface was referenced by `Config`'s JSON-Schema\n * via the `definition` \"payload-locked-documents\".\n */\nexport interface PayloadLockedDocument {\n id: string;\n document?:\n | ({\n relationTo: 'users';\n value: string | User;\n } | null)\n | ({\n relationTo: 'messages';\n value: string | Message;\n } | null);\n globalSlug?: string | null;\n user: {\n relationTo: 'users';\n value: string | User;\n };\n updatedAt: string;\n createdAt: string;\n}\n/**\n * This interface was referenced by `Config`'s JSON-Schema\n * via the `definition` \"payload-preferences\".\n */\nexport interface PayloadPreference {\n id: string;\n user: {\n relationTo: 'users';\n value: string | User;\n };\n key?: string | null;\n value?:\n | {\n [k: string]: unknown;\n }\n | unknown[]\n | string\n | number\n | boolean\n | null;\n updatedAt: string;\n createdAt: string;\n}\n/**\n * This interface was referenced by `Config`'s JSON-Schema\n * via the `definition` \"payload-migrations\".\n */\nexport interface PayloadMigration {\n id: string;\n name?: string | null;\n batch?: number | null;\n updatedAt: string;\n createdAt: string;\n}\n/**\n * This interface was referenced by `Config`'s JSON-Schema\n * via the `definition` \"users_select\".\n */\nexport interface UsersSelect<T extends boolean = true> {\n updatedAt?: T;\n createdAt?: T;\n email?: T;\n resetPasswordToken?: T;\n resetPasswordExpiration?: T;\n salt?: T;\n hash?: T;\n loginAttempts?: T;\n lockUntil?: T;\n sessions?:\n | T\n | {\n id?: T;\n createdAt?: T;\n expiresAt?: T;\n };\n}\n/**\n * This interface was referenced by `Config`'s JSON-Schema\n * via the `definition` \"messages_select\".\n */\nexport interface MessagesSelect<T extends boolean = true> {\n locale?: T;\n updatedAt?: T;\n createdAt?: T;\n url?: T;\n thumbnailURL?: T;\n filename?: T;\n mimeType?: T;\n filesize?: T;\n width?: T;\n height?: T;\n focalX?: T;\n focalY?: T;\n}\n/**\n * This interface was referenced by `Config`'s JSON-Schema\n * via the `definition` \"payload-kv_select\".\n */\nexport interface PayloadKvSelect<T extends boolean = true> {\n key?: T;\n data?: T;\n}\n/**\n * This interface was referenced by `Config`'s JSON-Schema\n * via the `definition` \"payload-locked-documents_select\".\n */\nexport interface PayloadLockedDocumentsSelect<T extends boolean = true> {\n document?: T;\n globalSlug?: T;\n user?: T;\n updatedAt?: T;\n createdAt?: T;\n}\n/**\n * This interface was referenced by `Config`'s JSON-Schema\n * via the `definition` \"payload-preferences_select\".\n */\nexport interface PayloadPreferencesSelect<T extends boolean = true> {\n user?: T;\n key?: T;\n value?: T;\n updatedAt?: T;\n createdAt?: T;\n}\n/**\n * This interface was referenced by `Config`'s JSON-Schema\n * via the `definition` \"payload-migrations_select\".\n */\nexport interface PayloadMigrationsSelect<T extends boolean = true> {\n name?: T;\n batch?: T;\n updatedAt?: T;\n createdAt?: T;\n}\n/**\n * This interface was referenced by `Config`'s JSON-Schema\n * via the `definition` \"auth\".\n */\nexport interface Auth {\n [k: string]: unknown;\n}\n\n\ndeclare module 'payload' {\n export interface GeneratedTypes extends Config {}\n}"],"names":[],"mappings":"AAAA,kBAAkB,GAClB,kBAAkB,GAClB;;;;CAIC,GAED;;;;;CAKC,GA8SD;;;CAGC,GACD,WAEC"}
@@ -1,10 +0,0 @@
1
- export interface MessagesRequestConfig {
2
- serverUrl: string;
3
- /**
4
- * If defined a custom api route in your payload.config.ts (`routes.api`), add them same here.
5
- * @default 'api'
6
- */
7
- apiRoute?: string;
8
- }
9
- export declare function fetchMessagesFromAPI({ serverUrl, apiRoute }: MessagesRequestConfig, locale: string): Promise<any>;
10
- //# sourceMappingURL=fetchMessageFromAPI.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fetchMessageFromAPI.d.ts","sourceRoot":"","sources":["../../src/requests/fetchMessageFromAPI.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,oBAAoB,CACxC,EAAE,SAAS,EAAE,QAAgB,EAAE,EAAE,qBAAqB,EACtD,MAAM,EAAE,MAAM,gBAmBf"}
@@ -1,15 +0,0 @@
1
- import { ENDPOINTS } from '../const';
2
- export async function fetchMessagesFromAPI({ serverUrl, apiRoute = 'api' }, locale) {
3
- const cleanApiRoute = apiRoute.replace(/^\/|\/$/g, '');
4
- const relativePath = ENDPOINTS.getMessages.path.replace(/^\/|\/$/g, '').replace(':locale', locale);
5
- const fullPath = `/${cleanApiRoute}/${relativePath}`;
6
- const url = new URL(fullPath, serverUrl);
7
- console.debug(`PAYLOAD_INTL: Fetching messages from API: ${url.toString()}`);
8
- const response = await fetch(url.toString());
9
- if (!response.ok) {
10
- throw new Error(`Failed to fetch messages for locale ${locale}`);
11
- }
12
- return await response.json();
13
- }
14
-
15
- //# sourceMappingURL=fetchMessageFromAPI.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/requests/fetchMessageFromAPI.ts"],"sourcesContent":["import { ENDPOINTS } from '@/const';\n\nexport interface MessagesRequestConfig {\n serverUrl: string;\n /**\n * If defined a custom api route in your payload.config.ts (`routes.api`), add them same here.\n * @default 'api'\n */\n apiRoute?: string;\n}\n\nexport async function fetchMessagesFromAPI(\n { serverUrl, apiRoute = 'api' }: MessagesRequestConfig,\n locale: string,\n) {\n const cleanApiRoute = apiRoute.replace(/^\\/|\\/$/g, '');\n\n const relativePath = ENDPOINTS.getMessages.path\n .replace(/^\\/|\\/$/g, '')\n .replace(':locale', locale);\n\n const fullPath = `/${cleanApiRoute}/${relativePath}`;\n\n const url = new URL(fullPath, serverUrl);\n\n console.debug(`PAYLOAD_INTL: Fetching messages from API: ${url.toString()}`);\n\n const response = await fetch(url.toString());\n if (!response.ok) {\n throw new Error(`Failed to fetch messages for locale ${locale}`);\n }\n return await response.json();\n}\n"],"names":["ENDPOINTS","fetchMessagesFromAPI","serverUrl","apiRoute","locale","cleanApiRoute","replace","relativePath","getMessages","path","fullPath","url","URL","console","debug","toString","response","fetch","ok","Error","json"],"mappings":"AAAA,SAASA,SAAS,QAAQ,UAAU;AAWpC,OAAO,eAAeC,qBACpB,EAAEC,SAAS,EAAEC,WAAW,KAAK,EAAyB,EACtDC,MAAc;IAEd,MAAMC,gBAAgBF,SAASG,OAAO,CAAC,YAAY;IAEnD,MAAMC,eAAeP,UAAUQ,WAAW,CAACC,IAAI,CAC5CH,OAAO,CAAC,YAAY,IACpBA,OAAO,CAAC,WAAWF;IAEtB,MAAMM,WAAW,CAAC,CAAC,EAAEL,cAAc,CAAC,EAAEE,cAAc;IAEpD,MAAMI,MAAM,IAAIC,IAAIF,UAAUR;IAE9BW,QAAQC,KAAK,CAAC,CAAC,0CAA0C,EAAEH,IAAII,QAAQ,IAAI;IAE3E,MAAMC,WAAW,MAAMC,MAAMN,IAAII,QAAQ;IACzC,IAAI,CAACC,SAASE,EAAE,EAAE;QAChB,MAAM,IAAIC,MAAM,CAAC,oCAAoC,EAAEf,QAAQ;IACjE;IACA,OAAO,MAAMY,SAASI,IAAI;AAC5B"}
@@ -1,3 +0,0 @@
1
- import type { BasePayload } from 'payload';
2
- export declare function fetchMessagesFromPayload(payload: BasePayload, locale: string): Promise<any>;
3
- //# sourceMappingURL=fetchMessageFromPayload.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fetchMessageFromPayload.d.ts","sourceRoot":"","sources":["../../src/requests/fetchMessageFromPayload.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAI3C,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,MAAM,gBAkCf"}
@@ -1,29 +0,0 @@
1
- import { getPluginContext } from '../utils/config';
2
- import { getErrorMessage } from '../utils/error-handling';
3
- export async function fetchMessagesFromPayload(payload, locale) {
4
- const { docs: [doc] } = await payload.find({
5
- collection: getPluginContext(payload.config).collectionSlug,
6
- where: {
7
- locale: {
8
- equals: locale
9
- }
10
- }
11
- });
12
- if (!doc) {
13
- console.warn(`No messages found for locale ${locale}`);
14
- return {};
15
- }
16
- const { url } = doc;
17
- console.debug(`PAYLOAD_INTL: Fetching messages from stroage: ${url}`);
18
- const response = await fetch(url);
19
- if (!response.ok) {
20
- const error = await getErrorMessage(response);
21
- throw new Error(`Could not fetch messages for locale "${locale}": ${error}`);
22
- }
23
- if (response.headers.get('content-type') !== 'application/json') {
24
- throw new Error(`Could not fetch messages for locale "${locale}": The page did not return a JSON file.`);
25
- }
26
- return await response.json();
27
- }
28
-
29
- //# sourceMappingURL=fetchMessageFromPayload.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/requests/fetchMessageFromPayload.ts"],"sourcesContent":["import type { BasePayload } from 'payload';\nimport { getPluginContext } from '@/utils/config';\nimport { getErrorMessage } from '@/utils/error-handling';\n\nexport async function fetchMessagesFromPayload(\n payload: BasePayload,\n locale: string,\n) {\n const {\n docs: [doc],\n } = await payload.find({\n collection: getPluginContext(payload.config).collectionSlug as 'messages',\n where: { locale: { equals: locale } },\n });\n\n if (!doc) {\n console.warn(`No messages found for locale ${locale}`);\n return {};\n }\n\n const { url } = doc as unknown as { url: string };\n\n console.debug(`PAYLOAD_INTL: Fetching messages from stroage: ${url}`);\n\n const response = await fetch(url);\n\n if (!response.ok) {\n const error = await getErrorMessage(response);\n throw new Error(\n `Could not fetch messages for locale \"${locale}\": ${error}`,\n );\n }\n\n if (response.headers.get('content-type') !== 'application/json') {\n throw new Error(\n `Could not fetch messages for locale \"${locale}\": The page did not return a JSON file.`,\n );\n }\n\n return await response.json();\n}\n"],"names":["getPluginContext","getErrorMessage","fetchMessagesFromPayload","payload","locale","docs","doc","find","collection","config","collectionSlug","where","equals","console","warn","url","debug","response","fetch","ok","error","Error","headers","get","json"],"mappings":"AACA,SAASA,gBAAgB,QAAQ,iBAAiB;AAClD,SAASC,eAAe,QAAQ,yBAAyB;AAEzD,OAAO,eAAeC,yBACpBC,OAAoB,EACpBC,MAAc;IAEd,MAAM,EACJC,MAAM,CAACC,IAAI,EACZ,GAAG,MAAMH,QAAQI,IAAI,CAAC;QACrBC,YAAYR,iBAAiBG,QAAQM,MAAM,EAAEC,cAAc;QAC3DC,OAAO;YAAEP,QAAQ;gBAAEQ,QAAQR;YAAO;QAAE;IACtC;IAEA,IAAI,CAACE,KAAK;QACRO,QAAQC,IAAI,CAAC,CAAC,6BAA6B,EAAEV,QAAQ;QACrD,OAAO,CAAC;IACV;IAEA,MAAM,EAAEW,GAAG,EAAE,GAAGT;IAEhBO,QAAQG,KAAK,CAAC,CAAC,8CAA8C,EAAED,KAAK;IAEpE,MAAME,WAAW,MAAMC,MAAMH;IAE7B,IAAI,CAACE,SAASE,EAAE,EAAE;QAChB,MAAMC,QAAQ,MAAMnB,gBAAgBgB;QACpC,MAAM,IAAII,MACR,CAAC,qCAAqC,EAAEjB,OAAO,GAAG,EAAEgB,OAAO;IAE/D;IAEA,IAAIH,SAASK,OAAO,CAACC,GAAG,CAAC,oBAAoB,oBAAoB;QAC/D,MAAM,IAAIF,MACR,CAAC,qCAAqC,EAAEjB,OAAO,uCAAuC,CAAC;IAE3F;IAEA,OAAO,MAAMa,SAASO,IAAI;AAC5B"}