@plusscommunities/pluss-newsletter-aws 2.0.1-beta.0 → 2.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.
package/feature.config.js CHANGED
@@ -13,3 +13,303 @@ exports.entity = {
13
13
  webPath: values.routeEntityPath,
14
14
  appPath: values.screenNewsletterPost,
15
15
  };
16
+
17
+ exports.serverless = {
18
+ name: values.serviceKey,
19
+ apis: [
20
+ {
21
+ name: "addNewsletterEntry",
22
+ file: "addNewsletterEntry",
23
+ function: "addNewsletterEntry",
24
+ memorySize: 1024,
25
+ timeout: 30,
26
+ path: "add",
27
+ method: "post",
28
+ headers: ["Content-Type", "authkey", "apikey"],
29
+ },
30
+ {
31
+ name: "editNewsletterEntry",
32
+ file: "editNewsletterEntry",
33
+ function: "editNewsletterEntry",
34
+ memorySize: 128,
35
+ timeout: 10,
36
+ path: "edit",
37
+ method: "post",
38
+ headers: ["Content-Type", "authkey", "apikey"],
39
+ },
40
+ {
41
+ name: "editNewsletterSubmission",
42
+ file: "editNewsletterSubmission",
43
+ function: "editNewsletterSubmission",
44
+ memorySize: 128,
45
+ timeout: 10,
46
+ path: "editSubmission",
47
+ method: "post",
48
+ headers: ["Content-Type", "authkey", "apikey"],
49
+ },
50
+ {
51
+ name: "getNewsletterEntry",
52
+ file: "getNewsletterEntry",
53
+ function: "getNewsletterEntry",
54
+ memorySize: 128,
55
+ timeout: 10,
56
+ path: "get/{id}",
57
+ method: "get",
58
+ headers: ["Content-Type", "authkey", "apikey"],
59
+ },
60
+ {
61
+ name: "getNews",
62
+ file: "getNews",
63
+ function: "getNews",
64
+ memorySize: 128,
65
+ timeout: 10,
66
+ path: "get2/{action}",
67
+ method: "get",
68
+ headers: ["Content-Type", "authkey", "apikey"],
69
+ },
70
+ {
71
+ name: "getNewsletterEntries",
72
+ file: "getNewsletterEntries",
73
+ function: "getNewsletterEntries",
74
+ memorySize: 1024,
75
+ timeout: 30,
76
+ path: "get",
77
+ method: "get",
78
+ headers: ["Content-Type", "authkey", "apikey"],
79
+ },
80
+ {
81
+ name: "getFeaturedNewsletterEntries",
82
+ file: "getFeaturedNewsletterEntries",
83
+ function: "getFeaturedNewsletterEntries",
84
+ memorySize: 128,
85
+ timeout: 10,
86
+ path: "getFeatured",
87
+ method: "get",
88
+ headers: ["Content-Type", "authkey", "apikey"],
89
+ },
90
+ {
91
+ name: "getRecentNewsletterEntries",
92
+ file: "getRecentNewsletterEntries",
93
+ function: "getRecentNewsletterEntries",
94
+ memorySize: 128,
95
+ timeout: 10,
96
+ path: "recent",
97
+ method: "get",
98
+ headers: ["Content-Type", "authkey", "apikey"],
99
+ },
100
+ {
101
+ name: "searchAvailableNews",
102
+ file: "searchAvailableNews",
103
+ function: "searchAvailableNews",
104
+ memorySize: 128,
105
+ timeout: 10,
106
+ path: "content/search",
107
+ method: "get",
108
+ headers: ["Content-Type", "authkey", "apikey"],
109
+ },
110
+ {
111
+ name: "getAvailableNews",
112
+ file: "getAvailableNews",
113
+ function: "getAvailableNews",
114
+ memorySize: 128,
115
+ timeout: 10,
116
+ path: "content/get",
117
+ method: "get",
118
+ headers: ["Content-Type", "authkey", "apikey"],
119
+ },
120
+ {
121
+ name: "getPublishedEntries",
122
+ file: "getPublishedEntries",
123
+ function: "getPublishedEntries",
124
+ memorySize: 128,
125
+ timeout: 10,
126
+ path: "content/specific",
127
+ method: "get",
128
+ headers: ["Content-Type", "authkey", "apikey"],
129
+ },
130
+ {
131
+ name: "getPublishedAvailableNews",
132
+ file: "getPublishedAvailableNews",
133
+ function: "getPublishedAvailableNews",
134
+ memorySize: 128,
135
+ timeout: 10,
136
+ path: "content/published",
137
+ method: "get",
138
+ headers: ["Content-Type", "authkey", "apikey"],
139
+ },
140
+ {
141
+ name: "deleteNewsletterEntry",
142
+ file: "deleteNewsletterEntry",
143
+ function: "deleteNewsletterEntry",
144
+ memorySize: 128,
145
+ timeout: 10,
146
+ path: "remove",
147
+ method: "post",
148
+ headers: ["Content-Type", "authkey", "apikey"],
149
+ },
150
+ {
151
+ name: "hasNewsletterAccess",
152
+ file: "hasNewsletterAccess",
153
+ function: "hasNewsletterAccess",
154
+ memorySize: 128,
155
+ timeout: 10,
156
+ path: "access",
157
+ method: "get",
158
+ headers: ["Content-Type", "authkey", "apikey"],
159
+ },
160
+ {
161
+ name: "getNewsletterSubmissions",
162
+ file: "getNewsletterSubmissions",
163
+ function: "getNewsletterSubmissions",
164
+ memorySize: 128,
165
+ timeout: 10,
166
+ path: "submissions/get",
167
+ method: "get",
168
+ headers: ["Content-Type", "authkey", "apikey"],
169
+ },
170
+ {
171
+ name: "getNewsletterSubmission",
172
+ file: "getNewsletterSubmission",
173
+ function: "getNewsletterSubmission",
174
+ memorySize: 128,
175
+ timeout: 10,
176
+ path: "submissions/get/{id}",
177
+ method: "get",
178
+ headers: ["Content-Type", "authkey", "apikey"],
179
+ },
180
+ {
181
+ name: "handleNewsletterSubmission",
182
+ file: "handleNewsletterSubmission",
183
+ function: "handleNewsletterSubmission",
184
+ memorySize: 128,
185
+ timeout: 10,
186
+ path: "submissions/handle",
187
+ method: "post",
188
+ headers: ["Content-Type", "authkey", "apikey"],
189
+ },
190
+ {
191
+ name: "getSubmissionCount",
192
+ file: "getSubmissionCount",
193
+ function: "getSubmissionCount",
194
+ memorySize: 128,
195
+ timeout: 10,
196
+ path: "submissions/count",
197
+ method: "get",
198
+ headers: ["Content-Type", "authkey", "apikey"],
199
+ },
200
+ {
201
+ name: "getTaggedNews",
202
+ file: "getTaggedNews",
203
+ function: "getTaggedNews",
204
+ memorySize: 128,
205
+ timeout: 10,
206
+ path: "tagged/get",
207
+ method: "get",
208
+ headers: ["Content-Type", "authkey", "apikey"],
209
+ },
210
+ ],
211
+ triggers: [
212
+ {
213
+ name: "newsletterChanged",
214
+ file: "newsletterChanged",
215
+ function: "newsletterChanged",
216
+ memorySize: 2048,
217
+ timeout: 30,
218
+ table: values.tableKeyNewsletterEntries,
219
+ },
220
+ ],
221
+ schedules: [
222
+ {
223
+ name: "watchNewsletter",
224
+ file: "watchNewsletter",
225
+ function: "watchNewsletter",
226
+ memorySize: "2048",
227
+ timeout: "300",
228
+ rate: "1/5 * * * ? *",
229
+ },
230
+ ],
231
+ tables: [
232
+ {
233
+ key: values.tableKeyNewsletterEntries,
234
+ name: values.tableNameNewsletterEntries,
235
+ attributes: [
236
+ { name: "RowId", type: "S" },
237
+ { name: "Site", type: "S" },
238
+ { name: "UnixTimestampReverse", type: "N" },
239
+ { name: "FeaturedExpiry", type: "N" },
240
+ { name: "SourceId", type: "S" },
241
+ { name: "UnsentNotification", type: "S" },
242
+ { name: "UnixTimestamp", type: "N" },
243
+ ],
244
+ id: "RowId",
245
+ indexes: [
246
+ {
247
+ name: "NewsletterEntriesSiteTimestampIndex",
248
+ keys: [
249
+ { name: "Site", type: "HASH" },
250
+ { name: "UnixTimestampReverse", type: "RANGE" },
251
+ ],
252
+ },
253
+ {
254
+ name: "NewsletterEntriesSiteFeaturedExpiryIndex",
255
+ keys: [
256
+ { name: "Site", type: "HASH" },
257
+ { name: "FeaturedExpiry", type: "RANGE" },
258
+ ],
259
+ },
260
+ {
261
+ name: "NewsletterEntriesSiteSourceIdIndex",
262
+ keys: [
263
+ { name: "Site", type: "HASH" },
264
+ { name: "SourceId", type: "RANGE" },
265
+ ],
266
+ },
267
+ {
268
+ name: "NewsletterEntriesUnsentNotiIndex",
269
+ keys: [
270
+ { name: "UnsentNotification", type: "HASH" },
271
+ { name: "UnixTimestamp", type: "RANGE" },
272
+ ],
273
+ },
274
+ ],
275
+ },
276
+ {
277
+ key: values.tableKeyNewsletterSubmissions,
278
+ name: values.tableNameNewsletterSubmissions,
279
+ attributes: [
280
+ { name: "RowId", type: "S" },
281
+ { name: "Site", type: "S" },
282
+ { name: "UnixTimestampReverse", type: "N" },
283
+ ],
284
+ id: "RowId",
285
+ indexes: [
286
+ {
287
+ name: "NewsletterSubmissionsSiteTimestampIndex",
288
+ keys: [
289
+ { name: "Site", type: "HASH" },
290
+ { name: "UnixTimestampReverse", type: "RANGE" },
291
+ ],
292
+ },
293
+ ],
294
+ },
295
+ {
296
+ key: values.tableKeyNewsletterUserEntries,
297
+ name: values.tableNameNewsletterUserEntries,
298
+ attributes: [
299
+ { name: "RowId", type: "S" },
300
+ { name: "UserId", type: "S" },
301
+ { name: "UnixTimestampReverse", type: "N" },
302
+ ],
303
+ id: "RowId",
304
+ indexes: [
305
+ {
306
+ name: "NewsletterUserEntriesUserIdTimestampIndex",
307
+ keys: [
308
+ { name: "UserId", type: "HASH" },
309
+ { name: "UnixTimestampReverse", type: "RANGE" },
310
+ ],
311
+ },
312
+ ],
313
+ },
314
+ ],
315
+ };
@@ -0,0 +1,341 @@
1
+ const values = {
2
+ entityKey: "newsTwo",
3
+ serviceKey: "newsletterTwo",
4
+ updateKey: "newsTwo",
5
+ tableKeyNewsletterEntries: "NewsletterEntriesTwo",
6
+ tableKeyNewsletterSubmissions: "NewsletterSubmissionsTwo",
7
+ tableKeyNewsletterUserEntries: "NewsletterUserEntriesTwo",
8
+ tableNameNewsletterEntries: "newsletterentriesTwo",
9
+ tableNameNewsletterSubmissions: "newslettersubmissionsTwo",
10
+ tableNameNewsletterUserEntries: "newsletteruserentriesTwo",
11
+ stringPostfixSubmissionEmail: "newssubmissionemailTwo",
12
+ permissionNewsletter: "newsletterTwo",
13
+ permissionNewsletterSubmit: "newsletterSubmitTwo",
14
+ activityAddNewsSubmission: "AddNewsSubmissionTwo",
15
+ activityAddNews: "AddNewsTwo",
16
+ activityDeleteNews: "DeleteNewsTwo",
17
+ activityEditNews: "EditNewsTwo",
18
+ notificationApproveNewsSubmission: "ApproveNewsSubmissionTwo",
19
+ notificationRejectNewsSubmission: "RejectNewsSubmissionTwo",
20
+ notificationNewsletterPublished: "NewsletterPublishedTwo",
21
+ routeEntityPath: "/newsTwo/article/:id",
22
+ screenNewsletterPost: "newsletterPostTwo",
23
+ textNewNewsletterSubmission: "New Newsletter Submission",
24
+ textHasSubmittedANewNewsletterPost:
25
+ "has submitted a new newsletter post for review.",
26
+ };
27
+ exports.values = values;
28
+
29
+ exports.permissions = [
30
+ values.permissionNewsletter,
31
+ values.permissionNewsletterSubmit,
32
+ ];
33
+
34
+ exports.entity = {
35
+ key: values.entityKey,
36
+ permission: values.permissionNewsletter,
37
+ table: values.tableNameNewsletterEntries,
38
+ id: "RowId",
39
+ webPath: values.routeEntityPath,
40
+ appPath: values.screenNewsletterPost,
41
+ };
42
+
43
+ exports.serverless = {
44
+ name: values.serviceKey,
45
+ apis: [
46
+ {
47
+ name: "addNewsletterEntry",
48
+ file: "addNewsletterEntry",
49
+ function: "addNewsletterEntry",
50
+ memorySize: 1024,
51
+ timeout: 30,
52
+ path: "add",
53
+ method: "post",
54
+ headers: ["Content-Type", "authkey"],
55
+ },
56
+ {
57
+ name: "editNewsletterEntry",
58
+ file: "editNewsletterEntry",
59
+ function: "editNewsletterEntry",
60
+ memorySize: 128,
61
+ timeout: 10,
62
+ path: "edit",
63
+ method: "post",
64
+ headers: ["Content-Type", "authkey"],
65
+ },
66
+ {
67
+ name: "editNewsletterSubmission",
68
+ file: "editNewsletterSubmission",
69
+ function: "editNewsletterSubmission",
70
+ memorySize: 128,
71
+ timeout: 10,
72
+ path: "editSubmission",
73
+ method: "post",
74
+ headers: ["Content-Type", "authkey"],
75
+ },
76
+ {
77
+ name: "getNewsletterEntry",
78
+ file: "getNewsletterEntry",
79
+ function: "getNewsletterEntry",
80
+ memorySize: 128,
81
+ timeout: 10,
82
+ path: "get/{id}",
83
+ method: "get",
84
+ headers: ["Content-Type", "authkey"],
85
+ },
86
+ {
87
+ name: "getNews",
88
+ file: "getNews",
89
+ function: "getNews",
90
+ memorySize: 128,
91
+ timeout: 10,
92
+ path: "get2/{action}",
93
+ method: "get",
94
+ headers: ["Content-Type", "authkey"],
95
+ },
96
+ {
97
+ name: "getNewsletterEntries",
98
+ file: "getNewsletterEntries",
99
+ function: "getNewsletterEntries",
100
+ memorySize: 1024,
101
+ timeout: 30,
102
+ path: "get",
103
+ method: "get",
104
+ headers: ["Content-Type", "authkey"],
105
+ },
106
+ {
107
+ name: "getFeaturedNewsletterEntries",
108
+ file: "getFeaturedNewsletterEntries",
109
+ function: "getFeaturedNewsletterEntries",
110
+ memorySize: 128,
111
+ timeout: 10,
112
+ path: "getFeatured",
113
+ method: "get",
114
+ headers: ["Content-Type", "authkey"],
115
+ },
116
+ {
117
+ name: "getRecentNewsletterEntries",
118
+ file: "getRecentNewsletterEntries",
119
+ function: "getRecentNewsletterEntries",
120
+ memorySize: 128,
121
+ timeout: 10,
122
+ path: "recent",
123
+ method: "get",
124
+ headers: ["Content-Type", "authkey"],
125
+ },
126
+ {
127
+ name: "searchAvailableNews",
128
+ file: "searchAvailableNews",
129
+ function: "searchAvailableNews",
130
+ memorySize: 128,
131
+ timeout: 10,
132
+ path: "content/search",
133
+ method: "get",
134
+ headers: ["Content-Type", "authkey"],
135
+ },
136
+ {
137
+ name: "getAvailableNews",
138
+ file: "getAvailableNews",
139
+ function: "getAvailableNews",
140
+ memorySize: 128,
141
+ timeout: 10,
142
+ path: "content/get",
143
+ method: "get",
144
+ headers: ["Content-Type", "authkey"],
145
+ },
146
+ {
147
+ name: "getPublishedEntries",
148
+ file: "getPublishedEntries",
149
+ function: "getPublishedEntries",
150
+ memorySize: 128,
151
+ timeout: 10,
152
+ path: "content/specific",
153
+ method: "get",
154
+ headers: ["Content-Type", "authkey"],
155
+ },
156
+ {
157
+ name: "getPublishedAvailableNews",
158
+ file: "getPublishedAvailableNews",
159
+ function: "getPublishedAvailableNews",
160
+ memorySize: 128,
161
+ timeout: 10,
162
+ path: "content/published",
163
+ method: "get",
164
+ headers: ["Content-Type", "authkey"],
165
+ },
166
+ {
167
+ name: "deleteNewsletterEntry",
168
+ file: "deleteNewsletterEntry",
169
+ function: "deleteNewsletterEntry",
170
+ memorySize: 128,
171
+ timeout: 10,
172
+ path: "remove",
173
+ method: "post",
174
+ headers: ["Content-Type", "authkey"],
175
+ },
176
+ {
177
+ name: "hasNewsletterAccess",
178
+ file: "hasNewsletterAccess",
179
+ function: "hasNewsletterAccess",
180
+ memorySize: 128,
181
+ timeout: 10,
182
+ path: "access",
183
+ method: "get",
184
+ headers: ["Content-Type", "authkey"],
185
+ },
186
+ {
187
+ name: "getNewsletterSubmissions",
188
+ file: "getNewsletterSubmissions",
189
+ function: "getNewsletterSubmissions",
190
+ memorySize: 128,
191
+ timeout: 10,
192
+ path: "submissions/get",
193
+ method: "get",
194
+ headers: ["Content-Type", "authkey"],
195
+ },
196
+ {
197
+ name: "getNewsletterSubmission",
198
+ file: "getNewsletterSubmission",
199
+ function: "getNewsletterSubmission",
200
+ memorySize: 128,
201
+ timeout: 10,
202
+ path: "submissions/get/{id}",
203
+ method: "get",
204
+ headers: ["Content-Type", "authkey"],
205
+ },
206
+ {
207
+ name: "handleNewsletterSubmission",
208
+ file: "handleNewsletterSubmission",
209
+ function: "handleNewsletterSubmission",
210
+ memorySize: 128,
211
+ timeout: 10,
212
+ path: "submissions/handle",
213
+ method: "post",
214
+ headers: ["Content-Type", "authkey"],
215
+ },
216
+ {
217
+ name: "getSubmissionCount",
218
+ file: "getSubmissionCount",
219
+ function: "getSubmissionCount",
220
+ memorySize: 128,
221
+ timeout: 10,
222
+ path: "submissions/count",
223
+ method: "get",
224
+ headers: ["Content-Type", "authkey"],
225
+ },
226
+ {
227
+ name: "getTaggedNews",
228
+ file: "getTaggedNews",
229
+ function: "getTaggedNews",
230
+ memorySize: 128,
231
+ timeout: 10,
232
+ path: "tagged/get",
233
+ method: "get",
234
+ headers: ["Content-Type", "authkey"],
235
+ },
236
+ ],
237
+ triggers: [
238
+ {
239
+ name: "newsletterChanged",
240
+ file: "newsletterChanged",
241
+ function: "newsletterChanged",
242
+ memorySize: 2048,
243
+ timeout: 30,
244
+ table: values.tableKeyNewsletterEntries,
245
+ },
246
+ ],
247
+ schedules: [
248
+ {
249
+ name: "watchNewsletter",
250
+ file: "watchNewsletter",
251
+ function: "watchNewsletter",
252
+ memorySize: "2048",
253
+ timeout: "300",
254
+ rate: "1/5 * * * ? *",
255
+ },
256
+ ],
257
+ tables: [
258
+ {
259
+ key: values.tableKeyNewsletterEntries,
260
+ name: values.tableNameNewsletterEntries,
261
+ attributes: [
262
+ { name: "RowId", type: "S" },
263
+ { name: "Site", type: "S" },
264
+ { name: "UnixTimestampReverse", type: "N" },
265
+ { name: "FeaturedExpiry", type: "N" },
266
+ { name: "SourceId", type: "S" },
267
+ { name: "UnsentNotification", type: "S" },
268
+ { name: "UnixTimestamp", type: "N" },
269
+ ],
270
+ id: "RowId",
271
+ indexes: [
272
+ {
273
+ name: "NewsletterEntriesSiteTimestampIndex",
274
+ keys: [
275
+ { name: "Site", type: "HASH" },
276
+ { name: "UnixTimestampReverse", type: "RANGE" },
277
+ ],
278
+ },
279
+ {
280
+ name: "NewsletterEntriesSiteFeaturedExpiryIndex",
281
+ keys: [
282
+ { name: "Site", type: "HASH" },
283
+ { name: "FeaturedExpiry", type: "RANGE" },
284
+ ],
285
+ },
286
+ {
287
+ name: "NewsletterEntriesSiteSourceIdIndex",
288
+ keys: [
289
+ { name: "Site", type: "HASH" },
290
+ { name: "SourceId", type: "RANGE" },
291
+ ],
292
+ },
293
+ {
294
+ name: "NewsletterEntriesUnsentNotiIndex",
295
+ keys: [
296
+ { name: "UnsentNotification", type: "HASH" },
297
+ { name: "UnixTimestamp", type: "RANGE" },
298
+ ],
299
+ },
300
+ ],
301
+ },
302
+ {
303
+ key: values.tableKeyNewsletterSubmissions,
304
+ name: values.tableNameNewsletterSubmissions,
305
+ attributes: [
306
+ { name: "RowId", type: "S" },
307
+ { name: "Site", type: "S" },
308
+ { name: "UnixTimestampReverse", type: "N" },
309
+ ],
310
+ id: "RowId",
311
+ indexes: [
312
+ {
313
+ name: "NewsletterSubmissionsSiteTimestampIndex",
314
+ keys: [
315
+ { name: "Site", type: "HASH" },
316
+ { name: "UnixTimestampReverse", type: "RANGE" },
317
+ ],
318
+ },
319
+ ],
320
+ },
321
+ {
322
+ key: values.tableKeyNewsletterUserEntries,
323
+ name: values.tableNameNewsletterUserEntries,
324
+ attributes: [
325
+ { name: "RowId", type: "S" },
326
+ { name: "UserId", type: "S" },
327
+ { name: "UnixTimestampReverse", type: "N" },
328
+ ],
329
+ id: "RowId",
330
+ indexes: [
331
+ {
332
+ name: "NewsletterUserEntriesUserIdTimestampIndex",
333
+ keys: [
334
+ { name: "UserId", type: "HASH" },
335
+ { name: "UnixTimestampReverse", type: "RANGE" },
336
+ ],
337
+ },
338
+ ],
339
+ },
340
+ ],
341
+ };