@live-change/db-server 0.8.20 → 0.8.22

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.
@@ -1,2786 +0,0 @@
1
- {
2
- "databases": {
3
- "system": {
4
- "tables": {
5
- "test_tables": {
6
- "uid": "703901ace97bf6dd"
7
- },
8
- "test_logs": {
9
- "uid": "70f22e7eb9d13d8b"
10
- },
11
- "test_indexes": {
12
- "uid": "b4fb466f4cdddcf4"
13
- }
14
- },
15
- "indexes": {},
16
- "logs": {}
17
- },
18
- "test": {
19
- "tables": {
20
- "services": {
21
- "uid": "720a48eeaeaad3e38ae12b013cd79666"
22
- },
23
- "eventConsumers": {
24
- "uid": "fe845903d45dd9a90173def5585245bc"
25
- },
26
- "commands": {
27
- "uid": "c96f085077feea8800bc733a47b4499f"
28
- },
29
- "blog_Post": {
30
- "uid": "295975c49391f723a4217204480ca4f9"
31
- },
32
- "session_Session": {
33
- "uid": "b39987b7b9a9e4e17b9c8c5560d97844"
34
- },
35
- "tags_Tag": {
36
- "uid": "7faffffa4c0b7ef584096c0b663561a3"
37
- },
38
- "timer_Timer": {
39
- "uid": "ac7525dffaa47c34605b9d9a441aa189"
40
- },
41
- "tags_SelectedTags": {
42
- "uid": "cad1cb95ac47302a648f9c11c3ff0ab3"
43
- },
44
- "slugs_Slug": {
45
- "uid": "a636658b006df2758ec54f27ae1b7875"
46
- },
47
- "notifications_Notification": {
48
- "uid": "fd47a9557ec02f30ed554b1e57b9d9ec"
49
- },
50
- "email_SentEmail": {
51
- "uid": "4291a408f61fa2a0d7d8973a4393d3f3"
52
- },
53
- "categories_Category": {
54
- "uid": "b09d96ab8c8a28b0318e693c06005b59"
55
- },
56
- "comments_Comment": {
57
- "uid": "122b7254ba7c5d8f402208435deae13f"
58
- },
59
- "xmlSearch_DataSet": {
60
- "uid": "58dab9b4ae7dc42da48475f9fda217c3"
61
- },
62
- "users_User": {
63
- "uid": "6a9cd68bc85df5a01fdf52d40c342814"
64
- },
65
- "emailPassword_EmailPassword": {
66
- "uid": "17b5f77528776ee2843bb098031fc687"
67
- },
68
- "emailPassword_EmailKey": {
69
- "uid": "d33adcd10694db2a2e719f7319166619"
70
- },
71
- "emailPassword_startRegister_draft": {
72
- "uid": "96fa90d1e60adb6eb3066f056b14cca5"
73
- },
74
- "googleLogin_Login": {
75
- "uid": "16b69f6733b56d0586a040f5cd595917"
76
- },
77
- "facebookLogin_Login": {
78
- "uid": "6f1fdb041c61bb9d15cdcc4c328cbe24"
79
- },
80
- "xmlSearch_Search": {
81
- "uid": "ad45d2a4696a232c40ac3a8d7afd2982"
82
- },
83
- "pictures_Picture": {
84
- "uid": "9e90b809165f367d88feb3b628cd9f0f"
85
- },
86
- "members_Membership": {
87
- "uid": "1abddc607dcbb1858e00f97f24b1d0b8"
88
- },
89
- "members_Invitation": {
90
- "uid": "a459af4455849e417979e1428215900c"
91
- },
92
- "room_Room": {
93
- "uid": "8c81c1eabb29e930a34d51196743a949"
94
- },
95
- "accessControl_Access": {
96
- "uid": "3c88e6b42b677e60bab94b622949d4ef"
97
- },
98
- "accessControl_PublicSessionInfo": {
99
- "uid": "4985177ba5371e8821b1c632f1a0955c"
100
- },
101
- "accessControl_SessionAccess": {
102
- "uid": "ef36d161c77db9515a3192c82e5f0f8c"
103
- },
104
- "members_JoinRequest": {
105
- "uid": "d5631026ba4e77c8e10941487437e419"
106
- },
107
- "members_EmailInvitation": {
108
- "uid": "463d22226aa3165ab421810333e07aa1"
109
- },
110
- "members_SessionInvitations": {
111
- "uid": "a15ee09632d5ec6264c3162a3d714f72"
112
- },
113
- "uploads": {
114
- "uid": "19d605feb5eb6efb6d256c2bf85731da"
115
- },
116
- "partials_Partial": {
117
- "uid": "482ec692a513b2c6fecbdf54137a814f"
118
- },
119
- "accessControl_SessionAccessOnline": {
120
- "uid": "4bd5aff4322074fa65b69eef6a2d953a"
121
- },
122
- "accessControl_UserAccessOnline": {
123
- "uid": "22b40366dfa2b948ae219b454dd66da6"
124
- },
125
- "messages_Message": {
126
- "uid": "1bff7e4ed28648490e685722597f5e11"
127
- },
128
- "readHistory_ReadHistory": {
129
- "uid": "944f1b5bee9114c2bf26080b711951da"
130
- },
131
- "messages_PrivateConversation": {
132
- "uid": "cf797a0b019d901e5d3eea1e3c5c93f9"
133
- },
134
- "xmlAlert_Scanner": {
135
- "uid": "bf7d9a98b228736fae0b6deb432b45cd"
136
- },
137
- "xmlAlert_Scan": {
138
- "uid": "00200e9a3fbee39e3a99afc17f384305"
139
- },
140
- "eventReports": {
141
- "uid": "ce58087523d6c6f7a72317c97025c511"
142
- },
143
- "searchIndexes": {
144
- "uid": "a7d207e408376babe0caa2cf05b87c69"
145
- },
146
- "peerConnection_Peer": {
147
- "uid": "88af15629cf01917022978973b2bbfe3"
148
- },
149
- "peerConnection_Message": {
150
- "uid": "807766a2410b94bd3420ed9207cf07b3"
151
- },
152
- "xmlAlert_Result": {
153
- "uid": "0ec8aa409a21a9a820bb6aee3fad5d32"
154
- },
155
- "smsConfirm_Code": {
156
- "uid": "9dfb0f2813992472d1687d84c7f468e6"
157
- },
158
- "smsapi_SentSms": {
159
- "uid": "cc9003fdc930bc31ea1bb9bea0323e5e"
160
- },
161
- "peerConnection_PeerState": {
162
- "uid": "7e6f3dd44e8dfd5e97b7f94dd9ab9269"
163
- },
164
- "urlChecker_Checker": {
165
- "uid": "000210093002099036492"
166
- },
167
- "urlChecker_Check": {
168
- "uid": "568054240004712045550000"
169
- },
170
- "xmlSearch_Generator": {
171
- "uid": "00011009678008200000"
172
- },
173
- "xmlCsvExclusions_ExclusionsList": {
174
- "uid": "00020000280000448300"
175
- },
176
- "xmlCsvExclusions_ExclusionsCheck": {
177
- "uid": "342000640077500000036"
178
- },
179
- "adsApi_ApiAccess": {
180
- "uid": "20510021590110005744044"
181
- },
182
- "adsApi_Account": {
183
- "uid": "0037670000544506900093"
184
- },
185
- "adsApi_UserOwnedAccount": {
186
- "uid": "08100800800360000000"
187
- },
188
- "adsApi_Campaign": {
189
- "uid": "0007600677594250268006"
190
- },
191
- "adsApi_UserState": {
192
- "uid": "1ca2e5864f99da04"
193
- },
194
- "triggerRoutes": {
195
- "uid": "c3dfc65f19fdb66b"
196
- },
197
- "triggers": {
198
- "uid": "b51ff846d62344e1"
199
- }
200
- },
201
- "indexes": {
202
- "blog_Post_postsByDate": {
203
- "uid": "7d1548240b2720848899d26ce2f2db95",
204
- "sources": [
205
- {
206
- "type": "table",
207
- "name": "blog_Post"
208
- }
209
- ],
210
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
211
- "parameters": {
212
- "properties": [
213
- [
214
- "date"
215
- ]
216
- ],
217
- "table": "blog_Post"
218
- }
219
- },
220
- "tags_SelectedTags_user": {
221
- "uid": "43268a7632955e45a1979ea51e0c6c7b",
222
- "sources": [
223
- {
224
- "type": "table",
225
- "name": "tags_SelectedTags"
226
- }
227
- ],
228
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
229
- "parameters": {
230
- "properties": [
231
- [
232
- "user"
233
- ]
234
- ],
235
- "table": "tags_SelectedTags"
236
- }
237
- },
238
- "tags_SelectedTags_session": {
239
- "uid": "0c62d0561aa146a47af9742aca57712a",
240
- "sources": [
241
- {
242
- "type": "table",
243
- "name": "tags_SelectedTags"
244
- }
245
- ],
246
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
247
- "parameters": {
248
- "properties": [
249
- [
250
- "session"
251
- ]
252
- ],
253
- "table": "tags_SelectedTags"
254
- }
255
- },
256
- "slugs_Slug_slugByPath": {
257
- "uid": "996e841c22d58f3d19ce5b59ef186514",
258
- "sources": [
259
- {
260
- "type": "table",
261
- "name": "slugs_Slug"
262
- }
263
- ],
264
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
265
- "parameters": {
266
- "properties": [
267
- [
268
- "group"
269
- ],
270
- [
271
- "path"
272
- ]
273
- ],
274
- "table": "slugs_Slug"
275
- }
276
- },
277
- "categories_Category_subcategories": {
278
- "uid": "afce43127e33f536e1e28a10fe7d1457",
279
- "sources": [
280
- {
281
- "type": "table",
282
- "name": "categories_Category"
283
- }
284
- ],
285
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
286
- "parameters": {
287
- "properties": [
288
- [
289
- "parent"
290
- ]
291
- ],
292
- "table": "categories_Category"
293
- }
294
- },
295
- "comments_Comment_commentsBySubject": {
296
- "uid": "d4cb57e24477354ac1b04731e9d59098",
297
- "sources": [
298
- {
299
- "type": "table",
300
- "name": "comments_Comment"
301
- }
302
- ],
303
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
304
- "parameters": {
305
- "properties": [
306
- [
307
- "subjectType"
308
- ],
309
- [
310
- "subject"
311
- ],
312
- [
313
- "addTime"
314
- ]
315
- ],
316
- "table": "comments_Comment"
317
- }
318
- },
319
- "users_User_email": {
320
- "uid": "cd36bc5f2354e2a7bae4ba04662d5789",
321
- "sources": [
322
- {
323
- "type": "table",
324
- "name": "users_User"
325
- }
326
- ],
327
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
328
- "parameters": {
329
- "properties": [
330
- [
331
- "userData",
332
- "email"
333
- ]
334
- ],
335
- "table": "users_User"
336
- }
337
- },
338
- "blog_Post_userPostsWithDate": {
339
- "uid": "3ad501c8bf2ea01da828024e7e726bff",
340
- "sources": [
341
- {
342
- "type": "table",
343
- "name": "blog_Post"
344
- }
345
- ],
346
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
347
- "parameters": {
348
- "properties": [
349
- [
350
- "author"
351
- ],
352
- [
353
- "date"
354
- ]
355
- ],
356
- "table": "blog_Post"
357
- }
358
- },
359
- "notifications_Notification_userNotificationsByReadState": {
360
- "uid": "2297215b6b197c7bddcee3e18dec76c3",
361
- "sources": [
362
- {
363
- "type": "table",
364
- "name": "notifications_Notification"
365
- }
366
- ],
367
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
368
- "parameters": {
369
- "properties": [
370
- [
371
- "user"
372
- ],
373
- [
374
- "readState"
375
- ]
376
- ],
377
- "table": "notifications_Notification"
378
- }
379
- },
380
- "xmlSearch_Search_bySession": {
381
- "uid": "9f5fb25093c615ec8712b3ee604cfb67",
382
- "sources": [
383
- {
384
- "type": "table",
385
- "name": "xmlSearch_Search"
386
- }
387
- ],
388
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
389
- "parameters": {
390
- "properties": [
391
- [
392
- "session"
393
- ],
394
- [
395
- "timestamp"
396
- ]
397
- ],
398
- "table": "xmlSearch_Search"
399
- }
400
- },
401
- "xmlSearch_Search_byUser": {
402
- "uid": "002c5e134a3109845fedc6580768a654",
403
- "sources": [
404
- {
405
- "type": "table",
406
- "name": "xmlSearch_Search"
407
- }
408
- ],
409
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
410
- "parameters": {
411
- "properties": [
412
- [
413
- "user"
414
- ],
415
- [
416
- "timestamp"
417
- ]
418
- ],
419
- "table": "xmlSearch_Search"
420
- }
421
- },
422
- "xmlSearch_Search_bySessionDataSet": {
423
- "uid": "8dbc0385d9f40e843fb81b0deb3a8939",
424
- "sources": [
425
- {
426
- "type": "table",
427
- "name": "xmlSearch_Search"
428
- }
429
- ],
430
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
431
- "parameters": {
432
- "properties": [
433
- [
434
- "session"
435
- ],
436
- [
437
- "dataSet"
438
- ],
439
- [
440
- "timestamp"
441
- ]
442
- ],
443
- "table": "xmlSearch_Search"
444
- }
445
- },
446
- "xmlSearch_Search_byUserDataSet": {
447
- "uid": "7a5f68fbcfdaae2a3e3ea741729c8137",
448
- "sources": [
449
- {
450
- "type": "table",
451
- "name": "xmlSearch_Search"
452
- }
453
- ],
454
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
455
- "parameters": {
456
- "properties": [
457
- [
458
- "user"
459
- ],
460
- [
461
- "dataSet"
462
- ],
463
- [
464
- "timestamp"
465
- ]
466
- ],
467
- "table": "xmlSearch_Search"
468
- }
469
- },
470
- "xmlSearch_Search_byDataSet": {
471
- "uid": "9c603bd6514a473a4aa442f40bb61636",
472
- "sources": [
473
- {
474
- "type": "table",
475
- "name": "xmlSearch_Search"
476
- }
477
- ],
478
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
479
- "parameters": {
480
- "properties": [
481
- [
482
- "dataSet"
483
- ]
484
- ],
485
- "table": "xmlSearch_Search"
486
- }
487
- },
488
- "xmlSearch_Search_user": {
489
- "uid": "a0e6d2897e1c8338b48adacfb4a36036",
490
- "sources": [
491
- {
492
- "type": "table",
493
- "name": "xmlSearch_Search"
494
- }
495
- ],
496
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
497
- "parameters": {
498
- "properties": [
499
- [
500
- "user"
501
- ]
502
- ],
503
- "table": "xmlSearch_Search"
504
- }
505
- },
506
- "xmlSearch_Search_session": {
507
- "uid": "90a2df85a8b818379136ca7c03b57ecb",
508
- "sources": [
509
- {
510
- "type": "table",
511
- "name": "xmlSearch_Search"
512
- }
513
- ],
514
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
515
- "parameters": {
516
- "properties": [
517
- [
518
- "session"
519
- ]
520
- ],
521
- "table": "xmlSearch_Search"
522
- }
523
- },
524
- "members_Membership_userMemberships": {
525
- "uid": "4a314e7ee611f5f192ac9977d3415e61",
526
- "sources": [
527
- {
528
- "type": "table",
529
- "name": "members_Membership"
530
- }
531
- ],
532
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
533
- "parameters": {
534
- "properties": [
535
- [
536
- "user"
537
- ]
538
- ],
539
- "table": "members_Membership"
540
- }
541
- },
542
- "members_Membership_userMembershipsByType": {
543
- "uid": "c97e420e2b5b35a4ec261e8e03a9d2fa",
544
- "sources": [
545
- {
546
- "type": "table",
547
- "name": "members_Membership"
548
- }
549
- ],
550
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
551
- "parameters": {
552
- "properties": [
553
- [
554
- "user"
555
- ],
556
- [
557
- "listType"
558
- ]
559
- ],
560
- "table": "members_Membership"
561
- }
562
- },
563
- "members_Membership_userMembershipsByTypeTime": {
564
- "uid": "af0b08287a0d6eba37912f92bfcd50fd",
565
- "sources": [
566
- {
567
- "type": "table",
568
- "name": "members_Membership"
569
- }
570
- ],
571
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
572
- "parameters": {
573
- "properties": [
574
- [
575
- "user"
576
- ],
577
- [
578
- "listType"
579
- ],
580
- [
581
- "time"
582
- ]
583
- ],
584
- "table": "members_Membership"
585
- }
586
- },
587
- "members_Membership_userMembershipsByTypeRole": {
588
- "uid": "2459979fa5d5d2e1e9879f2868d0d3e6",
589
- "sources": [
590
- {
591
- "type": "table",
592
- "name": "members_Membership"
593
- }
594
- ],
595
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
596
- "parameters": {
597
- "properties": [
598
- [
599
- "user"
600
- ],
601
- [
602
- "listType"
603
- ],
604
- [
605
- "role"
606
- ]
607
- ],
608
- "table": "members_Membership"
609
- }
610
- },
611
- "members_Membership_listMembershipsByTypeRole": {
612
- "uid": "02a105fdcc805ad656efeb5f4584902b",
613
- "sources": [
614
- {
615
- "type": "table",
616
- "name": "members_Membership"
617
- }
618
- ],
619
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
620
- "parameters": {
621
- "properties": [
622
- [
623
- "listType"
624
- ],
625
- [
626
- "list"
627
- ],
628
- [
629
- "role"
630
- ]
631
- ],
632
- "table": "members_Membership"
633
- }
634
- },
635
- "members_Membership_userMembershipsByTypeRoleTime": {
636
- "uid": "c2fff98ffe0ff864a936e514f5eb10f3",
637
- "sources": [
638
- {
639
- "type": "table",
640
- "name": "members_Membership"
641
- }
642
- ],
643
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
644
- "parameters": {
645
- "properties": [
646
- [
647
- "user"
648
- ],
649
- [
650
- "listType"
651
- ],
652
- [
653
- "role"
654
- ],
655
- [
656
- "time"
657
- ]
658
- ],
659
- "table": "members_Membership"
660
- }
661
- },
662
- "members_Membership_listMembers": {
663
- "uid": "6e3ccc81732b7b8315e1a0f489a5dfe0",
664
- "sources": [
665
- {
666
- "type": "table",
667
- "name": "members_Membership"
668
- }
669
- ],
670
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
671
- "parameters": {
672
- "properties": [
673
- [
674
- "listType"
675
- ],
676
- [
677
- "list"
678
- ]
679
- ],
680
- "table": "members_Membership"
681
- }
682
- },
683
- "members_Membership_membership": {
684
- "uid": "8c006f9472686672a063eaee6745e180",
685
- "sources": [
686
- {
687
- "type": "table",
688
- "name": "members_Membership"
689
- }
690
- ],
691
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
692
- "parameters": {
693
- "properties": [
694
- [
695
- "user"
696
- ],
697
- [
698
- "listType"
699
- ],
700
- [
701
- "list"
702
- ]
703
- ],
704
- "table": "members_Membership"
705
- }
706
- },
707
- "members_Invitation_receivedInvitations": {
708
- "uid": "d5bc3adda3a39a299765c8b615359963",
709
- "sources": [
710
- {
711
- "type": "table",
712
- "name": "members_Invitation"
713
- }
714
- ],
715
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
716
- "parameters": {
717
- "properties": [
718
- [
719
- "to"
720
- ]
721
- ],
722
- "table": "members_Invitation"
723
- }
724
- },
725
- "members_Invitation_sentInvitations": {
726
- "uid": "bd35122c0841e7a3f1dcb67176cd3b10",
727
- "sources": [
728
- {
729
- "type": "table",
730
- "name": "members_Invitation"
731
- }
732
- ],
733
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
734
- "parameters": {
735
- "properties": [
736
- [
737
- "from"
738
- ]
739
- ],
740
- "table": "members_Invitation"
741
- }
742
- },
743
- "members_Invitation_receivedInvitationsByType": {
744
- "uid": "ee5aff34615e4736b465e4a1bc6c63ab",
745
- "sources": [
746
- {
747
- "type": "table",
748
- "name": "members_Invitation"
749
- }
750
- ],
751
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
752
- "parameters": {
753
- "properties": [
754
- [
755
- "to"
756
- ],
757
- [
758
- "listType"
759
- ]
760
- ],
761
- "table": "members_Invitation"
762
- }
763
- },
764
- "accessControl_Access_byTo": {
765
- "uid": "bf4eab63c29b578486b4c1d5164675fb",
766
- "sources": [
767
- {
768
- "type": "table",
769
- "name": "accessControl_Access"
770
- }
771
- ],
772
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
773
- "parameters": {
774
- "properties": [
775
- [
776
- "toType"
777
- ],
778
- [
779
- "toId"
780
- ]
781
- ],
782
- "table": "accessControl_Access"
783
- }
784
- },
785
- "members_Invitation_sentInvitationsByType": {
786
- "uid": "8c12129c85caf42a8aaddec5f463cfae",
787
- "sources": [
788
- {
789
- "type": "table",
790
- "name": "members_Invitation"
791
- }
792
- ],
793
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
794
- "parameters": {
795
- "properties": [
796
- [
797
- "from"
798
- ],
799
- [
800
- "listType"
801
- ]
802
- ],
803
- "table": "members_Invitation"
804
- }
805
- },
806
- "members_Invitation_listInvitations": {
807
- "uid": "e54ee4fcb99528001cc1913461b32c48",
808
- "sources": [
809
- {
810
- "type": "table",
811
- "name": "members_Invitation"
812
- }
813
- ],
814
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
815
- "parameters": {
816
- "properties": [
817
- [
818
- "listType"
819
- ],
820
- [
821
- "list"
822
- ]
823
- ],
824
- "table": "members_Invitation"
825
- }
826
- },
827
- "accessControl_PublicSessionInfo_bySession": {
828
- "uid": "7af6b44923fb123d8a87fa45b38565a8",
829
- "sources": [
830
- {
831
- "type": "table",
832
- "name": "accessControl_PublicSessionInfo"
833
- }
834
- ],
835
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
836
- "parameters": {
837
- "properties": [
838
- [
839
- "session"
840
- ]
841
- ],
842
- "table": "accessControl_PublicSessionInfo"
843
- }
844
- },
845
- "members_Invitation_invitation": {
846
- "uid": "b4210a2958d4da0cfe83dd479b5c1ec7",
847
- "sources": [
848
- {
849
- "type": "table",
850
- "name": "members_Invitation"
851
- }
852
- ],
853
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
854
- "parameters": {
855
- "properties": [
856
- [
857
- "to"
858
- ],
859
- [
860
- "listType"
861
- ],
862
- [
863
- "list"
864
- ]
865
- ],
866
- "table": "members_Invitation"
867
- }
868
- },
869
- "accessControl_SessionAccess_byAccess": {
870
- "uid": "3d65b6c0ae37e73cdade1b6538d2ba06",
871
- "sources": [
872
- {
873
- "type": "table",
874
- "name": "accessControl_SessionAccess"
875
- }
876
- ],
877
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
878
- "parameters": {
879
- "properties": [
880
- [
881
- "access"
882
- ]
883
- ],
884
- "table": "accessControl_SessionAccess"
885
- }
886
- },
887
- "members_JoinRequest_receivedJoinRequests": {
888
- "uid": "32cecbbad72a61330cb08b291163cb26",
889
- "sources": [
890
- {
891
- "type": "table",
892
- "name": "members_JoinRequest"
893
- }
894
- ],
895
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
896
- "parameters": {
897
- "properties": [
898
- [
899
- "to"
900
- ]
901
- ],
902
- "table": "members_JoinRequest"
903
- }
904
- },
905
- "accessControl_SessionAccess_bySession": {
906
- "uid": "fc37f4efaa7bbd94807d0cf8262418c1",
907
- "sources": [
908
- {
909
- "type": "table",
910
- "name": "accessControl_SessionAccess"
911
- }
912
- ],
913
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
914
- "parameters": {
915
- "properties": [
916
- [
917
- "session"
918
- ]
919
- ],
920
- "table": "accessControl_SessionAccess"
921
- }
922
- },
923
- "members_JoinRequest_sentJoinRequests": {
924
- "uid": "7f7175a9dc40e174617de94a50bd1f02",
925
- "sources": [
926
- {
927
- "type": "table",
928
- "name": "members_JoinRequest"
929
- }
930
- ],
931
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
932
- "parameters": {
933
- "properties": [
934
- [
935
- "from"
936
- ]
937
- ],
938
- "table": "members_JoinRequest"
939
- }
940
- },
941
- "accessControl_SessionAccess_bySessionAccess": {
942
- "uid": "731fca19f3f19a4311e0a3bd9ad94ac9",
943
- "sources": [
944
- {
945
- "type": "table",
946
- "name": "accessControl_SessionAccess"
947
- }
948
- ],
949
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
950
- "parameters": {
951
- "properties": [
952
- [
953
- "session"
954
- ],
955
- [
956
- "access"
957
- ]
958
- ],
959
- "table": "accessControl_SessionAccess"
960
- }
961
- },
962
- "members_JoinRequest_receivedJoinRequestsByType": {
963
- "uid": "1e39a3f5a88cfc07283fa68e056fdf60",
964
- "sources": [
965
- {
966
- "type": "table",
967
- "name": "members_JoinRequest"
968
- }
969
- ],
970
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
971
- "parameters": {
972
- "properties": [
973
- [
974
- "to"
975
- ],
976
- [
977
- "listType"
978
- ]
979
- ],
980
- "table": "members_JoinRequest"
981
- }
982
- },
983
- "members_JoinRequest_sentJoinRequestsByType": {
984
- "uid": "a4ada1df44c4bde808ae142cb94586e3",
985
- "sources": [
986
- {
987
- "type": "table",
988
- "name": "members_JoinRequest"
989
- }
990
- ],
991
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
992
- "parameters": {
993
- "properties": [
994
- [
995
- "from"
996
- ],
997
- [
998
- "listType"
999
- ]
1000
- ],
1001
- "table": "members_JoinRequest"
1002
- }
1003
- },
1004
- "members_JoinRequest_sentJoinRequestsByTypeList": {
1005
- "uid": "c3c82435a84c683e8ce44a0529150234",
1006
- "sources": [
1007
- {
1008
- "type": "table",
1009
- "name": "members_JoinRequest"
1010
- }
1011
- ],
1012
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
1013
- "parameters": {
1014
- "properties": [
1015
- [
1016
- "from"
1017
- ],
1018
- [
1019
- "listType"
1020
- ],
1021
- [
1022
- "list"
1023
- ]
1024
- ],
1025
- "table": "members_JoinRequest"
1026
- }
1027
- },
1028
- "members_JoinRequest_listJoinRequests": {
1029
- "uid": "b0c1a14faac1bbcd14370b4e991fd73c",
1030
- "sources": [
1031
- {
1032
- "type": "table",
1033
- "name": "members_JoinRequest"
1034
- }
1035
- ],
1036
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
1037
- "parameters": {
1038
- "properties": [
1039
- [
1040
- "listType"
1041
- ],
1042
- [
1043
- "list"
1044
- ]
1045
- ],
1046
- "table": "members_JoinRequest"
1047
- }
1048
- },
1049
- "members_JoinRequest_joinRequest": {
1050
- "uid": "4c71b599615897f3f6fa8dc6f38fa713",
1051
- "sources": [
1052
- {
1053
- "type": "table",
1054
- "name": "members_JoinRequest"
1055
- }
1056
- ],
1057
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
1058
- "parameters": {
1059
- "properties": [
1060
- [
1061
- "to"
1062
- ],
1063
- [
1064
- "listType"
1065
- ],
1066
- [
1067
- "list"
1068
- ]
1069
- ],
1070
- "table": "members_JoinRequest"
1071
- }
1072
- },
1073
- "members_EmailInvitation_sentInvitations": {
1074
- "uid": "f82f3e866d94b426061f80e643431a83",
1075
- "sources": [
1076
- {
1077
- "type": "table",
1078
- "name": "members_EmailInvitation"
1079
- }
1080
- ],
1081
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
1082
- "parameters": {
1083
- "properties": [
1084
- [
1085
- "from"
1086
- ]
1087
- ],
1088
- "table": "members_EmailInvitation"
1089
- }
1090
- },
1091
- "members_EmailInvitation_sentInvitationsByType": {
1092
- "uid": "db9a8db72c3248bd824a896fed511272",
1093
- "sources": [
1094
- {
1095
- "type": "table",
1096
- "name": "members_EmailInvitation"
1097
- }
1098
- ],
1099
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
1100
- "parameters": {
1101
- "properties": [
1102
- [
1103
- "from"
1104
- ],
1105
- [
1106
- "listType"
1107
- ]
1108
- ],
1109
- "table": "members_EmailInvitation"
1110
- }
1111
- },
1112
- "members_EmailInvitation_invitationByCode": {
1113
- "uid": "a2c99a4e8003e426315d24b79c5e257e",
1114
- "sources": [
1115
- {
1116
- "type": "table",
1117
- "name": "members_EmailInvitation"
1118
- }
1119
- ],
1120
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
1121
- "parameters": {
1122
- "properties": [
1123
- [
1124
- "code"
1125
- ]
1126
- ],
1127
- "table": "members_EmailInvitation"
1128
- }
1129
- },
1130
- "members_EmailInvitation_invitationsByEmail": {
1131
- "uid": "35b736c56ade0c19fef3ec0313cacd77",
1132
- "sources": [
1133
- {
1134
- "type": "table",
1135
- "name": "members_EmailInvitation"
1136
- }
1137
- ],
1138
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
1139
- "parameters": {
1140
- "properties": [
1141
- [
1142
- "email"
1143
- ]
1144
- ],
1145
- "table": "members_EmailInvitation"
1146
- }
1147
- },
1148
- "members_EmailInvitation_listInvitations": {
1149
- "uid": "a234c91c783526c7172a56cc8fec9c33",
1150
- "sources": [
1151
- {
1152
- "type": "table",
1153
- "name": "members_EmailInvitation"
1154
- }
1155
- ],
1156
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
1157
- "parameters": {
1158
- "properties": [
1159
- [
1160
- "listType"
1161
- ],
1162
- [
1163
- "list"
1164
- ]
1165
- ],
1166
- "table": "members_EmailInvitation"
1167
- }
1168
- },
1169
- "members_EmailInvitation_emailInvitation": {
1170
- "uid": "299114e84caaa9a2d4b04d62c31dda50",
1171
- "sources": [
1172
- {
1173
- "type": "table",
1174
- "name": "members_EmailInvitation"
1175
- }
1176
- ],
1177
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
1178
- "parameters": {
1179
- "properties": [
1180
- [
1181
- "email"
1182
- ],
1183
- [
1184
- "listType"
1185
- ],
1186
- [
1187
- "list"
1188
- ]
1189
- ],
1190
- "table": "members_EmailInvitation"
1191
- }
1192
- },
1193
- "partials_Partial_byName": {
1194
- "uid": "fe3c7d55237b9766aad7a30fdc37a725",
1195
- "sources": [
1196
- {
1197
- "type": "table",
1198
- "name": "partials_Partial"
1199
- }
1200
- ],
1201
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
1202
- "parameters": {
1203
- "properties": [
1204
- [
1205
- "name"
1206
- ]
1207
- ],
1208
- "table": "partials_Partial"
1209
- }
1210
- },
1211
- "accessControl_SessionAccessOnline_byAccess": {
1212
- "uid": "301b2a27dc3a454a6f6289de3b3dd64d",
1213
- "sources": [
1214
- {
1215
- "type": "table",
1216
- "name": "accessControl_SessionAccessOnline"
1217
- }
1218
- ],
1219
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
1220
- "parameters": {
1221
- "properties": [
1222
- [
1223
- "access"
1224
- ]
1225
- ],
1226
- "table": "accessControl_SessionAccessOnline"
1227
- }
1228
- },
1229
- "accessControl_SessionAccessOnline_byPublicInfo": {
1230
- "uid": "874d8a9cda81eb9d1d0ffa1ef974a59d",
1231
- "sources": [
1232
- {
1233
- "type": "table",
1234
- "name": "accessControl_SessionAccessOnline"
1235
- }
1236
- ],
1237
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
1238
- "parameters": {
1239
- "properties": [
1240
- [
1241
- "publicInfo"
1242
- ]
1243
- ],
1244
- "table": "accessControl_SessionAccessOnline"
1245
- }
1246
- },
1247
- "accessControl_SessionAccessOnline_byPublicInfoAccess": {
1248
- "uid": "9c9a11a3c9345995a31f1fa6458d36a4",
1249
- "sources": [
1250
- {
1251
- "type": "table",
1252
- "name": "accessControl_SessionAccessOnline"
1253
- }
1254
- ],
1255
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
1256
- "parameters": {
1257
- "properties": [
1258
- [
1259
- "publicInfo"
1260
- ],
1261
- [
1262
- "access"
1263
- ]
1264
- ],
1265
- "table": "accessControl_SessionAccessOnline"
1266
- }
1267
- },
1268
- "accessControl_UserAccessOnline_byAccess": {
1269
- "uid": "0fdf21a72bb82d9294413c0aeb498c14",
1270
- "sources": [
1271
- {
1272
- "type": "table",
1273
- "name": "accessControl_UserAccessOnline"
1274
- }
1275
- ],
1276
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
1277
- "parameters": {
1278
- "properties": [
1279
- [
1280
- "access"
1281
- ]
1282
- ],
1283
- "table": "accessControl_UserAccessOnline"
1284
- }
1285
- },
1286
- "accessControl_UserAccessOnline_byUser": {
1287
- "uid": "68f6c7bf047d9d0ee920390ac3af066a",
1288
- "sources": [
1289
- {
1290
- "type": "table",
1291
- "name": "accessControl_UserAccessOnline"
1292
- }
1293
- ],
1294
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
1295
- "parameters": {
1296
- "properties": [
1297
- [
1298
- "user"
1299
- ]
1300
- ],
1301
- "table": "accessControl_UserAccessOnline"
1302
- }
1303
- },
1304
- "accessControl_UserAccessOnline_byUserAccess": {
1305
- "uid": "6039ef56f3cb3b1c3715ee805408b7e8",
1306
- "sources": [
1307
- {
1308
- "type": "table",
1309
- "name": "accessControl_UserAccessOnline"
1310
- }
1311
- ],
1312
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
1313
- "parameters": {
1314
- "properties": [
1315
- [
1316
- "user"
1317
- ],
1318
- [
1319
- "access"
1320
- ]
1321
- ],
1322
- "table": "accessControl_UserAccessOnline"
1323
- }
1324
- },
1325
- "messages_Message_byToTypeIdTimestamp": {
1326
- "uid": "04ba4e4ce8013a6c340a9fb86b582098",
1327
- "sources": [
1328
- {
1329
- "type": "table",
1330
- "name": "messages_Message"
1331
- }
1332
- ],
1333
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
1334
- "parameters": {
1335
- "properties": [
1336
- [
1337
- "toType"
1338
- ],
1339
- [
1340
- "toId"
1341
- ],
1342
- [
1343
- "timestamp"
1344
- ]
1345
- ],
1346
- "table": "messages_Message"
1347
- }
1348
- },
1349
- "readHistory_ReadHistory_userReadHistory": {
1350
- "uid": "1003ac8390f6fa8abdc01cc9e274acc9",
1351
- "sources": [
1352
- {
1353
- "type": "table",
1354
- "name": "readHistory_ReadHistory"
1355
- }
1356
- ],
1357
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
1358
- "parameters": {
1359
- "properties": [
1360
- [
1361
- "user"
1362
- ],
1363
- [
1364
- "toType"
1365
- ],
1366
- [
1367
- "toId"
1368
- ]
1369
- ],
1370
- "table": "readHistory_ReadHistory"
1371
- }
1372
- },
1373
- "messages_PrivateConversation_byUserUser": {
1374
- "uid": "c1986acb0fab172b943fdba4e1194613",
1375
- "sources": [
1376
- {
1377
- "type": "table",
1378
- "name": "messages_PrivateConversation"
1379
- }
1380
- ],
1381
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
1382
- "parameters": {
1383
- "properties": [
1384
- [
1385
- "user1"
1386
- ],
1387
- [
1388
- "user2"
1389
- ]
1390
- ],
1391
- "table": "messages_PrivateConversation"
1392
- }
1393
- },
1394
- "messages_PrivateConversation_bySessionSession": {
1395
- "uid": "835ef6f856f72a460f660fbec4a7cb69",
1396
- "sources": [
1397
- {
1398
- "type": "table",
1399
- "name": "messages_PrivateConversation"
1400
- }
1401
- ],
1402
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
1403
- "parameters": {
1404
- "properties": [
1405
- [
1406
- "session1"
1407
- ],
1408
- [
1409
- "session2"
1410
- ]
1411
- ],
1412
- "table": "messages_PrivateConversation"
1413
- }
1414
- },
1415
- "readHistory_ReadHistory_sessionReadHistory": {
1416
- "uid": "c79e05cd7d7a00c77a9d2acfa44ea25f",
1417
- "sources": [
1418
- {
1419
- "type": "table",
1420
- "name": "readHistory_ReadHistory"
1421
- }
1422
- ],
1423
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
1424
- "parameters": {
1425
- "properties": [
1426
- [
1427
- "publicSessionInfo"
1428
- ],
1429
- [
1430
- "toType"
1431
- ],
1432
- [
1433
- "toId"
1434
- ]
1435
- ],
1436
- "table": "readHistory_ReadHistory"
1437
- }
1438
- },
1439
- "messages_PrivateConversation_byUserSession": {
1440
- "uid": "8b83fd7d470e113d77d762d28127d3a0",
1441
- "sources": [
1442
- {
1443
- "type": "table",
1444
- "name": "messages_PrivateConversation"
1445
- }
1446
- ],
1447
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
1448
- "parameters": {
1449
- "properties": [
1450
- [
1451
- "user1"
1452
- ],
1453
- [
1454
- "session2"
1455
- ]
1456
- ],
1457
- "table": "messages_PrivateConversation"
1458
- }
1459
- },
1460
- "messages_PrivateConversation_bySessionUser": {
1461
- "uid": "1f4f1ad6967b62382e153862705679df",
1462
- "sources": [
1463
- {
1464
- "type": "table",
1465
- "name": "messages_PrivateConversation"
1466
- }
1467
- ],
1468
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
1469
- "parameters": {
1470
- "properties": [
1471
- [
1472
- "session1"
1473
- ],
1474
- [
1475
- "user2"
1476
- ]
1477
- ],
1478
- "table": "messages_PrivateConversation"
1479
- }
1480
- },
1481
- "readHistory_ReadHistory_readHistories": {
1482
- "uid": "31eb8bfd114df21f3ee71fac00b2b788",
1483
- "sources": [
1484
- {
1485
- "type": "table",
1486
- "name": "readHistory_ReadHistory"
1487
- }
1488
- ],
1489
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
1490
- "parameters": {
1491
- "properties": [
1492
- [
1493
- "toType"
1494
- ],
1495
- [
1496
- "toId"
1497
- ]
1498
- ],
1499
- "table": "readHistory_ReadHistory"
1500
- }
1501
- },
1502
- "timer_Timer_timestamp": {
1503
- "uid": "c2c7badb698af5eea7365f20db865134",
1504
- "sources": [
1505
- {
1506
- "type": "table",
1507
- "name": "timer_Timer"
1508
- }
1509
- ],
1510
- "code": "(async function(input, output) {\n const mapper = (obj) => ({ id: (''+obj.timestamp).padStart(16, '0') + '_' + obj.id, to: obj.id })\n await input.table('timer_Timer').onChange(\n (obj, oldObj) => output.change(obj && mapper(obj), oldObj && mapper(oldObj))\n )\n })",
1511
- "parameters": {}
1512
- },
1513
- "accessControl_SessionAccessOnline_online": {
1514
- "uid": "5e124e01cc7639bacf81cacc9bfc6ecc",
1515
- "sources": [
1516
- {
1517
- "type": "table",
1518
- "name": "accessControl_SessionAccessOnline"
1519
- }
1520
- ],
1521
- "code": "(async function(input, output) {\n const mapper =\n (obj) => obj.online &&\n ({ id: obj.id, to: obj.id, publicInfo: obj.publicInfo })\n await input.table('accessControl_SessionAccessOnline').onChange(\n (obj, oldObj) => output.change(obj && mapper(obj), oldObj && mapper(oldObj))\n )\n })",
1522
- "parameters": {}
1523
- },
1524
- "accessControl_UserAccessOnline_online": {
1525
- "uid": "24942749dd48ae715b98650c7c9389ea",
1526
- "sources": [
1527
- {
1528
- "type": "table",
1529
- "name": "accessControl_UserAccessOnline"
1530
- }
1531
- ],
1532
- "code": "(async function(input, output) {\n const mapper =\n (obj) => obj.online &&\n ({ id: obj.id, to: obj.id, user: obj.user })\n await input.table('accessControl_UserAccessOnline').onChange(\n (obj, oldObj) => output.change(obj && mapper(obj), oldObj && mapper(oldObj))\n )\n })",
1533
- "parameters": {}
1534
- },
1535
- "xmlSearch_Search_notDeletedByTimestamp": {
1536
- "uid": "bab2ca61833ccca5de93708bf653d519",
1537
- "sources": [
1538
- {
1539
- "type": "table",
1540
- "name": "xmlSearch_Search"
1541
- }
1542
- ],
1543
- "code": "(async function(input, output) {\n const mapper =\n (obj) => obj.state != 'deleted' &&\n ({ id: `${JSON.stringify(obj.timestamp)}_${obj.id}`, to: obj.id })\n await input.table('xmlSearch_Search').onChange(\n (obj, oldObj) => output.change(obj && mapper(obj), oldObj && mapper(oldObj))\n )\n })",
1544
- "parameters": {}
1545
- },
1546
- "partials_Partial_dataByName": {
1547
- "uid": "77e6f378dcc59b9b38d08418ad459206",
1548
- "sources": [
1549
- {
1550
- "type": "table",
1551
- "name": "partials_Partial"
1552
- }
1553
- ],
1554
- "code": "(async (input, output, { }) => {\n const mapper = (obj) => ({ id: obj.name, data: obj.data })\n await input.table(\"partials_Partial\").onChange(\n (obj, oldObj) => output.change(obj && mapper(obj), oldObj && mapper(oldObj))\n )\n })",
1555
- "parameters": {}
1556
- },
1557
- "users_User_online": {
1558
- "uid": "3d4a5745b861c2486edf4f9c681a4faf",
1559
- "sources": [
1560
- {
1561
- "type": "table",
1562
- "name": "users_User"
1563
- }
1564
- ],
1565
- "code": "(async function(input, output) {\n const mapper =\n (obj) => obj.online &&\n ({ id: `${obj.id}`, to: obj.id })\n await input.table('users_User').onChange(\n (obj, oldObj) => output.change(obj && mapper(obj), oldObj && mapper(oldObj))\n )\n })",
1566
- "parameters": {}
1567
- },
1568
- "notifications_Notification_userNotifications": {
1569
- "uid": "145a97166226f21e1e79e4aa0d8b66bd",
1570
- "sources": [
1571
- {
1572
- "type": "table",
1573
- "name": "notifications_Notification"
1574
- }
1575
- ],
1576
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
1577
- "parameters": {
1578
- "properties": [
1579
- [
1580
- "user"
1581
- ],
1582
- [
1583
- "time"
1584
- ]
1585
- ],
1586
- "table": "notifications_Notification"
1587
- }
1588
- },
1589
- "notifications_Notification_userNotificationsByEmailState": {
1590
- "uid": "baa8b10027514acf3ae9cdfea2147e4e",
1591
- "sources": [
1592
- {
1593
- "type": "table",
1594
- "name": "notifications_Notification"
1595
- }
1596
- ],
1597
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
1598
- "parameters": {
1599
- "properties": [
1600
- [
1601
- "user"
1602
- ],
1603
- [
1604
- "emailState"
1605
- ]
1606
- ],
1607
- "table": "notifications_Notification"
1608
- }
1609
- },
1610
- "notifications_Notification_sessionNotifications": {
1611
- "uid": "e3c4ca1b7c9a0a4dbbf797e46eaf0c09",
1612
- "sources": [
1613
- {
1614
- "type": "table",
1615
- "name": "notifications_Notification"
1616
- }
1617
- ],
1618
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
1619
- "parameters": {
1620
- "properties": [
1621
- [
1622
- "session"
1623
- ],
1624
- [
1625
- "time"
1626
- ]
1627
- ],
1628
- "table": "notifications_Notification"
1629
- }
1630
- },
1631
- "notifications_Notification_sessionNotificationsByReadState": {
1632
- "uid": "64cdd72d32e8b249ffa633541584e065",
1633
- "sources": [
1634
- {
1635
- "type": "table",
1636
- "name": "notifications_Notification"
1637
- }
1638
- ],
1639
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
1640
- "parameters": {
1641
- "properties": [
1642
- [
1643
- "session"
1644
- ],
1645
- [
1646
- "readState"
1647
- ]
1648
- ],
1649
- "table": "notifications_Notification"
1650
- }
1651
- },
1652
- "peerConnection_Peer_byChannel": {
1653
- "uid": "79174d1939b3149803bca7ff9399b409",
1654
- "sources": [
1655
- {
1656
- "type": "table",
1657
- "name": "peerConnection_Peer"
1658
- }
1659
- ],
1660
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
1661
- "parameters": {
1662
- "properties": [
1663
- [
1664
- "toType"
1665
- ],
1666
- [
1667
- "toId"
1668
- ]
1669
- ],
1670
- "table": "peerConnection_Peer"
1671
- }
1672
- },
1673
- "peerConnection_Peer_byChannelInstance": {
1674
- "uid": "c795688b678eec577fd755cf136756e5",
1675
- "sources": [
1676
- {
1677
- "type": "table",
1678
- "name": "peerConnection_Peer"
1679
- }
1680
- ],
1681
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
1682
- "parameters": {
1683
- "properties": [
1684
- [
1685
- "toType"
1686
- ],
1687
- [
1688
- "toId"
1689
- ],
1690
- [
1691
- "instance"
1692
- ]
1693
- ],
1694
- "table": "peerConnection_Peer"
1695
- }
1696
- },
1697
- "xmlAlert_Scan_byScannerTs": {
1698
- "uid": "5d37ade02a82227a5c576b0e428ccbb4",
1699
- "sources": [
1700
- {
1701
- "type": "table",
1702
- "name": "xmlAlert_Scan"
1703
- }
1704
- ],
1705
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
1706
- "parameters": {
1707
- "properties": [
1708
- [
1709
- "scanner"
1710
- ],
1711
- [
1712
- "timestamp"
1713
- ]
1714
- ],
1715
- "table": "xmlAlert_Scan"
1716
- }
1717
- },
1718
- "xmlAlert_Scan_byScanner": {
1719
- "uid": "4b031a0e0dc213c44a3ad653c10290be",
1720
- "sources": [
1721
- {
1722
- "type": "table",
1723
- "name": "xmlAlert_Scan"
1724
- }
1725
- ],
1726
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
1727
- "parameters": {
1728
- "properties": [
1729
- [
1730
- "scanner"
1731
- ]
1732
- ],
1733
- "table": "xmlAlert_Scan"
1734
- }
1735
- },
1736
- "xmlAlert_Scanner_byUser": {
1737
- "uid": "cdb3bff29ad30b10081b15e4c4f54416",
1738
- "sources": [
1739
- {
1740
- "type": "table",
1741
- "name": "xmlAlert_Scanner"
1742
- }
1743
- ],
1744
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
1745
- "parameters": {
1746
- "properties": [
1747
- [
1748
- "user"
1749
- ],
1750
- [
1751
- "timestamp"
1752
- ]
1753
- ],
1754
- "table": "xmlAlert_Scanner"
1755
- }
1756
- },
1757
- "xmlAlert_Result_byScan": {
1758
- "uid": "83e32f7af0e53682dbcf97055742eb16",
1759
- "sources": [
1760
- {
1761
- "type": "table",
1762
- "name": "xmlAlert_Result"
1763
- }
1764
- ],
1765
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
1766
- "parameters": {
1767
- "properties": [
1768
- [
1769
- "scan"
1770
- ]
1771
- ],
1772
- "table": "xmlAlert_Result"
1773
- }
1774
- },
1775
- "xmlAlert_Result_bySeverityStageItemField": {
1776
- "uid": "3dfa163f7abb5762c66fdc800585f8b6",
1777
- "sources": [
1778
- {
1779
- "type": "table",
1780
- "name": "xmlAlert_Result"
1781
- }
1782
- ],
1783
- "code": "(async function(input, output) {\n function mapper(obj) {\n if(!obj) return obj\n const severity = `${['fatal', 'error', 'warning', 'notice'].indexOf(obj.severity)}.${obj.severity}`\n const s = v => JSON.stringify(v)\n return {\n id: `${s(obj.scan)}:${s(severity)}_${obj.id}`,\n to: obj.id\n }\n }\n await input.table('xmlAlert_Result').onChange(\n (obj, oldObj) => output.change(mapper(obj), mapper(oldObj))\n )\n })",
1784
- "parameters": {}
1785
- },
1786
- "blog_Post_categoryPostsWithDate": {
1787
- "uid": "73160000004000054000",
1788
- "sources": [
1789
- {
1790
- "type": "table",
1791
- "name": "blog_Post"
1792
- }
1793
- ],
1794
- "code": "(async (input, output, { table }) => {\n await input.table(\"blog_Post\").onChange((obj, oldObj) => {\n if(obj && oldObj) {\n let pointers = new Set(obj.category\n && obj.category.map(p => JSON.stringify(p)+':'+JSON.stringify(obj.date)))\n let oldPointers = new Set(oldObj.category\n && oldObj.category.map(p => JSON.stringify(p)+':'+JSON.stringify(oldObj.date)))\n output.debug(\"CATEGORY POINTERS\", pointers)\n output.debug(\"OLD CATEGORY POINTERS\", oldPointers)\n for(let pointer of pointers) {\n if(!oldPointers.has(pointer)) {\n output.debug(\"ADD NEW POINTER\", pointers)\n output.change(\n { id: pointer+'_'+obj.id, to: obj.id }, null)\n } else {\n output.debug(\"IGNORE NEW POINTER\", pointers)\n }\n }\n for(let pointer of oldPointers) {\n if(!pointers.has(pointer)) {\n output.change(\n null, { id: pointer+'_'+obj.id, to: obj.id })\n }\n }\n } else if(obj) {\n obj.category && obj.category.forEach(p => output.change(\n { id: JSON.stringify(p)+':'+JSON.stringify(obj.date)+'_'+obj.id, to: obj.id }, null))\n } else if(oldObj) {\n oldObj.category && oldObj.category.forEach(p => output.change(\n null, { id: JSON.stringify(p)+':'+JSON.stringify(oldObj.date)+'_'+oldObj.id, to: oldObj.id }))\n }\n })\n })",
1795
- "parameters": {}
1796
- },
1797
- "blog_Post_tagPostsWithDate": {
1798
- "uid": "000055425354000000089",
1799
- "sources": [
1800
- {
1801
- "type": "table",
1802
- "name": "blog_Post"
1803
- }
1804
- ],
1805
- "code": "(async (input, output, { table }) => {\n await input.table(\"blog_Post\").onChange((obj, oldObj) => {\n if(obj && oldObj) {\n let pointers = new Set(obj.tags\n && obj.tags.map(p => JSON.stringify(p)+':'+JSON.stringify(obj.date)))\n let oldPointers = new Set(oldObj.tags &&\n oldObj.tags.map(p => JSON.stringify(p)+':'+JSON.stringify(oldObj.date)))\n for(let pointer of pointers) {\n if(!oldPointers.has(pointer)) output.change(\n { id: pointer+'_'+obj.id, to: obj.id }, null)\n }\n for(let pointer of oldPointers) {\n if(!pointers.has(pointer)) output.change(\n null, { id: pointer+'_'+obj.id, to: obj.id })\n }\n } else if(obj) {\n obj.tags && obj.tags.forEach(p => output.change(\n { id: JSON.stringify(p)+':'+JSON.stringify(obj.date)+'_'+obj.id, to: obj.id }, null))\n } else if(oldObj) {\n oldObj.tags && oldObj.tags.forEach(p => output.change(\n null, { id: JSON.stringify(p)+':'+JSON.stringify(oldObj.date)+'_'+oldObj.id, to: oldObj.id }))\n }\n })\n })",
1806
- "parameters": {}
1807
- },
1808
- "blog_Post_listPostsWithDate": {
1809
- "uid": "0075000710333305220660",
1810
- "sources": [
1811
- {
1812
- "type": "table",
1813
- "name": "blog_Post"
1814
- }
1815
- ],
1816
- "code": "(async (input, output, { table }) => {\n await input.table(\"blog_Post\").onChange((obj, oldObj) => {\n if(obj && oldObj) {\n let pointers = obj && new Set(obj.lists\n && obj.lists.map(p => JSON.stringify(p) + ':' + JSON.stringify(obj.date)))\n let oldPointers = oldObj && new Set(oldObj.lists\n && oldObj.lists.map(p => JSON.stringify(p) + ':' + JSON.stringify(oldObj.date)))\n for(let pointer of pointers) {\n if(!oldPointers.has(pointer)) output.change(\n { id: pointer + '_' + obj.id, to: obj.id }, null)\n }\n for(let pointer of oldPointers) {\n if(!pointers.has(pointer)) output.change(\n null, { id: pointer + '_' + obj.id, to: obj.id })\n }\n } else if(obj) {\n obj.lists && obj.lists.forEach(p => output.change(\n { id: JSON.stringify(p) + ':' + JSON.stringify(obj.date) + '_' + obj.id, to: obj.id }, null))\n } else if(oldObj) {\n oldObj.lists && oldObj.lists.forEach(p => output.change(\n null, { id: JSON.stringify(p) + ':' + JSON.stringify(oldObj.date) + '_' + oldObj.id, to: oldObj.id }))\n }\n })\n })",
1817
- "parameters": {}
1818
- },
1819
- "commands_new": {
1820
- "uid": "016000000000420000",
1821
- "sources": [
1822
- {
1823
- "type": "table",
1824
- "name": "commands"
1825
- }
1826
- ],
1827
- "code": "(async function(input, output, { tableName }) {\n await input.table(tableName).onChange((obj, oldObj) =>\n output.change(\n obj && obj.state == 'new' ? { ...obj, id: obj.service+'_'+obj.id } : null,\n oldObj && oldObj.state == 'new' ? { ...oldObj, id: oldObj.service+'_'+oldObj.id } : null\n )\n )\n })",
1828
- "parameters": {
1829
- "tableName": "commands"
1830
- }
1831
- },
1832
- "xmlAlert_Scan_notDone": {
1833
- "uid": "0000110000869400000",
1834
- "sources": [
1835
- {
1836
- "type": "table",
1837
- "name": "xmlAlert_Scan"
1838
- }
1839
- ],
1840
- "code": "(async function(input, output) {\n const tryChange = (obj, oldObj) => (obj || oldObj) && output.change(obj, oldObj)\n const mapper =\n (obj) => obj.state != 'done' && obj.state != 'deleted' &&\n ({ id: `${JSON.stringify(obj.timestamp)}_${obj.id}`, to: obj.id })\n await input.table('xmlAlert_Scan').onChange(\n (obj, oldObj) => tryChange(obj && mapper(obj), oldObj && mapper(oldObj))\n )\n })",
1841
- "parameters": {}
1842
- },
1843
- "xmlAlert_Scan_doneByTimestamp": {
1844
- "uid": "000000130490613047890",
1845
- "sources": [
1846
- {
1847
- "type": "table",
1848
- "name": "xmlAlert_Scan"
1849
- }
1850
- ],
1851
- "code": "(async function(input, output) {\n const tryChange = (obj, oldObj) => (obj || oldObj) && output.change(obj, oldObj)\n const mapper =\n (obj) => obj.state == 'done' && obj.state != 'deleted' &&\n ({ id: `${JSON.stringify(obj.finishedTimestamp)}_${obj.id}`, to: obj.id })\n await input.table('xmlAlert_Scan').onChange(\n (obj, oldObj) => tryChange(obj && mapper(obj), oldObj && mapper(oldObj))\n )\n })",
1852
- "parameters": {}
1853
- },
1854
- "xmlAlert_Scan_notDeletedByTimestamp": {
1855
- "uid": "00770958122062121159730110",
1856
- "sources": [
1857
- {
1858
- "type": "table",
1859
- "name": "xmlAlert_Scan"
1860
- }
1861
- ],
1862
- "code": "(async function(input, output) {\n const tryChange = (obj, oldObj) => (obj || oldObj) && output.change(obj, oldObj)\n const mapper =\n (obj) => obj.state != 'deleted' &&\n ({ id: `${JSON.stringify(obj.finishedTimestamp)}_${obj.id}`, to: obj.id })\n await input.table('xmlAlert_Scan').onChange(\n (obj, oldObj) => tryChange(obj && mapper(obj), oldObj && mapper(oldObj))\n )\n })",
1863
- "parameters": {}
1864
- },
1865
- "xmlAlert_Result_bySeverityCount": {
1866
- "uid": "0971109909483730430000",
1867
- "sources": [
1868
- {
1869
- "type": "table",
1870
- "name": "xmlAlert_Result"
1871
- }
1872
- ],
1873
- "code": "(async function(input, output) {\n await input.table('xmlAlert_Result').onChange(\n (obj, oldObj, id, ts) => {\n const oldSeverity = oldObj && oldObj.severity\n const severity = obj && obj.severity\n if(severity != oldSeverity) {\n if(oldSeverity) output.update(`${oldObj.scan}_${oldSeverity}`, [\n { op: \"conditional\",\n conditions: [\n { test: 'lt', property: 'lastUpdate', value: ts }\n ],\n operations: [\n { op: 'add', property: 'count', value: -1 }\n ]\n }\n ])\n if(severity) output.update(`${obj.scan}_${severity}`, [\n { op: \"conditional\",\n conditions: [\n { test: 'notExist', property: 'count' }\n ],\n operations: [\n { op: 'set', property: 'count', value: 1 },\n { op: 'set', property: 'lastUpdate', value: ts }\n ]\n },\n { op: \"conditional\",\n conditions: [\n { test: 'lt', property: 'lastUpdate', value: ts }\n ],\n operations: [\n { op: 'add', property: 'count', value: 1 }\n ]\n },\n { op: 'merge', value: { severity: obj.severity, scan: obj.scan, lastUpdate: ts } },\n ])\n }\n }\n )\n })",
1874
- "parameters": {}
1875
- },
1876
- "xmlAlert_Result_byItemSeverity": {
1877
- "uid": "3900066007000458986000",
1878
- "sources": [
1879
- {
1880
- "type": "table",
1881
- "name": "xmlAlert_Result"
1882
- }
1883
- ],
1884
- "code": "(async function(input, output) {\n function mapper(obj) {\n if(!obj) return obj\n const severity = `${['fatal', 'error', 'warning', 'notice'].indexOf(obj.severity)}.${obj.severity}`\n const s = v => JSON.stringify(v)\n return {\n id: `${s(obj.scan)}:${obj.id.split('_')[2]}:${s(severity)}_${obj.id}`,\n to: obj.id\n }\n }\n await input.table('xmlAlert_Result').onChange(\n (obj, oldObj) => output.change(mapper(obj), mapper(oldObj))\n )\n })",
1885
- "parameters": {}
1886
- },
1887
- "notifications_Notification_bySeverityCount": {
1888
- "uid": "00012000088650000069",
1889
- "sources": [
1890
- {
1891
- "type": "table",
1892
- "name": "xmlAlert_Result"
1893
- }
1894
- ],
1895
- "code": "(async function(input, output) {\n await input.table('xmlAlert_Result').onChange(\n (obj, oldObj, id, ts) => {\n const oldSeverity = oldObj && oldObj.severity\n const severity = obj && obj.severity\n if(severity != oldSeverity) {\n if(oldSeverity) output.update(`${oldObj.scan}_${oldSeverity}`, [\n { op: \"conditional\",\n conditions: [\n { test: 'lt', property: 'lastUpdate', value: ts }\n ],\n operations: [\n { op: 'add', property: 'count', value: -1 }\n ]\n }\n ])\n if(severity) output.update(`${obj.scan}_${severity}`, [\n { op: \"conditional\",\n conditions: [\n { test: 'notExist', property: 'count' }\n ],\n operations: [\n { op: 'set', property: 'count', value: 1 },\n { op: 'set', property: 'lastUpdate', value: ts }\n ]\n },\n { op: \"conditional\",\n conditions: [\n { test: 'lt', property: 'lastUpdate', value: ts }\n ],\n operations: [\n { op: 'add', property: 'count', value: 1 }\n ]\n },\n { op: 'merge', value: { severity: obj.severity, scan: obj.scan, lastUpdate: ts } },\n ])\n }\n }\n )\n })",
1896
- "parameters": {}
1897
- },
1898
- "notifications_Notification_userUnreadNotifications": {
1899
- "uid": "69000005900000204000",
1900
- "sources": [
1901
- {
1902
- "type": "table",
1903
- "name": "notifications_Notification"
1904
- }
1905
- ],
1906
- "code": "(async function(input, output) {\n const mapper =\n (obj) => obj && obj.readState == 'new' && obj.user &&\n ({ id: `${obj.user}_${obj.id}`, user: obj.user, to: obj.id })\n await input.table('notifications_Notification').onChange(\n (obj, oldObj) => output.change(obj && mapper(obj), oldObj && mapper(oldObj))\n )\n })",
1907
- "parameters": {}
1908
- },
1909
- "notifications_Notification_sessionUnreadNotifications": {
1910
- "uid": "02501340000780009300",
1911
- "sources": [
1912
- {
1913
- "type": "table",
1914
- "name": "notifications_Notification"
1915
- }
1916
- ],
1917
- "code": "(async function(input, output) {\n const mapper =\n (obj) => obj.readState == 'new' && obj.session &&\n ({ id: `${obj.session}_${obj.id}`, session: obj.session, to: obj.id })\n await input.table('notifications_Notification').onChange(\n (obj, oldObj) => output.change(obj && mapper(obj), oldObj && mapper(oldObj))\n )\n })",
1918
- "parameters": {}
1919
- },
1920
- "readHistory_ReadHistory_userUnreadHistories": {
1921
- "uid": "257139300000000470000",
1922
- "sources": [
1923
- {
1924
- "type": "table",
1925
- "name": "readHistory_ReadHistory"
1926
- }
1927
- ],
1928
- "code": "(async function(input, output) {\n const mapper =\n (obj) => obj && ((obj.read||'') < (obj.last||'')) && obj.user &&\n ({ id: `${obj.user}_${obj.toType}_${obj.toId}`, user: obj.user, to: obj.id })\n await input.table('readHistory_ReadHistory').onChange(\n (obj, oldObj) => output.change(obj && mapper(obj), oldObj && mapper(oldObj))\n )\n })",
1929
- "parameters": {}
1930
- },
1931
- "readHistory_ReadHistory_sessionUnreadHistories": {
1932
- "uid": "0005907037082006007001",
1933
- "sources": [
1934
- {
1935
- "type": "table",
1936
- "name": "readHistory_ReadHistory"
1937
- }
1938
- ],
1939
- "code": "(async function(input, output) {\n const mapper =\n (obj) => obj && ((obj.read||'') < (obj.last||'')) && obj.publicSessionInfo &&\n ({ id: `${obj.publicSessionInfo}_${obj.toType}_${obj.toId}`, publicSessionInfo: obj.publicSessionInfo, to: obj.id })\n await input.table('readHistory_ReadHistory').onChange(\n (obj, oldObj) => output.change(obj && mapper(obj), oldObj && mapper(oldObj))\n )\n })",
1940
- "parameters": {}
1941
- },
1942
- "readHistory_ReadHistory_userUnreadHistoriesByType": {
1943
- "uid": "0832100046006607100012",
1944
- "sources": [
1945
- {
1946
- "type": "table",
1947
- "name": "readHistory_ReadHistory"
1948
- }
1949
- ],
1950
- "code": "(async function(input, output) {\n const mapper =\n (obj) => obj && ((obj.read||'') < (obj.last||'')) && obj.user &&\n ({ id: `${obj.user}_${obj.toType}_${obj.toId}`,\n user: obj.user, toType: obj.toType, toId: obj.toId })\n await input.table('readHistory_ReadHistory').onChange(\n (obj, oldObj) => output.change(obj && mapper(obj), oldObj && mapper(oldObj))\n )\n })",
1951
- "parameters": {}
1952
- },
1953
- "readHistory_ReadHistory_sessionUnreadHistoriesByType": {
1954
- "uid": "8510078000000006430",
1955
- "sources": [
1956
- {
1957
- "type": "table",
1958
- "name": "readHistory_ReadHistory"
1959
- }
1960
- ],
1961
- "code": "(async function(input, output) {\n const mapper =\n (obj) => obj && ((obj.read||'') < (obj.last||'')) && obj.publicSessionInfo &&\n ({ id: `${obj.publicSessionInfo}_${obj.toType}_${obj.toId}`,\n publicSessionInfo: obj.publicSessionInfo, toType: obj.toType, toId: obj.toId })\n await input.table('readHistory_ReadHistory').onChange(\n (obj, oldObj) => output.change(obj && mapper(obj), oldObj && mapper(oldObj))\n )\n })",
1962
- "parameters": {}
1963
- },
1964
- "readHistory_ReadHistory_sessionReadHistories": {
1965
- "uid": "0370506185000000000",
1966
- "sources": [
1967
- {
1968
- "type": "table",
1969
- "name": "readHistory_ReadHistory"
1970
- }
1971
- ],
1972
- "code": "(async function(input, output) {\n function mapper(obj) {\n const lastTime = (obj && obj.last && obj.last.split(\"_\").pop()) || ''\n const writeTime = (obj && obj.write && obj.write.split(\"_\").pop()) || ''\n return obj && obj.publicSessionInfo && {\n id: `\"${obj.publicSessionInfo}\":\"${lastTime > writeTime ? lastTime : writeTime}\"_${obj.id}`,\n to: obj.id,\n session: obj.publicSessionInfo\n }\n }\n await input.table('readHistory_ReadHistory').onChange(\n (obj, oldObj) => output.change(mapper(obj), mapper(oldObj))\n )\n })",
1973
- "parameters": {}
1974
- },
1975
- "readHistory_ReadHistory_userReadHistoriesByType": {
1976
- "uid": "019008644009500000016",
1977
- "sources": [
1978
- {
1979
- "type": "table",
1980
- "name": "readHistory_ReadHistory"
1981
- }
1982
- ],
1983
- "code": "(async function(input, output) {\n function mapper(obj) {\n const lastTime = (obj && obj.last && obj.last.split(\"_\").pop()) || ''\n const writeTime = (obj && obj.write && obj.write.split(\"_\").pop()) || ''\n return obj && obj.user && {\n id: `\"${obj.user}\"_\"${obj.toType}\":\"${lastTime > writeTime ? lastTime : writeTime}\"_${obj.id}`,\n to: obj.id,\n user: obj.user,\n toType: obj.toType\n }\n }\n await input.table('readHistory_ReadHistory').onChange(\n (obj, oldObj) => output.change(mapper(obj), mapper(oldObj))\n )\n })",
1984
- "parameters": {}
1985
- },
1986
- "readHistory_ReadHistory_sessionReadHistoriesByType": {
1987
- "uid": "00059000000974005142",
1988
- "sources": [
1989
- {
1990
- "type": "table",
1991
- "name": "readHistory_ReadHistory"
1992
- }
1993
- ],
1994
- "code": "(async function(input, output) {\n function mapper(obj) {\n const lastTime = (obj && obj.last && obj.last.split(\"_\").pop()) || ''\n const writeTime = (obj && obj.write && obj.write.split(\"_\").pop()) || ''\n return obj && obj.publicSessionInfo && {\n id: `\"${obj.publicSessionInfo}\"_\"${obj.toType}\":\"${lastTime > writeTime ? lastTime : writeTime}\"_${obj.id}`,\n to: obj.id,\n session: obj.publicSessionInfo,\n toType: obj.toType\n }\n }\n await input.table('readHistory_ReadHistory').onChange(\n (obj, oldObj) => output.change(mapper(obj), mapper(oldObj))\n )\n })",
1995
- "parameters": {}
1996
- },
1997
- "xmlAlert_Scan_notDeletedByScannerTs": {
1998
- "uid": "97061513000088090000",
1999
- "sources": [
2000
- {
2001
- "type": "table",
2002
- "name": "xmlAlert_Scan"
2003
- }
2004
- ],
2005
- "code": "(async function(input, output) {\n const tryChange = (obj, oldObj) => (obj || oldObj) && output.change(obj, oldObj)\n const mapper =\n (obj) => obj.state != 'deleted' &&\n ({ id: `${JSON.stringify(obj.scanner)}:${JSON.stringify(obj.finishedTimestamp)}_${obj.id}`, to: obj.id })\n await input.table('xmlAlert_Scan').onChange(\n (obj, oldObj) => tryChange(obj && mapper(obj), oldObj && mapper(oldObj))\n )\n })",
2006
- "parameters": {}
2007
- },
2008
- "urlChecker_Checker_byUser": {
2009
- "uid": "0000000950023650000",
2010
- "sources": [
2011
- {
2012
- "type": "table",
2013
- "name": "urlChecker_Checker"
2014
- }
2015
- ],
2016
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
2017
- "parameters": {
2018
- "properties": [
2019
- [
2020
- "user"
2021
- ],
2022
- [
2023
- "timestamp"
2024
- ]
2025
- ],
2026
- "table": "urlChecker_Checker"
2027
- }
2028
- },
2029
- "urlChecker_Check_byUrlHashTs": {
2030
- "uid": "4688645087005374588003000",
2031
- "sources": [
2032
- {
2033
- "type": "table",
2034
- "name": "urlChecker_Check"
2035
- }
2036
- ],
2037
- "code": "(async function(input, output) {\n const mapper =\n (obj) => ({\n id: `\"${crypto.createHash('sha1').update(obj.url).digest('hex')}\":\"${obj.timestamp}\"_${obj.id}`,\n to: obj.id\n })\n await input.table('urlChecker_Check').onChange(\n (obj, oldObj) => output.change(obj && mapper(obj), oldObj && mapper(oldObj))\n )\n })",
2038
- "parameters": {}
2039
- },
2040
- "urlChecker_Check_byTs": {
2041
- "uid": "03327400580008600000",
2042
- "sources": [
2043
- {
2044
- "type": "table",
2045
- "name": "urlChecker_Check"
2046
- }
2047
- ],
2048
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
2049
- "parameters": {
2050
- "properties": [
2051
- [
2052
- "timestamp"
2053
- ]
2054
- ],
2055
- "table": "urlChecker_Check"
2056
- }
2057
- },
2058
- "xmlSearch_DataSet_byUrlHashTimestamp": {
2059
- "uid": "006027741500001203580",
2060
- "sources": [
2061
- {
2062
- "type": "table",
2063
- "name": "xmlSearch_DataSet"
2064
- }
2065
- ],
2066
- "code": "(async function(input, output) {\n const mapper =\n (obj) => obj.url && ({\n id: `\"${crypto.createHash('sha1').update(obj.url).digest('hex')}\"`+\n `:\"${obj.timestamp}\"_${obj.id}`,\n to: obj.id\n })\n await input.table('xmlSearch_DataSet').onChange(\n (obj, oldObj) => output.change(obj && mapper(obj), oldObj && mapper(oldObj))\n )\n })",
2067
- "parameters": {}
2068
- },
2069
- "xmlSearch_DataSet_notDeletedByTimestamp": {
2070
- "uid": "00659100001527905383870",
2071
- "sources": [
2072
- {
2073
- "type": "table",
2074
- "name": "xmlSearch_DataSet"
2075
- }
2076
- ],
2077
- "code": "(async function(input, output) {\n const mapper =\n (obj) => obj.state != 'deleted' && ({\n id: `\"${obj.timestamp}\"_${obj.id}`,\n to: obj.id\n })\n await input.table('xmlSearch_DataSet').onChange(\n (obj, oldObj) => output.change(obj && mapper(obj), oldObj && mapper(oldObj))\n )\n })",
2078
- "parameters": {}
2079
- },
2080
- "xmlSearch_DataSet_notDeletedByUrlHashTimestamp": {
2081
- "uid": "8401100418200640879448640",
2082
- "sources": [
2083
- {
2084
- "type": "table",
2085
- "name": "xmlSearch_DataSet"
2086
- }
2087
- ],
2088
- "code": "(async function(input, output) {\n const mapper =\n (obj) => obj.state != 'deleted' && obj.url && ({\n id: `\"${crypto.createHash('sha1').update(obj.url).digest('hex')}\"`+\n `:\"${obj.timestamp}\"_${obj.id}`,\n to: obj.id })\n await input.table('xmlSearch_DataSet').onChange(\n (obj, oldObj) => output.change(obj && mapper(obj), oldObj && mapper(oldObj))\n )\n })",
2089
- "parameters": {}
2090
- },
2091
- "xmlSearch_Generator_bySession": {
2092
- "uid": "590525408572003629078080",
2093
- "sources": [
2094
- {
2095
- "type": "table",
2096
- "name": "xmlSearch_Generator"
2097
- }
2098
- ],
2099
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
2100
- "parameters": {
2101
- "properties": [
2102
- [
2103
- "session"
2104
- ],
2105
- [
2106
- "timestamp"
2107
- ]
2108
- ],
2109
- "table": "xmlSearch_Generator"
2110
- }
2111
- },
2112
- "xmlSearch_Generator_byUser": {
2113
- "uid": "005490036031000000560",
2114
- "sources": [
2115
- {
2116
- "type": "table",
2117
- "name": "xmlSearch_Generator"
2118
- }
2119
- ],
2120
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
2121
- "parameters": {
2122
- "properties": [
2123
- [
2124
- "user"
2125
- ],
2126
- [
2127
- "timestamp"
2128
- ]
2129
- ],
2130
- "table": "xmlSearch_Generator"
2131
- }
2132
- },
2133
- "xmlSearch_Generator_bySessionUrlHashQueryHash": {
2134
- "uid": "0000008600093400019",
2135
- "sources": [
2136
- {
2137
- "type": "table",
2138
- "name": "xmlSearch_Generator"
2139
- }
2140
- ],
2141
- "code": "(async function(input, output) {\n const mapper =\n (obj) => obj.url && ({\n id: `\"${obj.session}\"`+\n `:\"${crypto.createHash('sha1').update(obj.url).digest('hex')}\"`+\n `:\"${crypto.createHash('sha1').update(JSON.stringify(obj.query)).digest('hex')}\"`+\n `_${obj.id}`,\n to: obj.id\n })\n await input.table('xmlSearch_Generator').onChange(\n (obj, oldObj) => output.change(obj && mapper(obj), oldObj && mapper(oldObj))\n )\n })",
2142
- "parameters": {}
2143
- },
2144
- "xmlSearch_Generator_byUserUrlHashQueryHash": {
2145
- "uid": "01000100002600022000",
2146
- "sources": [
2147
- {
2148
- "type": "table",
2149
- "name": "xmlSearch_Generator"
2150
- }
2151
- ],
2152
- "code": "(async function(input, output) {\n const mapper =\n (obj) => obj.url && ({\n id: `\"${obj.user}\"`+\n `:\"${crypto.createHash('sha1').update(obj.url).digest('hex')}\"`+\n `:\"${crypto.createHash('sha1').update(JSON.stringify(obj.query)).digest('hex')}\"`+\n `_${obj.id}`,\n to: obj.id\n })\n await input.table('xmlSearch_Generator').onChange(\n (obj, oldObj) => output.change(obj && mapper(obj), oldObj && mapper(oldObj))\n )\n })",
2153
- "parameters": {}
2154
- },
2155
- "xmlSearch_Generator_byDataSet": {
2156
- "uid": "5807833009541000000069",
2157
- "sources": [
2158
- {
2159
- "type": "table",
2160
- "name": "xmlSearch_Generator"
2161
- }
2162
- ],
2163
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
2164
- "parameters": {
2165
- "properties": [
2166
- [
2167
- "dataSet"
2168
- ]
2169
- ],
2170
- "table": "xmlSearch_Generator"
2171
- }
2172
- },
2173
- "xmlSearch_Generator_notDeletedByTimestamp": {
2174
- "uid": "00800029083004300590",
2175
- "sources": [
2176
- {
2177
- "type": "table",
2178
- "name": "xmlSearch_Generator"
2179
- }
2180
- ],
2181
- "code": "(async function(input, output) {\n const mapper =\n (obj) => obj.state != 'deleted' &&\n ({ id: `${JSON.stringify(obj.timestamp)}_${obj.id}`, to: obj.id })\n await input.table('xmlSearch_Generator').onChange(\n (obj, oldObj) => output.change(obj && mapper(obj), oldObj && mapper(oldObj))\n )\n })",
2182
- "parameters": {}
2183
- },
2184
- "xmlSearch_Generator_user": {
2185
- "uid": "5000009318980360000046",
2186
- "sources": [
2187
- {
2188
- "type": "table",
2189
- "name": "xmlSearch_Generator"
2190
- }
2191
- ],
2192
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
2193
- "parameters": {
2194
- "properties": [
2195
- [
2196
- "user"
2197
- ]
2198
- ],
2199
- "table": "xmlSearch_Generator"
2200
- }
2201
- },
2202
- "xmlSearch_Generator_session": {
2203
- "uid": "820000000640003840062",
2204
- "sources": [
2205
- {
2206
- "type": "table",
2207
- "name": "xmlSearch_Generator"
2208
- }
2209
- ],
2210
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
2211
- "parameters": {
2212
- "properties": [
2213
- [
2214
- "session"
2215
- ]
2216
- ],
2217
- "table": "xmlSearch_Generator"
2218
- }
2219
- },
2220
- "xmlSearch_Generator_bySessionUrlHash": {
2221
- "uid": "00629135602800200710041",
2222
- "sources": [
2223
- {
2224
- "type": "table",
2225
- "name": "xmlSearch_Generator"
2226
- }
2227
- ],
2228
- "code": "(async function(input, output) {\n const mapper =\n (obj) => obj.url && ({\n id: `\"${obj.session}\"`+\n `:\"${crypto.createHash('sha1').update(obj.url).digest('hex')}\"`+\n `_${obj.id}`,\n to: obj.id\n })\n await input.table('xmlSearch_Generator').onChange(\n (obj, oldObj) => output.change(obj && mapper(obj), oldObj && mapper(oldObj))\n )\n })",
2229
- "parameters": {}
2230
- },
2231
- "xmlSearch_Generator_byUserUrlHash": {
2232
- "uid": "001700370067530000078",
2233
- "sources": [
2234
- {
2235
- "type": "table",
2236
- "name": "xmlSearch_Generator"
2237
- }
2238
- ],
2239
- "code": "(async function(input, output) {\n const mapper =\n (obj) => obj.url && ({\n id: `\"${obj.user}\"`+\n `:\"${crypto.createHash('sha1').update(obj.url).digest('hex')}\"`+\n `_${obj.id}`,\n to: obj.id\n })\n await input.table('xmlSearch_Generator').onChange(\n (obj, oldObj) => output.change(obj && mapper(obj), oldObj && mapper(oldObj))\n )\n })",
2240
- "parameters": {}
2241
- },
2242
- "urlChecker_Checker_byUserUrlHash": {
2243
- "uid": "0011910002842099543162077",
2244
- "sources": [
2245
- {
2246
- "type": "table",
2247
- "name": "urlChecker_Checker"
2248
- }
2249
- ],
2250
- "code": "(async function(input, output) {\n input.table('urlChecker_Checker').filter(obj => obj.url).indexBy(obj => [\n obj.user,\n hash(obj.url)\n ]).to(output)\n })",
2251
- "parameters": {}
2252
- },
2253
- "facebookLogin_Login_byUser": {
2254
- "uid": "1803220010087413002700",
2255
- "sources": [
2256
- {
2257
- "type": "table",
2258
- "name": "facebookLogin_Login"
2259
- }
2260
- ],
2261
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
2262
- "parameters": {
2263
- "properties": [
2264
- [
2265
- "user"
2266
- ]
2267
- ],
2268
- "table": "facebookLogin_Login"
2269
- }
2270
- },
2271
- "emailPassword_EmailPassword_byUser": {
2272
- "uid": "0040300007005901513000",
2273
- "sources": [
2274
- {
2275
- "type": "table",
2276
- "name": "emailPassword_EmailPassword"
2277
- }
2278
- ],
2279
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
2280
- "parameters": {
2281
- "properties": [
2282
- [
2283
- "user"
2284
- ]
2285
- ],
2286
- "table": "emailPassword_EmailPassword"
2287
- }
2288
- },
2289
- "readHistory_ReadHistory_userReadHistories": {
2290
- "uid": "0383159544000075000080",
2291
- "sources": [
2292
- {
2293
- "type": "table",
2294
- "name": "readHistory_ReadHistory"
2295
- }
2296
- ],
2297
- "code": "(async function(input, output) {\n function mapper(obj) {\n const lastTime = (obj && obj.last && obj.last.split(\"_\").pop()) || ''\n const writeTime = (obj && obj.write && obj.write.split(\"_\").pop()) || ''\n if(obj && obj.user && typeof obj.user != 'string') {\n output.debug('TABLE readHistory_ReadHistory ', obj.id, 'user', JSON.stringify(obj))\n throw new Error(\"USER IS NOT STRING in \"+obj.id+\" TYPE \", typeof (obj.user),\n \" OBJ \"+ JSON.stringify(obj))\n }\n return obj && obj.user && {\n id: `\"${obj.user}\":\"${lastTime > writeTime ? lastTime : writeTime}\"_${obj.id}`,\n to: obj.id,\n user: obj.user\n }\n }\n await input.table('readHistory_ReadHistory').onChange(\n (obj, oldObj) => output.change(mapper(obj), mapper(oldObj))\n )\n })",
2298
- "parameters": {}
2299
- },
2300
- "googleLogin_Login_byUser": {
2301
- "uid": "3901885005176034505796100",
2302
- "sources": [
2303
- {
2304
- "type": "table",
2305
- "name": "googleLogin_Login"
2306
- }
2307
- ],
2308
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
2309
- "parameters": {
2310
- "properties": [
2311
- [
2312
- "user"
2313
- ]
2314
- ],
2315
- "table": "googleLogin_Login"
2316
- }
2317
- },
2318
- "accessControl_PublicSessionInfo_online": {
2319
- "uid": "530000580037000007123",
2320
- "sources": [
2321
- {
2322
- "type": "table",
2323
- "name": "accessControl_PublicSessionInfo"
2324
- }
2325
- ],
2326
- "code": "(async function(input, output) {\n const mapper =\n (obj) => obj.online && ({ id: obj.id, to: obj.id })\n await input.table('accessControl_PublicSessionInfo').onChange(\n (obj, oldObj) => output.change(obj && mapper(obj), oldObj && mapper(oldObj))\n )\n })",
2327
- "parameters": {}
2328
- },
2329
- "xmlSearch_Search_bySessionDataSetQueryHash": {
2330
- "uid": "67000220458868004700041",
2331
- "sources": [
2332
- {
2333
- "type": "table",
2334
- "name": "xmlSearch_Search"
2335
- }
2336
- ],
2337
- "code": "(async function(input, output) {\n const mapper =\n (obj) => obj.state != 'deleted' && ({\n id: `\"${obj.session}\":\"${obj.dataSet}\"`+\n `:\"${crypto.createHash('sha1').update(JSON.stringify(obj.query) || '').digest('hex')}\"`+\n `_${obj.id}`,\n to: obj.id\n })\n await input.table('xmlSearch_Search').onChange(\n (obj, oldObj) => output.change(obj && mapper(obj), oldObj && mapper(oldObj))\n )\n })",
2338
- "parameters": {}
2339
- },
2340
- "accessControl_PublicSessionInfo_neverOnline": {
2341
- "uid": "0175900004001400756582",
2342
- "sources": [
2343
- {
2344
- "type": "table",
2345
- "name": "accessControl_PublicSessionInfo"
2346
- }
2347
- ],
2348
- "code": "(async function(input, output) {\n const mapper =\n (obj) => (!obj.online) && (!obj.lastOnline) &&\n ({ id: obj.id, to: obj.id })\n await input.table('accessControl_PublicSessionInfo').onChange(\n (obj, oldObj) => output.change(obj && mapper(obj), oldObj && mapper(oldObj))\n )\n })",
2349
- "parameters": {}
2350
- },
2351
- "accessControl_PublicSessionInfo_wasOnline": {
2352
- "uid": "140000000520590006828",
2353
- "sources": [
2354
- {
2355
- "type": "table",
2356
- "name": "accessControl_PublicSessionInfo"
2357
- }
2358
- ],
2359
- "code": "(async function(input, output) {\n const mapper =\n (obj) => (obj.online || obj.lastOnline) &&\n ({ id: obj.id, to: obj.id })\n await input.table('accessControl_PublicSessionInfo').onChange(\n (obj, oldObj) => output.change(obj && mapper(obj), oldObj && mapper(oldObj))\n )\n })",
2360
- "parameters": {}
2361
- },
2362
- "xmlSearch_Search_byUserDataSetQueryHash": {
2363
- "uid": "813433710028102410069394800",
2364
- "sources": [
2365
- {
2366
- "type": "table",
2367
- "name": "xmlSearch_Search"
2368
- }
2369
- ],
2370
- "code": "(async function(input, output) {\n const mapper =\n (obj) => obj.state != 'deleted' && ({\n id: `\"${obj.user}\":\"${obj.dataSet}\"`+\n `:\"${crypto.createHash('sha1').update(JSON.stringify(obj.query) || '').digest('hex')}\"`+\n `_${obj.id}`,\n to: obj.id\n })\n await input.table('xmlSearch_Search').onChange(\n (obj, oldObj) => output.change(obj && mapper(obj), oldObj && mapper(oldObj))\n )\n })",
2371
- "parameters": {}
2372
- },
2373
- "xmlSearch_Search_bySessionUrlHash": {
2374
- "uid": "3573091073740503736000620",
2375
- "sources": [
2376
- {
2377
- "type": "table",
2378
- "name": "xmlSearch_Search"
2379
- }
2380
- ],
2381
- "code": "(async function(input, output) {\n const mapper =\n (obj) => obj.url && ({\n id: `\"${obj.session}\"`+\n `:\"${crypto.createHash('sha1').update(obj.url || '').digest('hex')}\"`+\n `:\"${obj.timestamp}\"_${obj.id}`,\n to: obj.id\n })\n await input.table('xmlSearch_Search').onChange(\n (obj, oldObj) => output.change(obj && mapper(obj), oldObj && mapper(oldObj))\n )\n })",
2382
- "parameters": {}
2383
- },
2384
- "xmlSearch_Search_byUserUrlHash": {
2385
- "uid": "001703721702101600000",
2386
- "sources": [
2387
- {
2388
- "type": "table",
2389
- "name": "xmlSearch_Search"
2390
- }
2391
- ],
2392
- "code": "(async function(input, output) {\n const mapper =\n (obj) => obj.url && ({\n id: `\"${obj.user}\"`+\n `:\"${crypto.createHash('sha1').update(obj.url || '').digest('hex')}\"`+\n `:\"${obj.timestamp}\"_${obj.id}`,\n to: obj.id\n })\n await input.table('xmlSearch_Search').onChange(\n (obj, oldObj) => output.change(obj && mapper(obj), oldObj && mapper(oldObj))\n )\n })",
2393
- "parameters": {}
2394
- },
2395
- "xmlSearch_Search_bySessionQueryHash": {
2396
- "uid": "000675500240610000440",
2397
- "sources": [
2398
- {
2399
- "type": "table",
2400
- "name": "xmlSearch_Search"
2401
- }
2402
- ],
2403
- "code": "(async function(input, output) {\n const mapper =\n (obj) => obj.state != 'deleted' && ({\n id: `\"${obj.session}\"`+\n `:\"${crypto.createHash('sha1').update(JSON.stringify(obj.query) || '').digest('hex')}\"`+\n `:\"${obj.timestamp}\"_${obj.id}`,\n to: obj.id\n })\n await input.table('xmlSearch_Search').onChange(\n (obj, oldObj) => output.change(obj && mapper(obj), oldObj && mapper(oldObj))\n )\n })",
2404
- "parameters": {}
2405
- },
2406
- "xmlSearch_Search_byUserQueryHash": {
2407
- "uid": "84000966500000834608219",
2408
- "sources": [
2409
- {
2410
- "type": "table",
2411
- "name": "xmlSearch_Search"
2412
- }
2413
- ],
2414
- "code": "(async function(input, output) {\n const mapper =\n (obj) => obj.state != 'deleted' && ({\n id: `\"${obj.user}\"`+\n `:\"${crypto.createHash('sha1').update(JSON.stringify(obj.query) || '').digest('hex')}\"`+\n `:\"${obj.timestamp}\"_${obj.id}`,\n to: obj.id\n })\n await input.table('xmlSearch_Search').onChange(\n (obj, oldObj) => output.change(obj && mapper(obj), oldObj && mapper(oldObj))\n )\n })",
2415
- "parameters": {}
2416
- },
2417
- "xmlSearch_Search_byUrlHashTimestamp": {
2418
- "uid": "44350000283100668200950",
2419
- "sources": [
2420
- {
2421
- "type": "table",
2422
- "name": "xmlSearch_Search"
2423
- }
2424
- ],
2425
- "code": "(async function(input, output) {\n const mapper =\n (obj) => obj.url && ({\n id: `\"${crypto.createHash('sha1').update(obj.url || '').digest('hex')}\"`+\n `:\"${obj.timestamp}\"_${obj.id}`,\n to: obj.id\n })\n await input.table('xmlSearch_Search').onChange(\n (obj, oldObj) => output.change(obj && mapper(obj), oldObj && mapper(oldObj))\n )\n })",
2426
- "parameters": {}
2427
- },
2428
- "xmlSearch_Search_notDeletedByUrlHashTimestamp": {
2429
- "uid": "260005807348313581049886234",
2430
- "sources": [
2431
- {
2432
- "type": "table",
2433
- "name": "xmlSearch_Search"
2434
- }
2435
- ],
2436
- "code": "(async function(input, output) {\n const mapper =\n (obj) => obj.state != 'deleted' && obj.url && ({\n id: `\"${crypto.createHash('sha1').update(obj.url || '').digest('hex')}\"` +\n `:\"${obj.timestamp}\"_${obj.id}`,\n to: obj.id\n })\n await input.table('xmlSearch_Search').onChange(\n (obj, oldObj) => output.change(obj && mapper(obj), oldObj && mapper(oldObj))\n )\n })",
2437
- "parameters": {}
2438
- },
2439
- "xmlAlert_Scanner_byUserUrlHash": {
2440
- "uid": "06606380400000029000",
2441
- "sources": [
2442
- {
2443
- "type": "table",
2444
- "name": "xmlAlert_Scanner"
2445
- }
2446
- ],
2447
- "code": "(async function(input, output) {\n const mapper =\n (obj) => (obj && obj.url) ? ({\n id: `\"${obj.user}\":\"${crypto.createHash('sha1').update(obj.url).digest('hex')}\"_${obj.id}`,\n to: obj.id\n }) : null\n await input.table('xmlAlert_Scanner').onChange(\n (obj, oldObj) => output.change(obj && mapper(obj), oldObj && mapper(oldObj))\n )\n })",
2448
- "parameters": {}
2449
- },
2450
- "xmlCsvExclusions_ExclusionsCheck_user": {
2451
- "uid": "57000046000564360400",
2452
- "sources": [
2453
- {
2454
- "type": "table",
2455
- "name": "xmlCsvExclusions_ExclusionsCheck"
2456
- }
2457
- ],
2458
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
2459
- "parameters": {
2460
- "properties": [
2461
- [
2462
- "user"
2463
- ]
2464
- ],
2465
- "table": "xmlCsvExclusions_ExclusionsCheck"
2466
- }
2467
- },
2468
- "xmlCsvExclusions_ExclusionsCheck_session": {
2469
- "uid": "0080205078605877000009748",
2470
- "sources": [
2471
- {
2472
- "type": "table",
2473
- "name": "xmlCsvExclusions_ExclusionsCheck"
2474
- }
2475
- ],
2476
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
2477
- "parameters": {
2478
- "properties": [
2479
- [
2480
- "session"
2481
- ]
2482
- ],
2483
- "table": "xmlCsvExclusions_ExclusionsCheck"
2484
- }
2485
- },
2486
- "session_Session_byUser": {
2487
- "uid": "000960677300000009221",
2488
- "sources": [
2489
- {
2490
- "type": "table",
2491
- "name": "session_Session"
2492
- }
2493
- ],
2494
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
2495
- "parameters": {
2496
- "properties": [
2497
- [
2498
- "user"
2499
- ]
2500
- ],
2501
- "table": "session_Session"
2502
- }
2503
- },
2504
- "xmlCsvExclusions_ExclusionsCheck_bySessionDataSetExclusionsListStrict": {
2505
- "uid": "0055906160000076090078",
2506
- "sources": [
2507
- {
2508
- "type": "table",
2509
- "name": "xmlCsvExclusions_ExclusionsCheck"
2510
- }
2511
- ],
2512
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
2513
- "parameters": {
2514
- "properties": [
2515
- [
2516
- "session"
2517
- ],
2518
- [
2519
- "dataSet"
2520
- ],
2521
- [
2522
- "exclusionsList"
2523
- ],
2524
- [
2525
- "useStrict"
2526
- ]
2527
- ],
2528
- "table": "xmlCsvExclusions_ExclusionsCheck"
2529
- }
2530
- },
2531
- "xmlCsvExclusions_ExclusionsCheck_byUserDataSetExclusionsListStrict": {
2532
- "uid": "046000054979218000000",
2533
- "sources": [
2534
- {
2535
- "type": "table",
2536
- "name": "xmlCsvExclusions_ExclusionsCheck"
2537
- }
2538
- ],
2539
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
2540
- "parameters": {
2541
- "properties": [
2542
- [
2543
- "user"
2544
- ],
2545
- [
2546
- "dataSet"
2547
- ],
2548
- [
2549
- "exclusionsList"
2550
- ],
2551
- [
2552
- "useStrict"
2553
- ]
2554
- ],
2555
- "table": "xmlCsvExclusions_ExclusionsCheck"
2556
- }
2557
- },
2558
- "xmlSearch_DataSet_bySnapshot": {
2559
- "uid": "40610000000838400389473",
2560
- "sources": [
2561
- {
2562
- "type": "table",
2563
- "name": "xmlSearch_DataSet"
2564
- }
2565
- ],
2566
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
2567
- "parameters": {
2568
- "properties": [
2569
- [
2570
- "snapshot"
2571
- ]
2572
- ],
2573
- "table": "xmlSearch_DataSet"
2574
- }
2575
- },
2576
- "adsApi_ApiAccess_byUser": {
2577
- "uid": "70092700199800870615308876",
2578
- "sources": [
2579
- {
2580
- "type": "table",
2581
- "name": "adsApi_ApiAccess"
2582
- }
2583
- ],
2584
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
2585
- "parameters": {
2586
- "properties": [
2587
- [
2588
- "user"
2589
- ]
2590
- ],
2591
- "table": "adsApi_ApiAccess"
2592
- }
2593
- },
2594
- "adsApi_UserOwnedAccount_byUser": {
2595
- "uid": "0047830860007681900021",
2596
- "sources": [
2597
- {
2598
- "type": "table",
2599
- "name": "adsApi_UserOwnedAccount"
2600
- }
2601
- ],
2602
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
2603
- "parameters": {
2604
- "properties": [
2605
- [
2606
- "user"
2607
- ]
2608
- ],
2609
- "table": "adsApi_UserOwnedAccount"
2610
- }
2611
- },
2612
- "adsApi_UserOwnedAccount_byAccount": {
2613
- "uid": "240380067000920000025",
2614
- "sources": [
2615
- {
2616
- "type": "table",
2617
- "name": "adsApi_UserOwnedAccount"
2618
- }
2619
- ],
2620
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
2621
- "parameters": {
2622
- "properties": [
2623
- [
2624
- "account"
2625
- ]
2626
- ],
2627
- "table": "adsApi_UserOwnedAccount"
2628
- }
2629
- },
2630
- "adsApi_Campaign_byAccount": {
2631
- "uid": "7107500081440000400046",
2632
- "sources": [
2633
- {
2634
- "type": "table",
2635
- "name": "adsApi_Campaign"
2636
- }
2637
- ],
2638
- "code": "(async function(input, output, { table, properties }) {\n const mapper = (obj) => ({\n id: properties.map(path => {\n let at = obj\n for(const p of path) at = at && at[p]\n return at === undefined ? '' : JSON.stringify(at)\n }).join(':')+'_'+obj.id,\n to: obj.id\n })\n await input.table(table).onChange((obj, oldObj) =>\n output.change(obj && mapper(obj), oldObj && mapper(oldObj)) )\n })",
2639
- "parameters": {
2640
- "properties": [
2641
- [
2642
- "account"
2643
- ]
2644
- ],
2645
- "table": "adsApi_Campaign"
2646
- }
2647
- },
2648
- "triggers_new": {
2649
- "uid": "8c1ae3a2a7f2dc7e",
2650
- "sources": [
2651
- {
2652
- "type": "table",
2653
- "name": "triggers"
2654
- }
2655
- ],
2656
- "code": "(async function(input, output, { tableName }) {\n await input.table(tableName).onChange(async (obj, oldObj) => {\n const res = obj && obj.state == 'new' ? { ...obj, id: obj.service + '_' + obj.id } : null\n const oldRes = oldObj && oldObj.state == 'new' ? { ...oldObj, id: oldObj.service + '_' + oldObj.id } : null\n //output.debug(\"CHANGE \", tableName, \"INDEX\", res, \"OLD:\", oldRes)\n await output.change(res, oldRes)\n })\n })",
2657
- "parameters": {
2658
- "tableName": "triggers"
2659
- }
2660
- },
2661
- "notifications_Notification_userUnreadNotificationsCount": {
2662
- "uid": "10008424043036740371188019",
2663
- "sources": [
2664
- {
2665
- "type": "index",
2666
- "name": "notifications_Notification_userUnreadNotifications"
2667
- }
2668
- ],
2669
- "code": "(async function(input, output) {\n const unreadIndex = await input.index('notifications_Notification_userUnreadNotifications')\n await unreadIndex.onChange(\n async (obj, oldObj) => {\n const user = (obj && obj.user) || (oldObj && oldObj.user)\n const count = await unreadIndex.count({\n gt: user + '_',\n lt: user + '_\\xFF'\n })\n output.put({\n id: user,\n count\n })\n }\n )\n })",
2670
- "parameters": {}
2671
- },
2672
- "notifications_Notification_sessionUnreadNotificationsCount": {
2673
- "uid": "28083017517700002200085",
2674
- "sources": [
2675
- {
2676
- "type": "index",
2677
- "name": "notifications_Notification_sessionUnreadNotifications"
2678
- }
2679
- ],
2680
- "code": "(async function(input, output) {\n const unreadIndex = await input.index('notifications_Notification_sessionUnreadNotifications')\n await unreadIndex.onChange(\n async (obj, oldObj) => {\n const session = (obj && obj.session) || (oldObj && oldObj.session)\n const count = await unreadIndex.count({\n gt: session + '_',\n lt: session + '_\\xFF'\n })\n output.put({\n id: session,\n count\n })\n }\n )\n })",
2681
- "parameters": {}
2682
- },
2683
- "readHistory_ReadHistory_userUnreadHistoriesCount": {
2684
- "uid": "5907750000000166509900",
2685
- "sources": [
2686
- {
2687
- "type": "index",
2688
- "name": "readHistory_ReadHistory_userUnreadHistories"
2689
- }
2690
- ],
2691
- "code": "(async function(input, output) {\n const unreadIndex = await input.index('readHistory_ReadHistory_userUnreadHistories')\n await unreadIndex.onChange(\n async (obj, oldObj) => {\n const user = (obj && obj.user) || (oldObj && oldObj.user)\n const unread = await unreadIndex.count({\n gt: user + '_',\n lt: user + '_\\xFF'\n })\n output.put({\n id: user,\n unread\n })\n }\n )\n })",
2692
- "parameters": {}
2693
- },
2694
- "readHistory_ReadHistory_sessionUnreadHistoriesCount": {
2695
- "uid": "25004800500084000620",
2696
- "sources": [
2697
- {
2698
- "type": "index",
2699
- "name": "readHistory_ReadHistory_sessionUnreadHistories"
2700
- }
2701
- ],
2702
- "code": "(async function(input, output) {\n const unreadIndex = await input.index('readHistory_ReadHistory_sessionUnreadHistories')\n await unreadIndex.onChange(\n async (obj, oldObj) => {\n const publicSessionInfo = (obj && obj.publicSessionInfo) || (oldObj && oldObj.publicSessionInfo)\n const unread = await unreadIndex.count({\n gt: publicSessionInfo + '_',\n lt: publicSessionInfo + '_\\xFF'\n })\n output.put({\n id: publicSessionInfo,\n unread\n })\n }\n )\n })",
2703
- "parameters": {}
2704
- },
2705
- "readHistory_ReadHistory_userUnreadHistoriesCountByType": {
2706
- "uid": "410007200500000005840",
2707
- "sources": [
2708
- {
2709
- "type": "index",
2710
- "name": "readHistory_ReadHistory_userUnreadHistoriesByType"
2711
- }
2712
- ],
2713
- "code": "(async function(input, output) {\n const unreadIndex = await input.index('readHistory_ReadHistory_userUnreadHistoriesByType')\n await unreadIndex.onChange(\n async (obj, oldObj) => {\n const user = (obj && obj.user) || (oldObj && oldObj.user)\n const toType = (obj && obj.toType) || (oldObj && oldObj.toType)\n const unread = await unreadIndex.count({\n gt: user + '_' + toType + '_',\n lt: user + '_' + toType + '_\\xFF'\n })\n output.put({\n id: user + '_' + toType,\n unread\n })\n }\n )\n })",
2714
- "parameters": {}
2715
- },
2716
- "readHistory_ReadHistory_sessionUnreadHistoriesCountByType": {
2717
- "uid": "00090022024000580830",
2718
- "sources": [
2719
- {
2720
- "type": "index",
2721
- "name": "readHistory_ReadHistory_sessionUnreadHistoriesByType"
2722
- }
2723
- ],
2724
- "code": "(async function(input, output) {\n const unreadIndex = await input.index('readHistory_ReadHistory_sessionUnreadHistoriesByType')\n await unreadIndex.onChange(\n async (obj, oldObj) => {\n const publicSessionInfo = (obj && obj.publicSessionInfo) || (oldObj && oldObj.publicSessionInfo)\n const toType = (obj && obj.toType) || (oldObj && oldObj.toType)\n const unread = await unreadIndex.count({\n gt: publicSessionInfo + '_' + toType + '_',\n lt: publicSessionInfo + '_' + toType + '_\\xFF'\n })\n output.put({\n id: publicSessionInfo + '_' + toType,\n unread\n })\n }\n )\n })",
2725
- "parameters": {}
2726
- },
2727
- "readHistory_ReadHistory_sessionReadHistoriesCount": {
2728
- "uid": "4600015089070100089046",
2729
- "sources": [
2730
- {
2731
- "type": "index",
2732
- "name": "readHistory_ReadHistory_sessionReadHistories"
2733
- }
2734
- ],
2735
- "code": "(async function(input, output) {\n const unreadIndex = await input.index('readHistory_ReadHistory_sessionReadHistories')\n await unreadIndex.onChange(\n async (obj, oldObj) => {\n const session = (obj && obj.session) || (oldObj && oldObj.session)\n const prefix = `\"${session}\"`\n const read = await unreadIndex.count({\n gt: prefix + ':',\n lt: prefix + ':\\xFF',\n limit: 500\n })\n output.put({\n id: session,\n read\n })\n }\n )\n })",
2736
- "parameters": {}
2737
- },
2738
- "readHistory_ReadHistory_userReadHistoriesCountByType": {
2739
- "uid": "06900006908200000230",
2740
- "sources": [
2741
- {
2742
- "type": "index",
2743
- "name": "readHistory_ReadHistory_userReadHistoriesByType"
2744
- }
2745
- ],
2746
- "code": "(async function(input, output) {\n const unreadIndex = await input.index('readHistory_ReadHistory_userReadHistoriesByType')\n await unreadIndex.onChange(\n async (obj, oldObj) => {\n const user = (obj && obj.user) || (oldObj && oldObj.user)\n const toType = (obj && obj.toType) || (oldObj && oldObj.toType)\n const prefix = `\"${user}\"_\"${toType}\"`\n const read = await unreadIndex.count({\n gt: prefix + ':',\n lt: prefix + ':\\xFF',\n limit: 500\n })\n output.put({\n id: user+'_'+toType,\n read\n })\n }\n )\n })",
2747
- "parameters": {}
2748
- },
2749
- "readHistory_ReadHistory_sessionReadHistoriesCountByType": {
2750
- "uid": "69000074340230760410087",
2751
- "sources": [
2752
- {
2753
- "type": "index",
2754
- "name": "readHistory_ReadHistory_sessionReadHistoriesByType"
2755
- }
2756
- ],
2757
- "code": "(async function(input, output) {\n const unreadIndex = await input.index('readHistory_ReadHistory_sessionReadHistoriesByType')\n await unreadIndex.onChange(\n async (obj, oldObj) => {\n const session = (obj && obj.session) || (oldObj && oldObj.session)\n const toType = (obj && obj.toType) || (oldObj && oldObj.toType)\n const prefix = `\"${session}\"_\"${toType}\"`\n const read = await unreadIndex.count({\n gt: prefix + ':',\n lt: prefix + ':\\xFF',\n limit: 500\n })\n output.put({\n id: session+'_'+toType,\n read\n })\n }\n )\n })",
2758
- "parameters": {}
2759
- },
2760
- "readHistory_ReadHistory_userReadHistoriesCount": {
2761
- "uid": "75000082005501600000",
2762
- "sources": [
2763
- {
2764
- "type": "index",
2765
- "name": "readHistory_ReadHistory_userReadHistories"
2766
- }
2767
- ],
2768
- "code": "(async function(input, output) {\n const unreadIndex = await input.index('readHistory_ReadHistory_userReadHistories')\n await unreadIndex.onChange(\n async (obj, oldObj) => {\n const user = (obj && obj.user) || (oldObj && oldObj.user)\n if(user && typeof user != 'string') {\n output.debug('INDEX readHistory_ReadHistory_userReadHistories', obj.id, 'user', obj.user)\n throw new Error(\"USER IS NOT STRING\")\n }\n const prefix = `\"${user}\"`\n const read = await unreadIndex.count({\n gt: prefix + ':',\n lt: prefix + ':\\xFF',\n limit: 500\n })\n output.put({\n id: user,\n read\n })\n }\n )\n })",
2769
- "parameters": {}
2770
- }
2771
- },
2772
- "logs": {
2773
- "events": {
2774
- "uid": "04951000980000000072"
2775
- }
2776
- },
2777
- "storage": {
2778
- "noMetaSync": true,
2779
- "noSync": true,
2780
- "mapSize": 40000000000,
2781
- "maxDbs": 10000
2782
- }
2783
- }
2784
- },
2785
- "timestamp": 1713446176120
2786
- }