payload-subscribers-plugin 0.0.1

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 (133) hide show
  1. package/README.md +305 -0
  2. package/dist/collections/OptInChannels.d.ts +3 -0
  3. package/dist/collections/OptInChannels.js +44 -0
  4. package/dist/collections/OptInChannels.js.map +1 -0
  5. package/dist/collections/Subscribers.d.ts +8 -0
  6. package/dist/collections/Subscribers.js +88 -0
  7. package/dist/collections/Subscribers.js.map +1 -0
  8. package/dist/collections/fields/OptedInChannels.d.ts +2 -0
  9. package/dist/collections/fields/OptedInChannels.js +12 -0
  10. package/dist/collections/fields/OptedInChannels.js.map +1 -0
  11. package/dist/components/BeforeDashboardClient.d.ts +1 -0
  12. package/dist/components/BeforeDashboardClient.js +40 -0
  13. package/dist/components/BeforeDashboardClient.js.map +1 -0
  14. package/dist/components/BeforeDashboardServer.d.ts +2 -0
  15. package/dist/components/BeforeDashboardServer.js +22 -0
  16. package/dist/components/BeforeDashboardServer.js.map +1 -0
  17. package/dist/components/BeforeDashboardServer.module.css +5 -0
  18. package/dist/components/app/RequestMagicLink.d.ts +16 -0
  19. package/dist/components/app/RequestMagicLink.js +114 -0
  20. package/dist/components/app/RequestMagicLink.js.map +1 -0
  21. package/dist/components/app/RequestMagicLink.module.css +5 -0
  22. package/dist/components/app/RequestOrSubscribe.d.ts +17 -0
  23. package/dist/components/app/RequestOrSubscribe.js +28 -0
  24. package/dist/components/app/RequestOrSubscribe.js.map +1 -0
  25. package/dist/components/app/SelectOptInChannels.d.ts +20 -0
  26. package/dist/components/app/SelectOptInChannels.js +120 -0
  27. package/dist/components/app/SelectOptInChannels.js.map +1 -0
  28. package/dist/components/app/SelectOptInChannels.module.css +5 -0
  29. package/dist/components/app/Subscribe.d.ts +18 -0
  30. package/dist/components/app/Subscribe.js +169 -0
  31. package/dist/components/app/Subscribe.js.map +1 -0
  32. package/dist/components/app/Subscribe.module.css +5 -0
  33. package/dist/components/app/SubscriberMenu.d.ts +7 -0
  34. package/dist/components/app/SubscriberMenu.js +44 -0
  35. package/dist/components/app/SubscriberMenu.js.map +1 -0
  36. package/dist/components/app/VerifyMagicLink.d.ts +23 -0
  37. package/dist/components/app/VerifyMagicLink.js +169 -0
  38. package/dist/components/app/VerifyMagicLink.js.map +1 -0
  39. package/dist/components/app/VerifyMagicLink.module.css +5 -0
  40. package/dist/components/app/helpers.d.ts +1 -0
  41. package/dist/components/app/helpers.js +5 -0
  42. package/dist/components/app/helpers.js.map +1 -0
  43. package/dist/components/app/shared.module.css +14 -0
  44. package/dist/contexts/SubscriberProvider.d.ts +15 -0
  45. package/dist/contexts/SubscriberProvider.js +105 -0
  46. package/dist/contexts/SubscriberProvider.js.map +1 -0
  47. package/dist/copied/payload-types.d.ts +395 -0
  48. package/dist/copied/payload-types.js +15 -0
  49. package/dist/copied/payload-types.js.map +1 -0
  50. package/dist/copied/payload.config.d.ts +2 -0
  51. package/dist/endpoints/customEndpointHandler.d.ts +2 -0
  52. package/dist/endpoints/customEndpointHandler.js +7 -0
  53. package/dist/endpoints/customEndpointHandler.js.map +1 -0
  54. package/dist/endpoints/getOptInChannels.d.ts +19 -0
  55. package/dist/endpoints/getOptInChannels.js +42 -0
  56. package/dist/endpoints/getOptInChannels.js.map +1 -0
  57. package/dist/endpoints/logout.d.ts +20 -0
  58. package/dist/endpoints/logout.js +60 -0
  59. package/dist/endpoints/logout.js.map +1 -0
  60. package/dist/endpoints/requestMagicLink.d.ts +20 -0
  61. package/dist/endpoints/requestMagicLink.js +122 -0
  62. package/dist/endpoints/requestMagicLink.js.map +1 -0
  63. package/dist/endpoints/subscribe.d.ts +24 -0
  64. package/dist/endpoints/subscribe.js +343 -0
  65. package/dist/endpoints/subscribe.js.map +1 -0
  66. package/dist/endpoints/subscriberAuth.d.ts +22 -0
  67. package/dist/endpoints/subscriberAuth.js +69 -0
  68. package/dist/endpoints/subscriberAuth.js.map +1 -0
  69. package/dist/endpoints/verifyMagicLink.d.ts +20 -0
  70. package/dist/endpoints/verifyMagicLink.js +142 -0
  71. package/dist/endpoints/verifyMagicLink.js.map +1 -0
  72. package/dist/exports/client.d.ts +1 -0
  73. package/dist/exports/client.js +3 -0
  74. package/dist/exports/client.js.map +1 -0
  75. package/dist/exports/index.d.ts +1 -0
  76. package/dist/exports/index.js +3 -0
  77. package/dist/exports/index.js.map +1 -0
  78. package/dist/exports/rsc.d.ts +1 -0
  79. package/dist/exports/rsc.js +3 -0
  80. package/dist/exports/rsc.js.map +1 -0
  81. package/dist/exports/ui.d.ts +11 -0
  82. package/dist/exports/ui.js +9 -0
  83. package/dist/exports/ui.js.map +1 -0
  84. package/dist/helpers/serverConfig.d.ts +4 -0
  85. package/dist/helpers/serverConfig.js +22 -0
  86. package/dist/helpers/serverConfig.js.map +1 -0
  87. package/dist/helpers/testData.d.ts +2 -0
  88. package/dist/helpers/testData.js +4 -0
  89. package/dist/helpers/testData.js.map +1 -0
  90. package/dist/helpers/token.d.ts +9 -0
  91. package/dist/helpers/token.js +20 -0
  92. package/dist/helpers/token.js.map +1 -0
  93. package/dist/helpers/verifyOptIns.d.ts +5 -0
  94. package/dist/helpers/verifyOptIns.js +33 -0
  95. package/dist/helpers/verifyOptIns.js.map +1 -0
  96. package/dist/index.d.ts +26 -0
  97. package/dist/index.js +147 -0
  98. package/dist/index.js.map +1 -0
  99. package/dist/react-hooks/useServerUrl.d.ts +3 -0
  100. package/dist/react-hooks/useServerUrl.js +19 -0
  101. package/dist/react-hooks/useServerUrl.js.map +1 -0
  102. package/dist/server-functions/serverUrl.d.ts +3 -0
  103. package/dist/server-functions/serverUrl.js +31 -0
  104. package/dist/server-functions/serverUrl.js.map +1 -0
  105. package/dist/server-functions/subscriberAuth.d.ts +11 -0
  106. package/package.json +94 -0
  107. package/src/collections/OptInChannels.ts +45 -0
  108. package/src/collections/Subscribers.ts +99 -0
  109. package/src/collections/fields/OptedInChannels.ts +12 -0
  110. package/src/components/app/RequestMagicLink.tsx +129 -0
  111. package/src/components/app/RequestOrSubscribe.tsx +58 -0
  112. package/src/components/app/SelectOptInChannels.tsx +147 -0
  113. package/src/components/app/Subscribe.tsx +190 -0
  114. package/src/components/app/SubscriberMenu.tsx +46 -0
  115. package/src/components/app/VerifyMagicLink.tsx +197 -0
  116. package/src/components/app/helpers.ts +6 -0
  117. package/src/components/app/shared.module.css +14 -0
  118. package/src/contexts/SubscriberProvider.tsx +122 -0
  119. package/src/copied/payload-types.ts +478 -0
  120. package/src/endpoints/getOptInChannels.ts +56 -0
  121. package/src/endpoints/logout.ts +104 -0
  122. package/src/endpoints/requestMagicLink.ts +139 -0
  123. package/src/endpoints/subscribe.ts +435 -0
  124. package/src/endpoints/subscriberAuth.ts +100 -0
  125. package/src/endpoints/verifyMagicLink.ts +164 -0
  126. package/src/exports/index.ts +1 -0
  127. package/src/exports/ui.ts +17 -0
  128. package/src/helpers/testData.ts +2 -0
  129. package/src/helpers/token.ts +14 -0
  130. package/src/helpers/verifyOptIns.ts +39 -0
  131. package/src/index.ts +207 -0
  132. package/src/react-hooks/useServerUrl.tsx +18 -0
  133. package/src/server-functions/serverUrl.ts +38 -0
