payload-plugin-newsletter 0.1.1 → 0.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 (39) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/README.md +39 -2
  3. package/dist/.tsbuildinfo +1 -1
  4. package/dist/collections/NewsletterSettings.d.ts +4 -0
  5. package/dist/collections/NewsletterSettings.d.ts.map +1 -0
  6. package/dist/collections/Subscribers.d.ts.map +1 -1
  7. package/dist/endpoints/preferences.d.ts.map +1 -1
  8. package/dist/endpoints/subscribe.d.ts.map +1 -1
  9. package/dist/endpoints/unsubscribe.d.ts.map +1 -1
  10. package/dist/endpoints/verify-magic-link.d.ts.map +1 -1
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/src/collections/NewsletterSettings.js +389 -0
  13. package/dist/src/collections/NewsletterSettings.js.map +1 -0
  14. package/dist/src/collections/Subscribers.js.map +1 -1
  15. package/dist/src/components/MagicLinkVerify.js +1 -1
  16. package/dist/src/components/MagicLinkVerify.js.map +1 -1
  17. package/dist/src/endpoints/preferences.js +16 -4
  18. package/dist/src/endpoints/preferences.js.map +1 -1
  19. package/dist/src/endpoints/subscribe.js +14 -3
  20. package/dist/src/endpoints/subscribe.js.map +1 -1
  21. package/dist/src/endpoints/unsubscribe.js +10 -2
  22. package/dist/src/endpoints/unsubscribe.js.map +1 -1
  23. package/dist/src/endpoints/verify-magic-link.js +13 -3
  24. package/dist/src/endpoints/verify-magic-link.js.map +1 -1
  25. package/dist/src/index.js +18 -12
  26. package/dist/src/index.js.map +1 -1
  27. package/dist/src/templates/NewsletterTemplate.js.map +1 -1
  28. package/dist/src/templates/WelcomeTemplate.js.map +1 -1
  29. package/dist/src/types/index.js.map +1 -1
  30. package/dist/templates/NewsletterTemplate.d.ts.map +1 -1
  31. package/dist/templates/WelcomeTemplate.d.ts.map +1 -1
  32. package/dist/types/index.d.ts +5 -0
  33. package/dist/types/index.d.ts.map +1 -1
  34. package/package.json +7 -3
  35. package/CLAUDE.md +0 -110
  36. package/dist/globals/EmailSettings.d.ts +0 -4
  37. package/dist/globals/EmailSettings.d.ts.map +0 -1
  38. package/dist/src/globals/EmailSettings.js +0 -252
  39. package/dist/src/globals/EmailSettings.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"NewsletterTemplate.d.ts","sourceRoot":"","sources":["../../src/templates/NewsletterTemplate.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAWzB,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE;QACV,IAAI,EAAE,MAAM,CAAA;QACZ,IAAI,EAAE,MAAM,CAAA;KACb,CAAA;IACD,MAAM,CAAC,EAAE;QACP,cAAc,CAAC,EAAE,MAAM,CAAA;QACvB,cAAc,CAAC,EAAE,MAAM,CAAA;QACvB,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,SAAS,CAAC,EAAE,MAAM,CAAA;KACnB,CAAA;CACF;AAED,QAAA,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0FrB,CAAA;AAED,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAsChE,CAAA;AAGD,wBAAgB,wBAAwB,CACtC,YAAY,CAAC,EAAE,OAAO,CAAC,OAAO,gBAAgB,CAAC,GAC9C,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAAC,CAoCnC"}