@@ -0,0 +1,395 @@
1
+ /**
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
+ /**
7
+ * Supported timezones in IANA format.
8
+ *
9
+ * This interface was referenced by `Config`'s JSON-Schema
10
+ * via the `definition` "supportedTimezones".
11
+ */
12
+ export type SupportedTimezones = 'Pacific/Midway' | 'Pacific/Niue' | 'Pacific/Honolulu' | 'Pacific/Rarotonga' | 'America/Anchorage' | 'Pacific/Gambier' | 'America/Los_Angeles' | 'America/Tijuana' | 'America/Denver' | 'America/Phoenix' | 'America/Chicago' | 'America/Guatemala' | 'America/New_York' | 'America/Bogota' | 'America/Caracas' | 'America/Santiago' | 'America/Buenos_Aires' | 'America/Sao_Paulo' | 'Atlantic/South_Georgia' | 'Atlantic/Azores' | 'Atlantic/Cape_Verde' | 'Europe/London' | 'Europe/Berlin' | 'Africa/Lagos' | 'Europe/Athens' | 'Africa/Cairo' | 'Europe/Moscow' | 'Asia/Riyadh' | 'Asia/Dubai' | 'Asia/Baku' | 'Asia/Karachi' | 'Asia/Tashkent' | 'Asia/Calcutta' | 'Asia/Dhaka' | 'Asia/Almaty' | 'Asia/Jakarta' | 'Asia/Bangkok' | 'Asia/Shanghai' | 'Asia/Singapore' | 'Asia/Tokyo' | 'Asia/Seoul' | 'Australia/Brisbane' | 'Australia/Sydney' | 'Pacific/Guam' | 'Pacific/Noumea' | 'Pacific/Auckland' | 'Pacific/Fiji';
13
+ export interface Config {
14
+ auth: {
15
+ users: UserAuthOperations;
16
+ subscribers: SubscriberAuthOperations;
17
+ };
18
+ blocks: {};
19
+ collections: {
20
+ posts: Post;
21
+ media: Media;
22
+ users: User;
23
+ 'opt-in-channels': OptInChannel;
24
+ subscribers: Subscriber;
25
+ 'payload-kv': PayloadKv;
26
+ 'payload-locked-documents': PayloadLockedDocument;
27
+ 'payload-preferences': PayloadPreference;
28
+ 'payload-migrations': PayloadMigration;
29
+ };
30
+ collectionsJoins: {};
31
+ collectionsSelect: {
32
+ posts: PostsSelect<false> | PostsSelect<true>;
33
+ media: MediaSelect<false> | MediaSelect<true>;
34
+ users: UsersSelect<false> | UsersSelect<true>;
35
+ 'opt-in-channels': OptInChannelsSelect<false> | OptInChannelsSelect<true>;
36
+ subscribers: SubscribersSelect<false> | SubscribersSelect<true>;
37
+ 'payload-kv': PayloadKvSelect<false> | PayloadKvSelect<true>;
38
+ 'payload-locked-documents': PayloadLockedDocumentsSelect<false> | PayloadLockedDocumentsSelect<true>;
39
+ 'payload-preferences': PayloadPreferencesSelect<false> | PayloadPreferencesSelect<true>;
40
+ 'payload-migrations': PayloadMigrationsSelect<false> | PayloadMigrationsSelect<true>;
41
+ };
42
+ db: {
43
+ defaultIDType: string;
44
+ };
45
+ fallbackLocale: null;
46
+ globals: {};
47
+ globalsSelect: {};
48
+ locale: null;
49
+ user: (User & {
50
+ collection: 'users';
51
+ }) | (Subscriber & {
52
+ collection: 'subscribers';
53
+ });
54
+ jobs: {
55
+ tasks: unknown;
56
+ workflows: unknown;
57
+ };
58
+ }
59
+ export interface UserAuthOperations {
60
+ forgotPassword: {
61
+ email: string;
62
+ password: string;
63
+ };
64
+ login: {
65
+ email: string;
66
+ password: string;
67
+ };
68
+ registerFirstUser: {
69
+ email: string;
70
+ password: string;
71
+ };
72
+ unlock: {
73
+ email: string;
74
+ password: string;
75
+ };
76
+ }
77
+ export interface SubscriberAuthOperations {
78
+ forgotPassword: {
79
+ email: string;
80
+ password: string;
81
+ };
82
+ login: {
83
+ email: string;
84
+ password: string;
85
+ };
86
+ registerFirstUser: {
87
+ email: string;
88
+ password: string;
89
+ };
90
+ unlock: {
91
+ email: string;
92
+ password: string;
93
+ };
94
+ }
95
+ /**
96
+ * This interface was referenced by `Config`'s JSON-Schema
97
+ * via the `definition` "posts".
98
+ */
99
+ export interface Post {
100
+ id: string;
101
+ optIns?: (string | OptInChannel)[] | null;
102
+ updatedAt: string;
103
+ createdAt: string;
104
+ }
105
+ /**
106
+ * This interface was referenced by `Config`'s JSON-Schema
107
+ * via the `definition` "opt-in-channels".
108
+ */
109
+ export interface OptInChannel {
110
+ id: string;
111
+ title: string;
112
+ description?: string | null;
113
+ active: boolean;
114
+ slug?: string | null;
115
+ updatedAt: string;
116
+ createdAt: string;
117
+ }
118
+ /**
119
+ * This interface was referenced by `Config`'s JSON-Schema
120
+ * via the `definition` "media".
121
+ */
122
+ export interface Media {
123
+ id: string;
124
+ updatedAt: string;
125
+ createdAt: string;
126
+ url?: string | null;
127
+ thumbnailURL?: string | null;
128
+ filename?: string | null;
129
+ mimeType?: string | null;
130
+ filesize?: number | null;
131
+ width?: number | null;
132
+ height?: number | null;
133
+ focalX?: number | null;
134
+ focalY?: number | null;
135
+ }
136
+ /**
137
+ * This interface was referenced by `Config`'s JSON-Schema
138
+ * via the `definition` "users".
139
+ */
140
+ export interface User {
141
+ id: string;
142
+ updatedAt: string;
143
+ createdAt: string;
144
+ email: string;
145
+ resetPasswordToken?: string | null;
146
+ resetPasswordExpiration?: string | null;
147
+ salt?: string | null;
148
+ hash?: string | null;
149
+ loginAttempts?: number | null;
150
+ lockUntil?: string | null;
151
+ sessions?: {
152
+ id: string;
153
+ createdAt?: string | null;
154
+ expiresAt: string;
155
+ }[] | null;
156
+ password?: string | null;
157
+ }
158
+ /**
159
+ * This interface was referenced by `Config`'s JSON-Schema
160
+ * via the `definition` "subscribers".
161
+ */
162
+ export interface Subscriber {
163
+ id: string;
164
+ firstName?: string | null;
165
+ status: 'subscribed' | 'unsubscribed' | 'pending';
166
+ source?: string | null;
167
+ verificationToken?: string | null;
168
+ verificationTokenExpires?: string | null;
169
+ optIns?: (string | OptInChannel)[] | null;
170
+ updatedAt: string;
171
+ createdAt: string;
172
+ email: string;
173
+ resetPasswordToken?: string | null;
174
+ resetPasswordExpiration?: string | null;
175
+ salt?: string | null;
176
+ hash?: string | null;
177
+ loginAttempts?: number | null;
178
+ lockUntil?: string | null;
179
+ sessions?: {
180
+ id: string;
181
+ createdAt?: string | null;
182
+ expiresAt: string;
183
+ }[] | null;
184
+ password?: string | null;
185
+ }
186
+ /**
187
+ * This interface was referenced by `Config`'s JSON-Schema
188
+ * via the `definition` "payload-kv".
189
+ */
190
+ export interface PayloadKv {
191
+ id: string;
192
+ key: string;
193
+ data: {
194
+ [k: string]: unknown;
195
+ } | unknown[] | string | number | boolean | null;
196
+ }
197
+ /**
198
+ * This interface was referenced by `Config`'s JSON-Schema
199
+ * via the `definition` "payload-locked-documents".
200
+ */
201
+ export interface PayloadLockedDocument {
202
+ id: string;
203
+ document?: ({
204
+ relationTo: 'posts';
205
+ value: string | Post;
206
+ } | null) | ({
207
+ relationTo: 'media';
208
+ value: string | Media;
209
+ } | null) | ({
210
+ relationTo: 'users';
211
+ value: string | User;
212
+ } | null) | ({
213
+ relationTo: 'opt-in-channels';
214
+ value: string | OptInChannel;
215
+ } | null) | ({
216
+ relationTo: 'subscribers';
217
+ value: string | Subscriber;
218
+ } | null);
219
+ globalSlug?: string | null;
220
+ user: {
221
+ relationTo: 'users';
222
+ value: string | User;
223
+ } | {
224
+ relationTo: 'subscribers';
225
+ value: string | Subscriber;
226
+ };
227
+ updatedAt: string;
228
+ createdAt: string;
229
+ }
230
+ /**
231
+ * This interface was referenced by `Config`'s JSON-Schema
232
+ * via the `definition` "payload-preferences".
233
+ */
234
+ export interface PayloadPreference {
235
+ id: string;
236
+ user: {
237
+ relationTo: 'users';
238
+ value: string | User;
239
+ } | {
240
+ relationTo: 'subscribers';
241
+ value: string | Subscriber;
242
+ };
243
+ key?: string | null;
244
+ value?: {
245
+ [k: string]: unknown;
246
+ } | unknown[] | string | number | boolean | null;
247
+ updatedAt: string;
248
+ createdAt: string;
249
+ }
250
+ /**
251
+ * This interface was referenced by `Config`'s JSON-Schema
252
+ * via the `definition` "payload-migrations".
253
+ */
254
+ export interface PayloadMigration {
255
+ id: string;
256
+ name?: string | null;
257
+ batch?: number | null;
258
+ updatedAt: string;
259
+ createdAt: string;
260
+ }
261
+ /**
262
+ * This interface was referenced by `Config`'s JSON-Schema
263
+ * via the `definition` "posts_select".
264
+ */
265
+ export interface PostsSelect<T extends boolean = true> {
266
+ optIns?: T;
267
+ updatedAt?: T;
268
+ createdAt?: T;
269
+ }
270
+ /**
271
+ * This interface was referenced by `Config`'s JSON-Schema
272
+ * via the `definition` "media_select".
273
+ */
274
+ export interface MediaSelect<T extends boolean = true> {
275
+ updatedAt?: T;
276
+ createdAt?: T;
277
+ url?: T;
278
+ thumbnailURL?: T;
279
+ filename?: T;
280
+ mimeType?: T;
281
+ filesize?: T;
282
+ width?: T;
283
+ height?: T;
284
+ focalX?: T;
285
+ focalY?: T;
286
+ }
287
+ /**
288
+ * This interface was referenced by `Config`'s JSON-Schema
289
+ * via the `definition` "users_select".
290
+ */
291
+ export interface UsersSelect<T extends boolean = true> {
292
+ updatedAt?: T;
293
+ createdAt?: T;
294
+ email?: T;
295
+ resetPasswordToken?: T;
296
+ resetPasswordExpiration?: T;
297
+ salt?: T;
298
+ hash?: T;
299
+ loginAttempts?: T;
300
+ lockUntil?: T;
301
+ sessions?: T | {
302
+ id?: T;
303
+ createdAt?: T;
304
+ expiresAt?: T;
305
+ };
306
+ }
307
+ /**
308
+ * This interface was referenced by `Config`'s JSON-Schema
309
+ * via the `definition` "opt-in-channels_select".
310
+ */
311
+ export interface OptInChannelsSelect<T extends boolean = true> {
312
+ title?: T;
313
+ description?: T;
314
+ active?: T;
315
+ slug?: T;
316
+ updatedAt?: T;
317
+ createdAt?: T;
318
+ }
319
+ /**
320
+ * This interface was referenced by `Config`'s JSON-Schema
321
+ * via the `definition` "subscribers_select".
322
+ */
323
+ export interface SubscribersSelect<T extends boolean = true> {
324
+ firstName?: T;
325
+ status?: T;
326
+ source?: T;
327
+ verificationToken?: T;
328
+ verificationTokenExpires?: T;
329
+ optIns?: T;
330
+ updatedAt?: T;
331
+ createdAt?: T;
332
+ email?: T;
333
+ resetPasswordToken?: T;
334
+ resetPasswordExpiration?: T;
335
+ salt?: T;
336
+ hash?: T;
337
+ loginAttempts?: T;
338
+ lockUntil?: T;
339
+ sessions?: T | {
340
+ id?: T;
341
+ createdAt?: T;
342
+ expiresAt?: T;
343
+ };
344
+ }
345
+ /**
346
+ * This interface was referenced by `Config`'s JSON-Schema
347
+ * via the `definition` "payload-kv_select".
348
+ */
349
+ export interface PayloadKvSelect<T extends boolean = true> {
350
+ key?: T;
351
+ data?: T;
352
+ }
353
+ /**
354
+ * This interface was referenced by `Config`'s JSON-Schema
355
+ * via the `definition` "payload-locked-documents_select".
356
+ */
357
+ export interface PayloadLockedDocumentsSelect<T extends boolean = true> {
358
+ document?: T;
359
+ globalSlug?: T;
360
+ user?: T;
361
+ updatedAt?: T;
362
+ createdAt?: T;
363
+ }
364
+ /**
365
+ * This interface was referenced by `Config`'s JSON-Schema
366
+ * via the `definition` "payload-preferences_select".
367
+ */
368
+ export interface PayloadPreferencesSelect<T extends boolean = true> {
369
+ user?: T;
370
+ key?: T;
371
+ value?: T;
372
+ updatedAt?: T;
373
+ createdAt?: T;
374
+ }
375
+ /**
376
+ * This interface was referenced by `Config`'s JSON-Schema
377
+ * via the `definition` "payload-migrations_select".
378
+ */
379
+ export interface PayloadMigrationsSelect<T extends boolean = true> {
380
+ name?: T;
381
+ batch?: T;
382
+ updatedAt?: T;
383
+ createdAt?: T;
384
+ }
385
+ /**
386
+ * This interface was referenced by `Config`'s JSON-Schema
387
+ * via the `definition` "auth".
388
+ */
389
+ export interface Auth {
390
+ [k: string]: unknown;
391
+ }
392
+ declare module 'payload' {
393
+ interface GeneratedTypes extends Config {
394
+ }
395
+ }
@@ -0,0 +1,15 @@
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
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/copied/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 subscribers: SubscriberAuthOperations;\n };\n blocks: {};\n collections: {\n posts: Post;\n media: Media;\n users: User;\n 'opt-in-channels': OptInChannel;\n subscribers: Subscriber;\n 'payload-kv': PayloadKv;\n 'payload-locked-documents': PayloadLockedDocument;\n 'payload-preferences': PayloadPreference;\n 'payload-migrations': PayloadMigration;\n };\n collectionsJoins: {};\n collectionsSelect: {\n posts: PostsSelect<false> | PostsSelect<true>;\n media: MediaSelect<false> | MediaSelect<true>;\n users: UsersSelect<false> | UsersSelect<true>;\n 'opt-in-channels': OptInChannelsSelect<false> | OptInChannelsSelect<true>;\n subscribers: SubscribersSelect<false> | SubscribersSelect<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:\n | (User & {\n collection: 'users';\n })\n | (Subscriber & {\n collection: 'subscribers';\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}\nexport interface SubscriberAuthOperations {\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` \"posts\".\n */\nexport interface Post {\n id: string;\n optIns?: (string | OptInChannel)[] | null;\n updatedAt: string;\n createdAt: string;\n}\n/**\n * This interface was referenced by `Config`'s JSON-Schema\n * via the `definition` \"opt-in-channels\".\n */\nexport interface OptInChannel {\n id: string;\n title: string;\n description?: string | null;\n active: boolean;\n slug?: string | null;\n updatedAt: string;\n createdAt: string;\n}\n/**\n * This interface was referenced by `Config`'s JSON-Schema\n * via the `definition` \"media\".\n */\nexport interface Media {\n id: 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` \"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` \"subscribers\".\n */\nexport interface Subscriber {\n id: string;\n firstName?: string | null;\n status: 'subscribed' | 'unsubscribed' | 'pending';\n source?: string | null;\n verificationToken?: string | null;\n verificationTokenExpires?: string | null;\n optIns?: (string | OptInChannel)[] | null;\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` \"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: 'posts';\n value: string | Post;\n } | null)\n | ({\n relationTo: 'media';\n value: string | Media;\n } | null)\n | ({\n relationTo: 'users';\n value: string | User;\n } | null)\n | ({\n relationTo: 'opt-in-channels';\n value: string | OptInChannel;\n } | null)\n | ({\n relationTo: 'subscribers';\n value: string | Subscriber;\n } | null);\n globalSlug?: string | null;\n user:\n | {\n relationTo: 'users';\n value: string | User;\n }\n | {\n relationTo: 'subscribers';\n value: string | Subscriber;\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 | {\n relationTo: 'users';\n value: string | User;\n }\n | {\n relationTo: 'subscribers';\n value: string | Subscriber;\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` \"posts_select\".\n */\nexport interface PostsSelect<T extends boolean = true> {\n optIns?: T;\n updatedAt?: T;\n createdAt?: T;\n}\n/**\n * This interface was referenced by `Config`'s JSON-Schema\n * via the `definition` \"media_select\".\n */\nexport interface MediaSelect<T extends boolean = true> {\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` \"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` \"opt-in-channels_select\".\n */\nexport interface OptInChannelsSelect<T extends boolean = true> {\n title?: T;\n description?: T;\n active?: T;\n slug?: T;\n updatedAt?: T;\n createdAt?: T;\n}\n/**\n * This interface was referenced by `Config`'s JSON-Schema\n * via the `definition` \"subscribers_select\".\n */\nexport interface SubscribersSelect<T extends boolean = true> {\n firstName?: T;\n status?: T;\n source?: T;\n verificationToken?: T;\n verificationTokenExpires?: T;\n optIns?: T;\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` \"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,GAqcD;;;CAGC,GACD,WAEC"}
@@ -0,0 +1,2 @@
1
+ declare const _default: Promise<import("payload").SanitizedConfig>;
2
+ export default _default;
@@ -0,0 +1,2 @@
1
+ import type { PayloadHandler } from 'payload';
2
+ export declare const customEndpointHandler: PayloadHandler;
@@ -0,0 +1,7 @@
1
+ export const customEndpointHandler = ()=>{
2
+ return Response.json({
3
+ message: 'Hello from custom endpoint'
4
+ });
5
+ };
6
+
7
+ //# sourceMappingURL=customEndpointHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/endpoints/customEndpointHandler.ts"],"sourcesContent":["import type { PayloadHandler } from 'payload'\n\nexport const customEndpointHandler: PayloadHandler = () => {\n return Response.json({ message: 'Hello from custom endpoint' })\n}\n"],"names":["customEndpointHandler","Response","json","message"],"mappings":"AAEA,OAAO,MAAMA,wBAAwC;IACnD,OAAOC,SAASC,IAAI,CAAC;QAAEC,SAAS;IAA6B;AAC/D,EAAC"}
@@ -0,0 +1,19 @@
1
+ import type { OptInChannel } from '../copied/payload-types.js';
2
+ import type { Endpoint, PayloadHandler } from 'payload';
3
+ export type GetOptInChannelsResponse = {
4
+ error: string;
5
+ now: string;
6
+ } | {
7
+ now: string;
8
+ optInChannels: OptInChannel[];
9
+ };
10
+ /**
11
+ *
12
+ * @returns
13
+ */
14
+ export declare const getOptInChannelsHandler: PayloadHandler;
15
+ /**
16
+ * getOptInChannels Endpoint Config
17
+ */
18
+ declare const getOptInChannelsEndpoint: Endpoint;
19
+ export default getOptInChannelsEndpoint;
@@ -0,0 +1,42 @@
1
+ import { OptInChannels as OptInChannelCollection } from '../collections/OptInChannels.js';
2
+ /**
3
+ *
4
+ * @returns
5
+ */ export const getOptInChannelsHandler = async (req)=>{
6
+ const findResults = await req.payload.find({
7
+ collection: OptInChannelCollection.slug,
8
+ depth: 2,
9
+ where: {
10
+ active: {
11
+ equals: true
12
+ }
13
+ }
14
+ });
15
+ // .catch((error) => {
16
+ // return Response.json({ error, now: new Date().toISOString() } as GetOptInChannelsResponse, {
17
+ // status: 400,
18
+ // })
19
+ // })
20
+ if (!findResults) {
21
+ return Response.json({
22
+ error: 'Unknown find result',
23
+ now: new Date().toISOString()
24
+ }, {
25
+ status: 400
26
+ });
27
+ }
28
+ return Response.json({
29
+ now: new Date().toISOString(),
30
+ optInChannels: findResults.docs
31
+ });
32
+ };
33
+ /**
34
+ * getOptInChannels Endpoint Config
35
+ */ const getOptInChannelsEndpoint = {
36
+ handler: getOptInChannelsHandler,
37
+ method: 'get',
38
+ path: '/optinchannels'
39
+ };
40
+ export default getOptInChannelsEndpoint;
41
+
42
+ //# sourceMappingURL=getOptInChannels.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/endpoints/getOptInChannels.ts"],"sourcesContent":["import type { OptInChannel } from '../copied/payload-types.js'\nimport type { CollectionSlug, Endpoint, PayloadHandler } from 'payload'\n\nimport { OptInChannels as OptInChannelCollection } from '../collections/OptInChannels.js'\n\nexport type GetOptInChannelsResponse =\n | {\n error: string\n now: string\n }\n | {\n now: string\n optInChannels: OptInChannel[]\n }\n\n/**\n *\n * @returns\n */\nexport const getOptInChannelsHandler: PayloadHandler = async (req) => {\n const findResults = await req.payload.find({\n collection: OptInChannelCollection.slug as CollectionSlug,\n depth: 2,\n where: {\n active: { equals: true },\n },\n })\n // .catch((error) => {\n // return Response.json({ error, now: new Date().toISOString() } as GetOptInChannelsResponse, {\n // status: 400,\n // })\n // })\n\n if (!findResults) {\n return Response.json(\n { error: 'Unknown find result', now: new Date().toISOString() } as GetOptInChannelsResponse,\n { status: 400 },\n )\n }\n\n return Response.json({\n now: new Date().toISOString(),\n optInChannels: findResults.docs,\n } as GetOptInChannelsResponse)\n}\n\n/**\n * getOptInChannels Endpoint Config\n */\nconst getOptInChannelsEndpoint: Endpoint = {\n handler: getOptInChannelsHandler,\n method: 'get',\n path: '/optinchannels',\n}\n\nexport default getOptInChannelsEndpoint\n"],"names":["OptInChannels","OptInChannelCollection","getOptInChannelsHandler","req","findResults","payload","find","collection","slug","depth","where","active","equals","Response","json","error","now","Date","toISOString","status","optInChannels","docs","getOptInChannelsEndpoint","handler","method","path"],"mappings":"AAGA,SAASA,iBAAiBC,sBAAsB,QAAQ,kCAAiC;AAYzF;;;CAGC,GACD,OAAO,MAAMC,0BAA0C,OAAOC;IAC5D,MAAMC,cAAc,MAAMD,IAAIE,OAAO,CAACC,IAAI,CAAC;QACzCC,YAAYN,uBAAuBO,IAAI;QACvCC,OAAO;QACPC,OAAO;YACLC,QAAQ;gBAAEC,QAAQ;YAAK;QACzB;IACF;IACA,sBAAsB;IACtB,iGAAiG;IACjG,mBAAmB;IACnB,OAAO;IACP,KAAK;IAEL,IAAI,CAACR,aAAa;QAChB,OAAOS,SAASC,IAAI,CAClB;YAAEC,OAAO;YAAuBC,KAAK,IAAIC,OAAOC,WAAW;QAAG,GAC9D;YAAEC,QAAQ;QAAI;IAElB;IAEA,OAAON,SAASC,IAAI,CAAC;QACnBE,KAAK,IAAIC,OAAOC,WAAW;QAC3BE,eAAehB,YAAYiB,IAAI;IACjC;AACF,EAAC;AAED;;CAEC,GACD,MAAMC,2BAAqC;IACzCC,SAASrB;IACTsB,QAAQ;IACRC,MAAM;AACR;AAEA,eAAeH,yBAAwB"}
@@ -0,0 +1,20 @@
1
+ import type { CollectionSlug, Endpoint } from 'payload';
2
+ export type LogoutResponse = {
3
+ error: string;
4
+ now: string;
5
+ } | {
6
+ message: string;
7
+ now: string;
8
+ };
9
+ /**
10
+ * createEndpointLogout
11
+ * @param options
12
+ * @returns
13
+ *
14
+ * Factory to generate the endpoint config with handler based on input option for subscribersCollectionSlug
15
+ *
16
+ */
17
+ declare function createEndpointLogout({ subscribersCollectionSlug, }: {
18
+ subscribersCollectionSlug: CollectionSlug;
19
+ }): Endpoint;
20
+ export default createEndpointLogout;
@@ -0,0 +1,60 @@
1
+ import { headers as nextHeaders } from 'next/headers.js';
2
+ import { defaultCollectionSlug } from '../collections/Subscribers.js';
3
+ /**
4
+ * createEndpointLogout
5
+ * @param options
6
+ * @returns
7
+ *
8
+ * Factory to generate the endpoint config with handler based on input option for subscribersCollectionSlug
9
+ *
10
+ */ function createEndpointLogout({ subscribersCollectionSlug = defaultCollectionSlug }) {
11
+ const logoutHandler = async (req)=>{
12
+ const headers = await nextHeaders();
13
+ try {
14
+ const logoutResult = await fetch(`${req.payload.config.serverURL}/api/${subscribersCollectionSlug}/logout`, {
15
+ headers,
16
+ method: 'POST'
17
+ });
18
+ const logoutResultData = await logoutResult.json();
19
+ if (logoutResult.ok) {
20
+ return Response.json({
21
+ message: logoutResultData.message,
22
+ now: new Date().toISOString()
23
+ });
24
+ }
25
+ if (logoutResult.status == 400 && logoutResultData.errors?.map((e)=>e.message).includes('No User')) {
26
+ return Response.json({
27
+ error: `Logout failed: 'No User'`,
28
+ now: new Date().toISOString()
29
+ }, {
30
+ status: 400
31
+ });
32
+ }
33
+ return Response.json({
34
+ error: `Logout failed: ${logoutResultData.errors ? logoutResultData.errors?.map((e)=>e.message).join(' // ') : JSON.stringify(logoutResultData)}`,
35
+ now: new Date().toISOString()
36
+ }, {
37
+ status: 400
38
+ });
39
+ } catch (error) {
40
+ // throw new Error(`Logout failed: ${error instanceof Error ? error.message : 'Unknown error'}`)
41
+ return Response.json({
42
+ error: `Logout failed: ${JSON.stringify(error)}`,
43
+ now: new Date().toISOString()
44
+ }, {
45
+ status: 400
46
+ });
47
+ }
48
+ };
49
+ /**
50
+ * logout Endpoint Config
51
+ */ const logoutEndpoint = {
52
+ handler: logoutHandler,
53
+ method: 'post',
54
+ path: '/logout'
55
+ };
56
+ return logoutEndpoint;
57
+ }
58
+ export default createEndpointLogout;
59
+
60
+ //# sourceMappingURL=logout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/endpoints/logout.ts"],"sourcesContent":["import type { CollectionSlug, Endpoint, PayloadHandler } from 'payload'\n\nimport { headers as nextHeaders } from 'next/headers.js'\n\nimport { defaultCollectionSlug } from '../collections/Subscribers.js'\n\nexport type LogoutResponse =\n | {\n error: string\n now: string\n }\n | {\n message: string\n now: string\n }\n\n/**\n * createEndpointLogout\n * @param options\n * @returns\n *\n * Factory to generate the endpoint config with handler based on input option for subscribersCollectionSlug\n *\n */\nfunction createEndpointLogout({\n subscribersCollectionSlug = defaultCollectionSlug,\n}: {\n subscribersCollectionSlug: CollectionSlug\n}): Endpoint {\n const logoutHandler: PayloadHandler = async (req) => {\n const headers = await nextHeaders()\n\n try {\n const logoutResult = await fetch(\n `${req.payload.config.serverURL}/api/${subscribersCollectionSlug}/logout`,\n {\n headers,\n method: 'POST',\n },\n )\n\n const logoutResultData = await logoutResult.json()\n\n if (logoutResult.ok) {\n return Response.json({\n message: logoutResultData.message,\n now: new Date().toISOString(),\n } as LogoutResponse)\n }\n\n if (\n logoutResult.status == 400 &&\n logoutResultData.errors?.map((e: { message: string }) => e.message).includes('No User')\n ) {\n return Response.json(\n {\n error: `Logout failed: 'No User'`,\n now: new Date().toISOString(),\n } as LogoutResponse,\n {\n status: 400,\n },\n )\n }\n return Response.json(\n {\n error: `Logout failed: ${\n logoutResultData.errors\n ? logoutResultData.errors?.map((e: { message: string }) => e.message).join(' // ')\n : JSON.stringify(logoutResultData)\n }`,\n now: new Date().toISOString(),\n } as LogoutResponse,\n {\n status: 400,\n },\n )\n } catch (error) {\n // throw new Error(`Logout failed: ${error instanceof Error ? error.message : 'Unknown error'}`)\n return Response.json(\n {\n error: `Logout failed: ${JSON.stringify(error)}`,\n now: new Date().toISOString(),\n } as LogoutResponse,\n {\n status: 400,\n },\n )\n }\n }\n\n /**\n * logout Endpoint Config\n */\n const logoutEndpoint: Endpoint = {\n handler: logoutHandler,\n method: 'post',\n path: '/logout',\n }\n\n return logoutEndpoint\n}\n\nexport default createEndpointLogout\n"],"names":["headers","nextHeaders","defaultCollectionSlug","createEndpointLogout","subscribersCollectionSlug","logoutHandler","req","logoutResult","fetch","payload","config","serverURL","method","logoutResultData","json","ok","Response","message","now","Date","toISOString","status","errors","map","e","includes","error","join","JSON","stringify","logoutEndpoint","handler","path"],"mappings":"AAEA,SAASA,WAAWC,WAAW,QAAQ,kBAAiB;AAExD,SAASC,qBAAqB,QAAQ,gCAA+B;AAYrE;;;;;;;CAOC,GACD,SAASC,qBAAqB,EAC5BC,4BAA4BF,qBAAqB,EAGlD;IACC,MAAMG,gBAAgC,OAAOC;QAC3C,MAAMN,UAAU,MAAMC;QAEtB,IAAI;YACF,MAAMM,eAAe,MAAMC,MACzB,GAAGF,IAAIG,OAAO,CAACC,MAAM,CAACC,SAAS,CAAC,KAAK,EAAEP,0BAA0B,OAAO,CAAC,EACzE;gBACEJ;gBACAY,QAAQ;YACV;YAGF,MAAMC,mBAAmB,MAAMN,aAAaO,IAAI;YAEhD,IAAIP,aAAaQ,EAAE,EAAE;gBACnB,OAAOC,SAASF,IAAI,CAAC;oBACnBG,SAASJ,iBAAiBI,OAAO;oBACjCC,KAAK,IAAIC,OAAOC,WAAW;gBAC7B;YACF;YAEA,IACEb,aAAac,MAAM,IAAI,OACvBR,iBAAiBS,MAAM,EAAEC,IAAI,CAACC,IAA2BA,EAAEP,OAAO,EAAEQ,SAAS,YAC7E;gBACA,OAAOT,SAASF,IAAI,CAClB;oBACEY,OAAO,CAAC,wBAAwB,CAAC;oBACjCR,KAAK,IAAIC,OAAOC,WAAW;gBAC7B,GACA;oBACEC,QAAQ;gBACV;YAEJ;YACA,OAAOL,SAASF,IAAI,CAClB;gBACEY,OAAO,CAAC,eAAe,EACrBb,iBAAiBS,MAAM,GACnBT,iBAAiBS,MAAM,EAAEC,IAAI,CAACC,IAA2BA,EAAEP,OAAO,EAAEU,KAAK,UACzEC,KAAKC,SAAS,CAAChB,mBACnB;gBACFK,KAAK,IAAIC,OAAOC,WAAW;YAC7B,GACA;gBACEC,QAAQ;YACV;QAEJ,EAAE,OAAOK,OAAO;YACd,gGAAgG;YAChG,OAAOV,SAASF,IAAI,CAClB;gBACEY,OAAO,CAAC,eAAe,EAAEE,KAAKC,SAAS,CAACH,QAAQ;gBAChDR,KAAK,IAAIC,OAAOC,WAAW;YAC7B,GACA;gBACEC,QAAQ;YACV;QAEJ;IACF;IAEA;;GAEC,GACD,MAAMS,iBAA2B;QAC/BC,SAAS1B;QACTO,QAAQ;QACRoB,MAAM;IACR;IAEA,OAAOF;AACT;AAEA,eAAe3B,qBAAoB"}
@@ -0,0 +1,20 @@
1
+ import type { CollectionSlug, Endpoint } from 'payload';
2
+ export type RequestMagicLinkResponse = {
3
+ emailResult: any;
4
+ now: string;
5
+ } | {
6
+ error: string;
7
+ now: string;
8
+ };
9
+ /**
10
+ * createEndpointRequestMagicLink
11
+ * @param options
12
+ * @returns
13
+ *
14
+ * Factory to generate the endpoint config with handler based on input option for subscribersCollectionSlug
15
+ *
16
+ */
17
+ declare function createEndpointRequestMagicLink({ subscribersCollectionSlug, }: {
18
+ subscribersCollectionSlug: CollectionSlug;
19
+ }): Endpoint;
20
+ export default createEndpointRequestMagicLink;