1
+ {"version":3,"file":"NewsletterTemplate.d.ts","sourceRoot":"","sources":["../../src/templates/NewsletterTemplate.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAQzB,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE;QACV,IAAI,EAAE,MAAM,CAAA;QACZ,IAAI,EAAE,MAAM,CAAA;KACb,CAAA;IACD,MAAM,CAAC,EAAE;QACP,cAAc,CAAC,EAAE,MAAM,CAAA;QACvB,cAAc,CAAC,EAAE,MAAM,CAAA;QACvB,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,SAAS,CAAC,EAAE,MAAM,CAAA;KACnB,CAAA;CACF;AAED,QAAA,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0FrB,CAAA;AAED,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAsChE,CAAA;AAGD,wBAAgB,wBAAwB,CACtC,YAAY,CAAC,EAAE,OAAO,CAAC,OAAO,gBAAgB,CAAC,GAC9C,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAAC,CAoCnC"}
@@ -1 +1 @@
1
- {"version":3,"file":"WelcomeTemplate.d.ts","sourceRoot":"","sources":["../../src/templates/WelcomeTemplate.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAQzB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAEjD,QAAA,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0ClB,CAAA;AAED,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAkEvD,CAAA;AAGD,wBAAgB,qBAAqB,CACnC,aAAa,CAAC,EAAE;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,EACD,YAAY,CAAC,EAAE,OAAO,CAAC,OAAO,aAAa,CAAC,GAC3C,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAmE7B"}
1
+ {"version":3,"file":"WelcomeTemplate.d.ts","sourceRoot":"","sources":["../../src/templates/WelcomeTemplate.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAOzB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAEjD,QAAA,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0ClB,CAAA;AAED,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAkEvD,CAAA;AAGD,wBAAgB,qBAAqB,CACnC,aAAa,CAAC,EAAE;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,EACD,YAAY,CAAC,EAAE,OAAO,CAAC,OAAO,aAAa,CAAC,GAC3C,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAmE7B"}
@@ -10,6 +10,11 @@ export interface NewsletterPluginConfig {
10
10
  * @default 'subscribers'
11
11
  */
12
12
  subscribersSlug?: string;
13
+ /**
14
+ * Slug for the newsletter settings collection
15
+ * @default 'newsletter-settings'
16
+ */
17
+ settingsSlug?: string;
13
18
  /**
14
19
  * Authentication configuration for magic links
15
20
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "payload-plugin-newsletter",
3
- "version": "0.1.1",
3
+ "version": "0.3.0",
4
4
  "description": "Complete newsletter management plugin for Payload CMS with subscriber management, magic link authentication, and email service integration",
5
5
  "type": "module",
6
6
  "main": "./src/index.ts",
@@ -36,7 +36,10 @@
36
36
  "lint": "eslint src",
37
37
  "typecheck": "tsc --noEmit",
38
38
  "generate:types": "tsc --emitDeclarationOnly --outDir dist",
39
- "prepublishOnly": "bun run clean && bun run build"
39
+ "prepublishOnly": "bun run clean && bun run build",
40
+ "release:patch": "./scripts/release.sh patch",
41
+ "release:minor": "./scripts/release.sh minor",
42
+ "release:major": "./scripts/release.sh major"
40
43
  },
41
44
  "files": [
42
45
  "dist",
@@ -77,6 +80,7 @@
77
80
  "resend": "^4.0.0"
78
81
  },
79
82
  "devDependencies": {
83
+ "@eslint/js": "^9.29.0",
80
84
  "@swc/cli": "^0.4.0",
81
85
  "@swc/core": "^1.7.0",
82
86
  "@types/express": "^4.17.21",
@@ -102,4 +106,4 @@
102
106
  "react": "^18.0.0 || ^19.0.0",
103
107
  "react-dom": "^18.0.0 || ^19.0.0"
104
108
  }
105
- }
109
+ }
package/CLAUDE.md DELETED
@@ -1,110 +0,0 @@
1
- # Claude Development Guidelines
2
-
3
- This file contains development guidelines and reference information for Claude when working on the Payload Newsletter Plugin.
4
-
5
- ## Important Security Guidelines
6
-
7
- **NEVER include any of the following in the repository:**
8
- - API keys or tokens (use environment variables)
9
- - Email addresses or personal information
10
- - Specific company/project names (keep everything generic)
11
- - Production URLs or endpoints
12
- - Any credentials or sensitive configuration
13
-
14
- ## Reference Repositories
15
-
16
- These local repositories contain reference implementations and examples:
17
-
18
- 1. **Medellin Newsletter Implementation** (source for newsletter logic):
19
- - Location: `/Users/aniketpanjwani/Projects/medellin_newsletter/medellin_insider`
20
- - Use for: Understanding newsletter implementation patterns
21
- - DO NOT: Copy any specific business logic, API keys, or Medellin-specific references
22
-
23
- 2. **Payload CMS Source**:
24
- - Location: `/Users/aniketpanjwani/Projects/reference_repos/payload`
25
- - Docs: `/Users/aniketpanjwani/Projects/reference_repos/payload/docs`
26
- - Templates: `/Users/aniketpanjwani/Projects/reference_repos/payload/templates`
27
- - Use for: Understanding Payload patterns and best practices
28
-
29
- 3. **Official Payload Plugins** (examples to follow):
30
- - SEO Plugin: `/Users/aniketpanjwani/Projects/reference_repos/payload/packages/plugin-seo`
31
- - Form Builder: `/Users/aniketpanjwani/Projects/reference_repos/payload/packages/plugin-form-builder`
32
- - Use for: Plugin architecture patterns and conventions
33
-
34
- ## Development Setup
35
-
36
- This project uses **Bun** as the preferred package manager and runtime.
37
-
38
- ### Available Commands
39
- - `bun install` - Install dependencies
40
- - `bun typecheck` - Run TypeScript type checking
41
- - `bun generate:types` - Generate TypeScript declarations
42
- - `bun build` - Build the project (JS + types)
43
- - `bun dev` - Watch mode for development
44
- - `bun lint` - Run ESLint
45
- - `bun clean` - Clean build artifacts
46
-
47
- ## Development Guidelines
48
-
49
- ### Code Style
50
- - Follow Payload's patterns from official plugins
51
- - Use TypeScript for everything
52
- - No comments unless specifically requested
53
- - Keep implementations generic and reusable
54
-
55
- ### Plugin Design Principles
56
- 1. **Generic by Default**: Everything should work for any Payload project
57
- 2. **Configuration Over Code**: Use config options rather than hardcoded values
58
- 3. **Follow Payload Patterns**: Match the style of official plugins
59
- 4. **User-Friendly**: Clear documentation and intuitive defaults
60
-
61
- ### Testing Approach
62
- - Test with generic data only
63
- - Use example.com for email addresses
64
- - Use placeholder text for content
65
- - Never use real API keys in tests
66
-
67
- ### Documentation
68
- - Keep README focused on user needs
69
- - Include clear examples
70
- - Document all configuration options
71
- - Link to FEEDBACK.md for design decisions
72
-
73
- ## Common Tasks
74
-
75
- ### When Adding New Features
76
- 1. Check reference implementations for patterns
77
- 2. Keep everything configurable
78
- 3. Add TypeScript types
79
- 4. Update documentation
80
- 5. Make progressive commits
81
-
82
- ### When Reviewing Reference Code
83
- - Extract patterns, not implementations
84
- - Generalize any specific logic
85
- - Remove all identifying information
86
- - Focus on the architecture
87
-
88
- ## Environment Variables
89
-
90
- When documenting environment variables, always use generic examples:
91
- ```bash
92
- RESEND_API_KEY=your_resend_api_key_here
93
- BROADCAST_TOKEN=your_broadcast_token_here
94
- JWT_SECRET=your_jwt_secret_here
95
- ```
96
-
97
- ## Git Workflow
98
-
99
- 1. Make small, focused commits
100
- 2. Use conventional commit messages (feat:, fix:, docs:, etc.)
101
- 3. Push regularly to: https://github.com/aniketpanjwani/payload-plugin-email-newsletter
102
- 4. Keep sensitive information in gitignored directories
103
-
104
- ## Questions to Always Consider
105
-
106
- Before implementing any feature, ask:
107
- 1. Is this generic enough for any Payload project?
108
- 2. Are there any hardcoded values that should be configurable?
109
- 3. Does this follow Payload's established patterns?
110
- 4. Is this well-documented for users?
@@ -1,4 +0,0 @@
1
- import type { GlobalConfig } from 'payload';
2
- import type { NewsletterPluginConfig } from '../types';
3
- export declare const createEmailSettingsGlobal: (pluginConfig: NewsletterPluginConfig) => GlobalConfig;
4
- //# sourceMappingURL=EmailSettings.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EmailSettings.d.ts","sourceRoot":"","sources":["../../src/globals/EmailSettings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAC3C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAA;AAEtD,eAAO,MAAM,yBAAyB,GACpC,cAAc,sBAAsB,KACnC,YAmPF,CAAA"}
@@ -1,252 +0,0 @@
1
- export const createEmailSettingsGlobal = (pluginConfig)=>{
2
- return {
3
- slug: 'newsletter-settings',
4
- label: 'Newsletter Settings',
5
- admin: {
6
- group: 'Settings',
7
- description: 'Configure email provider settings and templates'
8
- },
9
- fields: [
10
- {
11
- type: 'tabs',
12
- tabs: [
13
- {
14
- label: 'Provider Settings',
15
- fields: [
16
- {
17
- name: 'provider',
18
- type: 'select',
19
- label: 'Email Provider',
20
- required: true,
21
- options: [
22
- {
23
- label: 'Resend',
24
- value: 'resend'
25
- },
26
- {
27
- label: 'Broadcast (Self-Hosted)',
28
- value: 'broadcast'
29
- }
30
- ],
31
- defaultValue: pluginConfig.providers.default,
32
- admin: {
33
- description: 'Choose which email service to use'
34
- }
35
- },
36
- {
37
- name: 'resendSettings',
38
- type: 'group',
39
- label: 'Resend Settings',
40
- admin: {
41
- condition: (data)=>data?.provider === 'resend'
42
- },
43
- fields: [
44
- {
45
- name: 'apiKey',
46
- type: 'text',
47
- label: 'API Key',
48
- required: true,
49
- admin: {
50
- description: 'Your Resend API key'
51
- }
52
- },
53
- {
54
- name: 'audienceIds',
55
- type: 'array',
56
- label: 'Audience IDs',
57
- labels: {
58
- singular: 'Audience',
59
- plural: 'Audiences'
60
- },
61
- fields: [
62
- {
63
- name: 'locale',
64
- type: 'text',
65
- label: 'Locale',
66
- required: true,
67
- admin: {
68
- description: 'Language/locale code (e.g., en, es)'
69
- }
70
- },
71
- {
72
- name: 'production',
73
- type: 'text',
74
- label: 'Production Audience ID',
75
- admin: {
76
- description: 'Audience ID for production environment'
77
- }
78
- },
79
- {
80
- name: 'development',
81
- type: 'text',
82
- label: 'Development Audience ID',
83
- admin: {
84
- description: 'Audience ID for development environment'
85
- }
86
- }
87
- ],
88
- admin: {
89
- description: 'Configure audience IDs for different locales'
90
- }
91
- }
92
- ]
93
- },
94
- {
95
- name: 'broadcastSettings',
96
- type: 'group',
97
- label: 'Broadcast Settings',
98
- admin: {
99
- condition: (data)=>data?.provider === 'broadcast'
100
- },
101
- fields: [
102
- {
103
- name: 'apiUrl',
104
- type: 'text',
105
- label: 'Broadcast API URL',
106
- required: true,
107
- admin: {
108
- description: 'Your Broadcast installation URL (e.g., https://broadcast.yourdomain.com)'
109
- }
110
- },
111
- {
112
- name: 'productionToken',
113
- type: 'text',
114
- label: 'Broadcast API Token (Production)',
115
- admin: {
116
- description: 'API token for your production channel from Broadcast Access Tokens page'
117
- }
118
- },
119
- {
120
- name: 'developmentToken',
121
- type: 'text',
122
- label: 'Broadcast API Token (Development)',
123
- admin: {
124
- description: 'API token for your development channel from Broadcast Access Tokens page'
125
- }
126
- }
127
- ]
128
- }
129
- ]
130
- },
131
- {
132
- label: 'Email Templates',
133
- fields: [
134
- {
135
- name: 'fromAddress',
136
- type: 'email',
137
- label: 'From Email Address',
138
- required: true,
139
- admin: {
140
- description: 'Email address that newsletters will be sent from'
141
- }
142
- },
143
- {
144
- name: 'fromName',
145
- type: 'text',
146
- label: 'From Name',
147
- required: true,
148
- admin: {
149
- description: 'Name that appears as the sender'
150
- }
151
- },
152
- {
153
- name: 'replyTo',
154
- type: 'email',
155
- label: 'Reply-To Address',
156
- admin: {
157
- description: 'Email address for replies (optional)'
158
- }
159
- },
160
- {
161
- name: 'emailFooter',
162
- type: 'richText',
163
- label: 'Email Footer',
164
- admin: {
165
- description: 'Footer content that appears in all emails'
166
- }
167
- }
168
- ]
169
- },
170
- {
171
- label: 'Subscription Settings',
172
- fields: [
173
- {
174
- name: 'requireDoubleOptIn',
175
- type: 'checkbox',
176
- label: 'Require Double Opt-In',
177
- defaultValue: false,
178
- admin: {
179
- description: 'Require email confirmation before activating subscription'
180
- }
181
- },
182
- {
183
- name: 'welcomeEmailDelay',
184
- type: 'number',
185
- label: 'Welcome Email Delay',
186
- defaultValue: 0,
187
- min: 0,
188
- admin: {
189
- description: 'Delay in minutes before sending welcome email'
190
- }
191
- },
192
- {
193
- name: 'allowedDomains',
194
- type: 'array',
195
- label: 'Allowed Email Domains',
196
- labels: {
197
- singular: 'Domain',
198
- plural: 'Domains'
199
- },
200
- admin: {
201
- description: 'Restrict signups to specific email domains (leave empty to allow all)'
202
- },
203
- fields: [
204
- {
205
- name: 'domain',
206
- type: 'text',
207
- label: 'Domain',
208
- required: true,
209
- admin: {
210
- placeholder: 'example.com'
211
- }
212
- }
213
- ]
214
- },
215
- {
216
- name: 'maxSubscribersPerIP',
217
- type: 'number',
218
- label: 'Max Subscribers Per IP',
219
- defaultValue: 10,
220
- min: 1,
221
- admin: {
222
- description: 'Maximum number of subscriptions allowed from a single IP address'
223
- }
224
- }
225
- ]
226
- }
227
- ]
228
- }
229
- ],
230
- hooks: {
231
- afterChange: [
232
- async ({ doc, req })=>{
233
- // Reinitialize email service with new settings
234
- if (req.payload.newsletterEmailService) {
235
- try {
236
- // TODO: Implement email service reinitialization
237
- console.log('Email settings updated, reinitializing service...');
238
- } catch (error) {
239
- console.error('Failed to reinitialize email service:', error);
240
- }
241
- }
242
- }
243
- ]
244
- },
245
- access: {
246
- read: ({ req: { user } })=>Boolean(user),
247
- update: ({ req: { user } })=>Boolean(user?.collection === 'users')
248
- }
249
- };
250
- };
251
-
252
- //# sourceMappingURL=EmailSettings.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/globals/EmailSettings.ts"],"sourcesContent":["import type { GlobalConfig } from 'payload'\nimport type { NewsletterPluginConfig } from '../types'\n\nexport const createEmailSettingsGlobal = (\n pluginConfig: NewsletterPluginConfig\n): GlobalConfig => {\n return {\n slug: 'newsletter-settings',\n label: 'Newsletter Settings',\n admin: {\n group: 'Settings',\n description: 'Configure email provider settings and templates',\n },\n fields: [\n {\n type: 'tabs',\n tabs: [\n {\n label: 'Provider Settings',\n fields: [\n {\n name: 'provider',\n type: 'select',\n label: 'Email Provider',\n required: true,\n options: [\n { label: 'Resend', value: 'resend' },\n { label: 'Broadcast (Self-Hosted)', value: 'broadcast' },\n ],\n defaultValue: pluginConfig.providers.default,\n admin: {\n description: 'Choose which email service to use',\n },\n },\n {\n name: 'resendSettings',\n type: 'group',\n label: 'Resend Settings',\n admin: {\n condition: (data) => data?.provider === 'resend',\n },\n fields: [\n {\n name: 'apiKey',\n type: 'text',\n label: 'API Key',\n required: true,\n admin: {\n description: 'Your Resend API key',\n },\n },\n {\n name: 'audienceIds',\n type: 'array',\n label: 'Audience IDs',\n labels: {\n singular: 'Audience',\n plural: 'Audiences',\n },\n fields: [\n {\n name: 'locale',\n type: 'text',\n label: 'Locale',\n required: true,\n admin: {\n description: 'Language/locale code (e.g., en, es)',\n },\n },\n {\n name: 'production',\n type: 'text',\n label: 'Production Audience ID',\n admin: {\n description: 'Audience ID for production environment',\n },\n },\n {\n name: 'development',\n type: 'text',\n label: 'Development Audience ID',\n admin: {\n description: 'Audience ID for development environment',\n },\n },\n ],\n admin: {\n description: 'Configure audience IDs for different locales',\n },\n },\n ],\n },\n {\n name: 'broadcastSettings',\n type: 'group',\n label: 'Broadcast Settings',\n admin: {\n condition: (data) => data?.provider === 'broadcast',\n },\n fields: [\n {\n name: 'apiUrl',\n type: 'text',\n label: 'Broadcast API URL',\n required: true,\n admin: {\n description: 'Your Broadcast installation URL (e.g., https://broadcast.yourdomain.com)',\n },\n },\n {\n name: 'productionToken',\n type: 'text',\n label: 'Broadcast API Token (Production)',\n admin: {\n description: 'API token for your production channel from Broadcast Access Tokens page',\n },\n },\n {\n name: 'developmentToken',\n type: 'text',\n label: 'Broadcast API Token (Development)',\n admin: {\n description: 'API token for your development channel from Broadcast Access Tokens page',\n },\n },\n ],\n },\n ],\n },\n {\n label: 'Email Templates',\n fields: [\n {\n name: 'fromAddress',\n type: 'email',\n label: 'From Email Address',\n required: true,\n admin: {\n description: 'Email address that newsletters will be sent from',\n },\n },\n {\n name: 'fromName',\n type: 'text',\n label: 'From Name',\n required: true,\n admin: {\n description: 'Name that appears as the sender',\n },\n },\n {\n name: 'replyTo',\n type: 'email',\n label: 'Reply-To Address',\n admin: {\n description: 'Email address for replies (optional)',\n },\n },\n {\n name: 'emailFooter',\n type: 'richText',\n label: 'Email Footer',\n admin: {\n description: 'Footer content that appears in all emails',\n },\n },\n ],\n },\n {\n label: 'Subscription Settings',\n fields: [\n {\n name: 'requireDoubleOptIn',\n type: 'checkbox',\n label: 'Require Double Opt-In',\n defaultValue: false,\n admin: {\n description: 'Require email confirmation before activating subscription',\n },\n },\n {\n name: 'welcomeEmailDelay',\n type: 'number',\n label: 'Welcome Email Delay',\n defaultValue: 0,\n min: 0,\n admin: {\n description: 'Delay in minutes before sending welcome email',\n },\n },\n {\n name: 'allowedDomains',\n type: 'array',\n label: 'Allowed Email Domains',\n labels: {\n singular: 'Domain',\n plural: 'Domains',\n },\n admin: {\n description: 'Restrict signups to specific email domains (leave empty to allow all)',\n },\n fields: [\n {\n name: 'domain',\n type: 'text',\n label: 'Domain',\n required: true,\n admin: {\n placeholder: 'example.com',\n },\n },\n ],\n },\n {\n name: 'maxSubscribersPerIP',\n type: 'number',\n label: 'Max Subscribers Per IP',\n defaultValue: 10,\n min: 1,\n admin: {\n description: 'Maximum number of subscriptions allowed from a single IP address',\n },\n },\n ],\n },\n ],\n },\n ],\n hooks: {\n afterChange: [\n async ({ doc, req }) => {\n // Reinitialize email service with new settings\n if ((req.payload as any).newsletterEmailService) {\n try {\n // TODO: Implement email service reinitialization\n console.log('Email settings updated, reinitializing service...')\n } catch (error) {\n console.error('Failed to reinitialize email service:', error)\n }\n }\n },\n ],\n },\n access: {\n read: ({ req: { user } }) => Boolean(user),\n update: ({ req: { user } }) => Boolean(user?.collection === 'users'),\n },\n }\n}"],"names":["createEmailSettingsGlobal","pluginConfig","slug","label","admin","group","description","fields","type","tabs","name","required","options","value","defaultValue","providers","default","condition","data","provider","labels","singular","plural","min","placeholder","hooks","afterChange","doc","req","payload","newsletterEmailService","console","log","error","access","read","user","Boolean","update","collection"],"mappings":"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"}