@mathrunet/masamune 2.5.0 → 2.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,21 @@
1
+ ## [2.6.1](https://github.com/mathrunet/node_masamune/compare/v2.6.0...v2.6.1) (2024-06-11)
2
+
3
+
4
+ ### test
5
+
6
+ * Test code implementation. ([7f40834](https://github.com/mathrunet/node_masamune/commit/7f40834936b13a1b54b792b1c47f7c1ae2319502))
7
+
8
+
9
+
10
+ # [2.6.0](https://github.com/mathrunet/node_masamune/compare/v2.5.0...v2.6.0) (2024-06-11)
11
+
12
+
13
+ ### feat
14
+
15
+ * Added document creation functionality. ([9d8374e](https://github.com/mathrunet/node_masamune/commit/9d8374eb5495a2b3ee705e41c8faf6c9731c1885))
16
+
17
+
18
+
1
19
  # [2.5.0](https://github.com/mathrunet/node_masamune/compare/v2.4.4...v2.5.0) (2024-06-11)
2
20
 
3
21
 
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ Object.defineProperty(exports, "__esModule", { value: true });
35
+ const functions = __importStar(require("firebase-functions/v2"));
36
+ const delete_documents = __importStar(require("../lib/functions/delete_documents"));
37
+ /**
38
+ * When a document is deleted, the related collections should be deleted together.
39
+ *
40
+ * ドキュメントが削除された場合関連するコレクションをまとめて削除するようにします。
41
+ */
42
+ module.exports = (regions, options, data) => {
43
+ var _a;
44
+ return functions.firestore.onDocumentDeleted({
45
+ document: `${options.path}/{docId}`,
46
+ region: (_a = options.region) !== null && _a !== void 0 ? _a : regions[0],
47
+ timeoutSeconds: options.timeoutSeconds,
48
+ memory: options.memory,
49
+ minInstances: options.minInstances,
50
+ concurrency: options.concurrency,
51
+ maxInstances: options.maxInstances,
52
+ }, (event) => __awaiter(void 0, void 0, void 0, function* () {
53
+ var _b;
54
+ try {
55
+ const docPath = (_b = event.data) === null || _b === void 0 ? void 0 : _b.ref.path;
56
+ if (!docPath) {
57
+ return;
58
+ }
59
+ const relation = options.relation;
60
+ if (!relation) {
61
+ return;
62
+ }
63
+ const collectionPath = relation(docPath);
64
+ if (!collectionPath) {
65
+ return;
66
+ }
67
+ yield delete_documents.deleteDocuments({ collectionPath: collectionPath });
68
+ }
69
+ catch (err) {
70
+ console.log(err);
71
+ throw err;
72
+ }
73
+ }));
74
+ };
75
+ //# sourceMappingURL=delete_documents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete_documents.js","sourceRoot":"","sources":["../../src/functions/delete_documents.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iEAAmD;AAEnD,oFAAsE;AAEtE;;;;GAIG;AACH,MAAM,CAAC,OAAO,GAAG,CACb,OAAiB,EACjB,OAAqC,EACrC,IAA+B,EACjC,EAAE;;IAAC,OAAA,SAAS,CAAC,SAAS,CAAC,iBAAiB,CACtC;QACI,QAAQ,EAAE,GAAG,OAAO,CAAC,IAAI,UAAU;QACnC,MAAM,EAAE,MAAA,OAAO,CAAC,MAAM,mCAAI,OAAO,CAAC,CAAC,CAAC;QACpC,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,YAAY,EAAE,OAAO,CAAC,YAAY;KACrC,EACD,CAAO,KAAK,EAAE,EAAE;;QACZ,IAAI,CAAC;YACD,MAAM,OAAO,GAAG,MAAA,KAAK,CAAC,IAAI,0CAAE,GAAG,CAAC,IAAI,CAAC;YACrC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACX,OAAO;YACX,CAAC;YACD,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;YAClC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACZ,OAAO;YACX,CAAC;YACD,MAAM,cAAc,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;YACzC,IAAI,CAAC,cAAc,EAAE,CAAC;gBAClB,OAAO;YACX,CAAC;YACD,MAAM,gBAAgB,CAAC,eAAe,CAAC,EAAE,cAAc,EAAE,cAAc,EAAE,CAAC,CAAC;QAC/E,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACjB,MAAM,GAAG,CAAC;QACd,CAAC;IACL,CAAC,CAAA,CACJ,CAAA;CAAA,CAAC"}
@@ -35,6 +35,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
35
35
  const functions = __importStar(require("firebase-functions/v2"));
36
36
  const admin = __importStar(require("firebase-admin"));
37
37
  const send_notification_1 = require("../lib/functions/send_notification");
38
+ const delete_documents = __importStar(require("../lib/functions/delete_documents"));
38
39
  /**
39
40
  * Define a process for notifications while scaling to monitor the DB and register future PUSH notifications and data.
40
41
  *
@@ -70,7 +71,7 @@ module.exports = (regions, options, data) => {
70
71
  const priParams = doc.get("#command")["@private"];
71
72
  console.log(`Command: ${command}`);
72
73
  switch (command) {
73
- case "notification":
74
+ case "notification": {
74
75
  const title = priParams["title"];
75
76
  const body = priParams["text"];
76
77
  const channelId = priParams["channel"];
@@ -81,7 +82,7 @@ module.exports = (regions, options, data) => {
81
82
  const sound = priParams["sound"];
82
83
  const targetCollectionPath = priParams["targetCollectionPath"];
83
84
  const targetTokenFieldKey = priParams["targetTokenFieldKey"];
84
- const targetWhere = priParams["targetWhere"];
85
+ const targetWheres = priParams["targetWheres"];
85
86
  const targetConditions = priParams["targetConditions"];
86
87
  const response = yield (0, send_notification_1.sendNotification)({
87
88
  title: title,
@@ -94,12 +95,13 @@ module.exports = (regions, options, data) => {
94
95
  sound: sound,
95
96
  targetCollectionPath: targetCollectionPath,
96
97
  targetTokenFieldKey: targetTokenFieldKey,
97
- targetWhere: targetWhere,
98
+ targetWheres: targetWheres,
98
99
  targetConditions: targetConditions,
99
100
  });
100
101
  res = response.results;
101
102
  break;
102
- case "copy_document":
103
+ }
104
+ case "copy_document": {
103
105
  const path = priParams["path"];
104
106
  const paths = path.split("/");
105
107
  const id = paths[paths.length - 1];
@@ -117,6 +119,17 @@ module.exports = (regions, options, data) => {
117
119
  merge: true
118
120
  });
119
121
  break;
122
+ }
123
+ case "delete_documents":
124
+ const collectionPath = priParams["collectionPath"];
125
+ const wheres = priParams["wheres"];
126
+ const conditions = priParams["conditions"];
127
+ yield delete_documents.deleteDocuments({
128
+ collectionPath: collectionPath,
129
+ wheres: wheres,
130
+ conditions: conditions,
131
+ });
132
+ break;
120
133
  }
121
134
  if (res !== null && Object.keys(res).length > 0) {
122
135
  yield doc.ref.set(Object.assign({ "_done": true }, res), {
@@ -1 +1 @@
1
- {"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../src/functions/scheduler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../src/functions/scheduler.ts"],"names":[],"mappings":"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"}
@@ -89,7 +89,7 @@ const send_notification_1 = require("../lib/functions/send_notification");
89
89
  *
90
90
  * 通知対象のトークンを取得する際のフィールドのキーを指定します。
91
91
  *
92
- * @param targetWhere
92
+ * @param targetWheres
93
93
  * Specify the conditions for retrieving the collections to be notified.
94
94
  *
95
95
  * 通知対象のコレクションを取得する際の条件を指定します。
@@ -120,7 +120,7 @@ module.exports = (regions, options, data) => {
120
120
  const badgeCount = query.data.badgeCount;
121
121
  const targetCollectionPath = query.data.targetCollectionPath;
122
122
  const targetTokenFieldKey = query.data.targetTokenFieldKey;
123
- const targetWhere = query.data.targetWhere;
123
+ const targetWheres = query.data.targetWheres;
124
124
  const targetConditions = query.data.targetConditions;
125
125
  if (!title || !body) {
126
126
  throw new functions.https.HttpsError("invalid-argument", "Query parameter is invalid.");
@@ -136,7 +136,7 @@ module.exports = (regions, options, data) => {
136
136
  sound: sound,
137
137
  targetCollectionPath: targetCollectionPath,
138
138
  targetTokenFieldKey: targetTokenFieldKey,
139
- targetWhere: targetWhere,
139
+ targetWheres: targetWheres,
140
140
  targetConditions: targetConditions,
141
141
  });
142
142
  return res;
@@ -1 +1 @@
1
- {"version":3,"file":"send_notification.js","sourceRoot":"","sources":["../../src/functions/send_notification.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iEAAmD;AACnD,0EAAsE;AAGtE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgEG;AACH,MAAM,CAAC,OAAO,GAAG,CACb,OAAiB,EACjB,OAA6B,EAC7B,IAA+B,EACjC,EAAE;;IAAC,OAAA,SAAS,CAAC,KAAK,CAAC,MAAM,CACvB;QACI,MAAM,EAAE,MAAA,OAAO,CAAC,MAAM,mCAAI,OAAO;QACjC,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,YAAY,EAAE,OAAO,CAAC,YAAY;KACrC,EACD,CAAO,KAAK,EAAE,EAAE;QACZ,IAAI,CAAC;YACD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAkC,CAAC;YAC5D,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAiC,CAAC;YAC1D,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,UAAuC,CAAC;YACrE,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAA6C,CAAC;YACtE,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAA6C,CAAC;YACvE,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAkC,CAAC;YAC5D,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAkC,CAAC;YAC5D,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,UAAuC,CAAC;YACtE,MAAM,oBAAoB,GAAG,KAAK,CAAC,IAAI,CAAC,oBAAiD,CAAC;YAC1F,MAAM,mBAAmB,GAAG,KAAK,CAAC,IAAI,CAAC,mBAAgD,CAAC;YACxF,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,WAAsD,CAAC;YACtF,MAAM,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,gBAA2D,CAAC;YAChG,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;gBAClB,MAAM,IAAI,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,kBAAkB,EAAE,6BAA6B,CAAC,CAAC;YAC5F,CAAC;YACD,MAAM,GAAG,GAAG,MAAM,IAAA,oCAAgB,EAAC;gBAC/B,KAAK,EAAE,KAAK;gBACZ,IAAI,EAAE,IAAI;gBACV,SAAS,EAAE,SAAS;gBACpB,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,KAAK;gBACZ,UAAU,EAAE,UAAU;gBACtB,KAAK,EAAE,KAAK;gBACZ,oBAAoB,EAAE,oBAAoB;gBAC1C,mBAAmB,EAAE,mBAAmB;gBACxC,WAAW,EAAE,WAAW;gBACxB,gBAAgB,EAAE,gBAAgB;aACrC,CAAC,CAAC;YACH,OAAO,GAAG,CAAC;QACf,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACjB,MAAM,GAAG,CAAC;QACd,CAAC;IACL,CAAC,CAAA,CACJ,CAAA;CAAA,CAAC"}
1
+ {"version":3,"file":"send_notification.js","sourceRoot":"","sources":["../../src/functions/send_notification.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iEAAmD;AACnD,0EAAsE;AAGtE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgEG;AACH,MAAM,CAAC,OAAO,GAAG,CACb,OAAiB,EACjB,OAA6B,EAC7B,IAA+B,EACjC,EAAE;;IAAC,OAAA,SAAS,CAAC,KAAK,CAAC,MAAM,CACvB;QACI,MAAM,EAAE,MAAA,OAAO,CAAC,MAAM,mCAAI,OAAO;QACjC,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,YAAY,EAAE,OAAO,CAAC,YAAY;KACrC,EACD,CAAO,KAAK,EAAE,EAAE;QACZ,IAAI,CAAC;YACD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAkC,CAAC;YAC5D,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAiC,CAAC;YAC1D,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,UAAuC,CAAC;YACrE,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAA6C,CAAC;YACtE,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAA6C,CAAC;YACvE,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAkC,CAAC;YAC5D,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAkC,CAAC;YAC5D,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,UAAuC,CAAC;YACtE,MAAM,oBAAoB,GAAG,KAAK,CAAC,IAAI,CAAC,oBAAiD,CAAC;YAC1F,MAAM,mBAAmB,GAAG,KAAK,CAAC,IAAI,CAAC,mBAAgD,CAAC;YACxF,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,YAAuD,CAAC;YACxF,MAAM,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,gBAA2D,CAAC;YAChG,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;gBAClB,MAAM,IAAI,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,kBAAkB,EAAE,6BAA6B,CAAC,CAAC;YAC5F,CAAC;YACD,MAAM,GAAG,GAAG,MAAM,IAAA,oCAAgB,EAAC;gBAC/B,KAAK,EAAE,KAAK;gBACZ,IAAI,EAAE,IAAI;gBACV,SAAS,EAAE,SAAS;gBACpB,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,KAAK;gBACZ,UAAU,EAAE,UAAU;gBACtB,KAAK,EAAE,KAAK;gBACZ,oBAAoB,EAAE,oBAAoB;gBAC1C,mBAAmB,EAAE,mBAAmB;gBACxC,YAAY,EAAE,YAAY;gBAC1B,gBAAgB,EAAE,gBAAgB;aACrC,CAAC,CAAC;YACH,OAAO,GAAG,CAAC;QACf,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACjB,MAAM,GAAG,CAAC;QACd,CAAC;IACL,CAAC,CAAA,CACJ,CAAA;CAAA,CAAC"}
@@ -6,9 +6,15 @@ import * as data from "./lib/src/functions_data";
6
6
  */
7
7
  export declare const Functions: {
8
8
  /**
9
- * Synchronize data to Algolia.
10
- *
11
- * Algoliaにデータを同期します。
9
+ * When a document is deleted, the related collections should be deleted together.
10
+ *
11
+ * ドキュメントが削除された場合関連するコレクションをまとめて削除するようにします。
12
+ */
13
+ readonly deleteDocuments: (options?: data.RelationPathFunctionsOptions) => data.FunctionsData;
14
+ /**
15
+ * Synchronize data to Algolia.
16
+ *
17
+ * Algoliaにデータを同期します。
12
18
  */
13
19
  readonly algolia: (options?: data.PathFunctionsOptions) => data.FunctionsData;
14
20
  /**
package/dist/functions.js CHANGED
@@ -32,9 +32,15 @@ const data = __importStar(require("./lib/src/functions_data"));
32
32
  */
33
33
  exports.Functions = {
34
34
  /**
35
- * Synchronize data to Algolia.
36
- *
37
- * Algoliaにデータを同期します。
35
+ * When a document is deleted, the related collections should be deleted together.
36
+ *
37
+ * ドキュメントが削除された場合関連するコレクションをまとめて削除するようにします。
38
+ */
39
+ deleteDocuments: (options = {}) => new data.FunctionsData({ id: "delete_documents", func: require("./functions/delete_documents"), options: options }),
40
+ /**
41
+ * Synchronize data to Algolia.
42
+ *
43
+ * Algoliaにデータを同期します。
38
44
  */
39
45
  algolia: (options = {}) => new data.FunctionsData({ id: "algolia", func: require("./functions/algolia"), options: options }),
40
46
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"functions.js","sourceRoot":"","sources":["../src/functions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"functions.js","sourceRoot":"","sources":["../src/functions.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+DAAiD;AAEjD;;;;GAIG;AACU,QAAA,SAAS,GAAG;IACvB;;;;OAIG;IACH,eAAe,EAAE,CAAC,UAA6C,EAAE,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,OAAO,CAAC,8BAA8B,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IACzL;;;;OAIG;IACH,OAAO,EAAE,CAAC,UAAqC,EAAE,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,qBAAqB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IACvJ;;;;OAIG;IACH,SAAS,EAAE,CAAC,UAAiC,EAAE,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC,uBAAuB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IACzJ;;;;OAIG;IACH,gBAAgB,EAAE,CAAC,UAAiC,EAAE,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,mBAAmB,EAAE,IAAI,EAAE,OAAO,CAAC,+BAA+B,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IAChL;;;;OAIG;IACH,SAAS,EAAE,CAAC,UAA0C,EAAE,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC,uBAAuB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IAClK;;;;OAIG;IACH,aAAa,EAAE,CAAC,UAAiC,EAAE,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,OAAO,CAAC,6BAA6B,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IACzK;;;;OAIG;IACH,UAAU,EAAE,CAAC,UAAiC,EAAE,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,CAAC,yBAAyB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IAC9J;;;;;;;;OAQG;IACH,mBAAmB,EAAE,CAAC,UAAiC,EAAE,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,uBAAuB,EAAE,IAAI,EAAE,OAAO,CAAC,mCAAmC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IAC3L;;;;;;;;OAQG;IACH,MAAM,EAAE,CAAC,UAAiC,EAAE,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,oBAAoB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IAChJ;;;;;;;;;;;;OAYG;IACH,aAAa,EAAE,CAAC,UAAiC,EAAE,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,OAAO,CAAC,4BAA4B,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IACvK;;;;;;;;;;;;;;;;OAgBG;IACH,oBAAoB,EAAE,CAAC,UAAiC,EAAE,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,wBAAwB,EAAE,IAAI,EAAE,OAAO,CAAC,oCAAoC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IAC9L;;;;;;;;;;;;OAYG;IACH,mBAAmB,EAAE,CAAC,UAAiC,EAAE,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,uBAAuB,EAAE,IAAI,EAAE,OAAO,CAAC,mCAAmC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IAC3L;;;;OAIG;IACH,KAAK,EAAE,CAAC,UAAiC,EAAE,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,mBAAmB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IAC7I;;;;OAIG;IACH,QAAQ,EAAE,CAAC,UAAiC,EAAE,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC,uBAAuB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IACxJ;;;;;OAKG;IACH,eAAe,EAAE,CAAC,UAAiC,EAAE,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,mBAAmB,EAAE,IAAI,EAAE,OAAO,CAAC,+BAA+B,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IAC/K;;;;;OAKG;IACH,YAAY,EAAE,CAAC,UAAiC,EAAE,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,OAAO,CAAC,2BAA2B,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IACpK;;;;OAIG;IACH,uBAAuB,EAAE,CAAC,UAAiC,EAAE,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,2BAA2B,EAAE,IAAI,EAAE,OAAO,CAAC,uCAAuC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IACvM;;;;OAIG;IACH,mBAAmB,EAAE,CAAC,UAAiC,EAAE,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,uBAAuB,EAAE,IAAI,EAAE,OAAO,CAAC,mCAAmC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IAC3L;;;;OAIG;IACH,0BAA0B,EAAE,CAAC,UAAiC,EAAE,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,8BAA8B,EAAE,IAAI,EAAE,OAAO,CAAC,0CAA0C,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IAChN;;;;OAIG;IACH,sBAAsB,EAAE,CAAC,UAAiC,EAAE,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,0BAA0B,EAAE,IAAI,EAAE,OAAO,CAAC,sCAAsC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IACpM;;;;OAIG;IACH,sBAAsB,EAAE,CAAC,UAAuC,EAAE,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,0BAA0B,EAAE,IAAI,EAAE,OAAO,CAAC,sCAAsC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IAC1M;;;;OAIG;IACH,kBAAkB,EAAE,CAAC,UAAiC,EAAE,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,sBAAsB,EAAE,IAAI,EAAE,OAAO,CAAC,kCAAkC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IACxL;;;;OAIG;IACH,yBAAyB,EAAE,CAAC,UAAiC,EAAE,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,6BAA6B,EAAE,IAAI,EAAE,OAAO,CAAC,yCAAyC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IAC7M;;;;OAIG;IACH,qBAAqB,EAAE,CAAC,UAAiC,EAAE,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,yBAAyB,EAAE,IAAI,EAAE,OAAO,CAAC,qCAAqC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;CACzL,CAAC"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Loads related collections and deletes data matching the criteria.
3
+ *
4
+ * 関連するコレクションをロードし、条件に一致するデータを削除します。
5
+ *
6
+ * @param collectionPath
7
+ * Specify the path of the collection to be deleted.
8
+ *
9
+ * 削除対象のコレクションのパスを指定します。
10
+ *
11
+ * @param wheres
12
+ * Specifies the conditions under which collections to be deleted are retrieved.
13
+ *
14
+ * 削除対象のコレクションを取得する際の条件を指定します。
15
+ *
16
+ * @param conditions
17
+ * Specify the conditions under which data is to be deleted.
18
+ *
19
+ * データを削除対象とする条件を指定します。
20
+ */
21
+ export declare function deleteDocuments({ collectionPath, wheres, conditions, }: {
22
+ collectionPath: string;
23
+ wheres?: {
24
+ [key: string]: string;
25
+ }[] | undefined;
26
+ conditions?: {
27
+ [key: string]: string;
28
+ }[] | undefined;
29
+ }): Promise<{
30
+ [key: string]: any;
31
+ }>;
@@ -0,0 +1,104 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ Object.defineProperty(exports, "__esModule", { value: true });
35
+ exports.deleteDocuments = void 0;
36
+ const admin = __importStar(require("firebase-admin"));
37
+ const utils_1 = require("../utils");
38
+ const firestore = __importStar(require("./firestore"));
39
+ /**
40
+ * Loads related collections and deletes data matching the criteria.
41
+ *
42
+ * 関連するコレクションをロードし、条件に一致するデータを削除します。
43
+ *
44
+ * @param collectionPath
45
+ * Specify the path of the collection to be deleted.
46
+ *
47
+ * 削除対象のコレクションのパスを指定します。
48
+ *
49
+ * @param wheres
50
+ * Specifies the conditions under which collections to be deleted are retrieved.
51
+ *
52
+ * 削除対象のコレクションを取得する際の条件を指定します。
53
+ *
54
+ * @param conditions
55
+ * Specify the conditions under which data is to be deleted.
56
+ *
57
+ * データを削除対象とする条件を指定します。
58
+ */
59
+ function deleteDocuments(_a) {
60
+ return __awaiter(this, arguments, void 0, function* ({ collectionPath, wheres, conditions, }) {
61
+ const res = {};
62
+ try {
63
+ const firestoreInstance = admin.firestore();
64
+ const collectionRef = firestore.where({
65
+ query: firestoreInstance.collection(collectionPath),
66
+ wheres: wheres
67
+ });
68
+ let cursor = null;
69
+ let collection = null;
70
+ do {
71
+ collection = yield firestore.cursor({ query: collectionRef, limit: 500, cursor: cursor }).get();
72
+ const deleteList = [];
73
+ for (let doc of collection.docs) {
74
+ const data = doc.data();
75
+ if (!(yield firestore.hasMatch({ data: data, conditions: conditions }))) {
76
+ continue;
77
+ }
78
+ deleteList.push(doc.ref);
79
+ }
80
+ const splitted = (0, utils_1.splitArray)(deleteList, 500);
81
+ for (let list of splitted) {
82
+ const batch = firestoreInstance.batch();
83
+ for (let doc of list) {
84
+ batch.delete(doc);
85
+ }
86
+ yield batch.commit();
87
+ }
88
+ if (collection.docs.length < 500) {
89
+ break;
90
+ }
91
+ cursor = collection.docs[collection.docs.length - 1];
92
+ } while (collection.docs.length >= 500);
93
+ }
94
+ catch (err) {
95
+ throw err;
96
+ }
97
+ return {
98
+ success: true,
99
+ results: res,
100
+ };
101
+ });
102
+ }
103
+ exports.deleteDocuments = deleteDocuments;
104
+ //# sourceMappingURL=delete_documents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete_documents.js","sourceRoot":"","sources":["../../../src/lib/functions/delete_documents.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,sDAAwC;AACxC,oCAAsC;AACtC,uDAAyC;AAEzC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,SAAsB,eAAe;yDAAC,EAClC,cAAc,EACd,MAAM,EACN,UAAU,GAKT;QACD,MAAM,GAAG,GAA2B,EAAE,CAAC;QACvC,IAAI,CAAC;YACD,MAAM,iBAAiB,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;YAC5C,MAAM,aAAa,GAAG,SAAS,CAAC,KAAK,CAAC;gBAClC,KAAK,EAAE,iBAAiB,CAAC,UAAU,CAAC,cAAc,CAAC;gBACnD,MAAM,EAAE,MAAM;aACjB,CAAC,CAAC;YACH,IAAI,MAAM,GAAmD,IAAI,CAAC;YAClE,IAAI,UAAU,GAA2G,IAAI,CAAC;YAC9H,GAAG,CAAC;gBACA,UAAU,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;gBAChG,MAAM,UAAU,GAAoG,EAAE,CAAC;gBACvH,KAAK,IAAI,GAAG,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;oBAC9B,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAA4B,CAAC;oBAClD,IAAI,CAAC,CAAA,MAAM,SAAS,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAA,EAAE,CAAC;wBACpE,SAAS;oBACb,CAAC;oBACD,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC7B,CAAC;gBACD,MAAM,QAAQ,GAAG,IAAA,kBAAU,EAAC,UAAU,EAAE,GAAG,CAAC,CAAC;gBAC7C,KAAK,IAAI,IAAI,IAAI,QAAQ,EAAE,CAAC;oBACxB,MAAM,KAAK,GAAG,iBAAiB,CAAC,KAAK,EAAE,CAAC;oBACxC,KAAK,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;wBACnB,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBACtB,CAAC;oBACD,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC;gBACzB,CAAC;gBACD,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;oBAC/B,MAAM;gBACV,CAAC;gBACD,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACzD,CAAC,QAAQ,UAAU,CAAC,IAAI,CAAC,MAAM,IAAI,GAAG,EAAE;QAC5C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,MAAM,GAAG,CAAC;QACd,CAAC;QACD,OAAO;YACH,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,GAAG;SACf,CAAC;IACN,CAAC;CAAA;AAhDD,0CAgDC"}
@@ -1,10 +1,54 @@
1
1
  import * as admin from "firebase-admin";
2
+ /**
3
+ * Create a filter for loading Firestore collections.
4
+ *
5
+ * Firestoreのコレクションをロードする際のフィルターを作成します。
6
+ *
7
+ * @param query
8
+ * Specifies a reference to a Firestore collection.
9
+ *
10
+ * Firestoreのコレクションのリファレンスを指定します。
11
+ *
12
+ * @param wheres
13
+ * Specifies the filter to be applied to the collection.
14
+ *
15
+ * コレクションに適用するフィルターを指定します。
16
+ *
17
+ * @returns
18
+ * Returns a Firestore query with the specified filter.
19
+ *
20
+ * 指定されたフィルターを持つFirestoreのクエリを返します。
21
+ */
2
22
  export declare function where({ query, wheres, }: {
3
23
  query: admin.firestore.Query<admin.firestore.DocumentData, admin.firestore.DocumentData>;
4
24
  wheres: {
5
25
  [key: string]: any;
6
26
  }[] | undefined;
7
27
  }): admin.firestore.Query<admin.firestore.DocumentData, admin.firestore.DocumentData>;
28
+ /**
29
+ * Judges whether all the conditions in [conditons] match the document data in [data].
30
+ *
31
+ * If a reference is included in [data], the document is retrieved recursively and the condition is determined.
32
+ *
33
+ * [data]のドキュメントデータに対して、[conditions]の条件が全て一致するかどうかを判定します。
34
+ *
35
+ * [data]の中にリファレンスが含まれている場合、再帰的にドキュメントを取得し条件を判定します。
36
+ *
37
+ * @param data
38
+ * Target document data.
39
+ *
40
+ * 対象となるドキュメントデータ。
41
+ *
42
+ * @param conditions
43
+ * Conditions to be matched.
44
+ *
45
+ * 一致させる条件。
46
+ *
47
+ * @returns
48
+ * Returns true if all conditions match, false otherwise.
49
+ *
50
+ * 全ての条件が一致する場合はtrue、それ以外はfalseを返します。
51
+ */
8
52
  export declare function hasMatch({ data, conditions, }: {
9
53
  data: {
10
54
  [key: string]: any;
@@ -13,3 +57,30 @@ export declare function hasMatch({ data, conditions, }: {
13
57
  [key: string]: any;
14
58
  }[] | undefined;
15
59
  }): Promise<boolean>;
60
+ /**
61
+ * Get [limit] documents from [cursor].
62
+ *
63
+ * [cursor]から[limit]個のドキュメントを取得します。
64
+ *
65
+ * @param query
66
+ * Specifies a reference to a Firestore collection.
67
+ *
68
+ * Firestoreのコレクションのリファレンスを指定します。
69
+ *
70
+ * @param limit
71
+ * Specifies the number of documents to be retrieved.
72
+ *
73
+ * 取得するドキュメントの数を指定します。
74
+ *
75
+ * @param cursor
76
+ * Specifies the document to start retrieving from.
77
+ *
78
+ * 取得を開始するドキュメントを指定します。
79
+ *
80
+ * @returns
81
+ */
82
+ export declare function cursor({ query, limit, cursor, }: {
83
+ query: admin.firestore.Query<admin.firestore.DocumentData, admin.firestore.DocumentData>;
84
+ limit: number;
85
+ cursor: FirebaseFirestore.QueryDocumentSnapshot | undefined | null;
86
+ }): admin.firestore.Query<admin.firestore.DocumentData, admin.firestore.DocumentData>;
@@ -32,8 +32,28 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
32
32
  });
33
33
  };
34
34
  Object.defineProperty(exports, "__esModule", { value: true });
35
- exports.hasMatch = exports.where = void 0;
35
+ exports.cursor = exports.hasMatch = exports.where = void 0;
36
36
  const admin = __importStar(require("firebase-admin"));
37
+ /**
38
+ * Create a filter for loading Firestore collections.
39
+ *
40
+ * Firestoreのコレクションをロードする際のフィルターを作成します。
41
+ *
42
+ * @param query
43
+ * Specifies a reference to a Firestore collection.
44
+ *
45
+ * Firestoreのコレクションのリファレンスを指定します。
46
+ *
47
+ * @param wheres
48
+ * Specifies the filter to be applied to the collection.
49
+ *
50
+ * コレクションに適用するフィルターを指定します。
51
+ *
52
+ * @returns
53
+ * Returns a Firestore query with the specified filter.
54
+ *
55
+ * 指定されたフィルターを持つFirestoreのクエリを返します。
56
+ */
37
57
  function where({ query, wheres, }) {
38
58
  if (!wheres) {
39
59
  return query;
@@ -41,7 +61,7 @@ function where({ query, wheres, }) {
41
61
  for (let w of wheres) {
42
62
  const type = w["type"];
43
63
  const key = w["key"];
44
- const value = w["key"];
64
+ const value = w["value"];
45
65
  if (type === undefined || key === undefined || type === null || key === null) {
46
66
  continue;
47
67
  }
@@ -89,6 +109,30 @@ function where({ query, wheres, }) {
89
109
  return query;
90
110
  }
91
111
  exports.where = where;
112
+ /**
113
+ * Judges whether all the conditions in [conditons] match the document data in [data].
114
+ *
115
+ * If a reference is included in [data], the document is retrieved recursively and the condition is determined.
116
+ *
117
+ * [data]のドキュメントデータに対して、[conditions]の条件が全て一致するかどうかを判定します。
118
+ *
119
+ * [data]の中にリファレンスが含まれている場合、再帰的にドキュメントを取得し条件を判定します。
120
+ *
121
+ * @param data
122
+ * Target document data.
123
+ *
124
+ * 対象となるドキュメントデータ。
125
+ *
126
+ * @param conditions
127
+ * Conditions to be matched.
128
+ *
129
+ * 一致させる条件。
130
+ *
131
+ * @returns
132
+ * Returns true if all conditions match, false otherwise.
133
+ *
134
+ * 全ての条件が一致する場合はtrue、それ以外はfalseを返します。
135
+ */
92
136
  function hasMatch(_a) {
93
137
  return __awaiter(this, arguments, void 0, function* ({ data, conditions, }) {
94
138
  if (!conditions) {
@@ -97,7 +141,7 @@ function hasMatch(_a) {
97
141
  for (let c of conditions) {
98
142
  const type = c["type"];
99
143
  const key = c["key"];
100
- const value = c["key"];
144
+ const value = c["value"];
101
145
  if (type === undefined || key === undefined || type === null || key === null) {
102
146
  continue;
103
147
  }
@@ -210,6 +254,35 @@ function hasMatch(_a) {
210
254
  });
211
255
  }
212
256
  exports.hasMatch = hasMatch;
257
+ /**
258
+ * Get [limit] documents from [cursor].
259
+ *
260
+ * [cursor]から[limit]個のドキュメントを取得します。
261
+ *
262
+ * @param query
263
+ * Specifies a reference to a Firestore collection.
264
+ *
265
+ * Firestoreのコレクションのリファレンスを指定します。
266
+ *
267
+ * @param limit
268
+ * Specifies the number of documents to be retrieved.
269
+ *
270
+ * 取得するドキュメントの数を指定します。
271
+ *
272
+ * @param cursor
273
+ * Specifies the document to start retrieving from.
274
+ *
275
+ * 取得を開始するドキュメントを指定します。
276
+ *
277
+ * @returns
278
+ */
279
+ function cursor({ query, limit, cursor, }) {
280
+ if (!cursor) {
281
+ return query.limit(limit);
282
+ }
283
+ return query.startAfter(cursor).limit(limit);
284
+ }
285
+ exports.cursor = cursor;
213
286
  function _isObject(obj) {
214
287
  return typeof obj === "object" && obj !== null;
215
288
  }
@@ -1 +1 @@
1
- {"version":3,"file":"firestore.js","sourceRoot":"","sources":["../../../src/lib/functions/firestore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"firestore.js","sourceRoot":"","sources":["../../../src/lib/functions/firestore.ts"],"names":[],"mappings":"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"}
@@ -53,7 +53,7 @@
53
53
  *
54
54
  * 通知対象のトークンを取得する際のフィールドのキーを指定します。
55
55
  *
56
- * @param targetWhere
56
+ * @param targetWheres
57
57
  * Specify the conditions for retrieving the collections to be notified.
58
58
  *
59
59
  * 通知対象のコレクションを取得する際の条件を指定します。
@@ -63,7 +63,7 @@
63
63
  *
64
64
  * データを通知対象とする条件を指定します。
65
65
  */
66
- export declare function sendNotification({ title, body, data, channelId, token, topic, badgeCount, sound, targetCollectionPath, targetTokenFieldKey, targetWhere, targetConditions, }: {
66
+ export declare function sendNotification({ title, body, data, channelId, token, topic, badgeCount, sound, targetCollectionPath, targetTokenFieldKey, targetWheres, targetConditions, }: {
67
67
  title: string;
68
68
  body: string;
69
69
  channelId?: string | undefined | null;
@@ -76,7 +76,7 @@ export declare function sendNotification({ title, body, data, channelId, token,
76
76
  sound?: string | undefined | null;
77
77
  targetCollectionPath?: string | undefined | null;
78
78
  targetTokenFieldKey?: string | undefined | null;
79
- targetWhere?: {
79
+ targetWheres?: {
80
80
  [key: string]: string;
81
81
  }[] | undefined;
82
82
  targetConditions?: {
@@ -92,7 +92,7 @@ const utils_1 = require("../utils");
92
92
  *
93
93
  * 通知対象のトークンを取得する際のフィールドのキーを指定します。
94
94
  *
95
- * @param targetWhere
95
+ * @param targetWheres
96
96
  * Specify the conditions for retrieving the collections to be notified.
97
97
  *
98
98
  * 通知対象のコレクションを取得する際の条件を指定します。
@@ -103,7 +103,7 @@ const utils_1 = require("../utils");
103
103
  * データを通知対象とする条件を指定します。
104
104
  */
105
105
  function sendNotification(_a) {
106
- return __awaiter(this, arguments, void 0, function* ({ title, body, data, channelId, token, topic, badgeCount, sound, targetCollectionPath, targetTokenFieldKey, targetWhere, targetConditions, }) {
106
+ return __awaiter(this, arguments, void 0, function* ({ title, body, data, channelId, token, topic, badgeCount, sound, targetCollectionPath, targetTokenFieldKey, targetWheres, targetConditions, }) {
107
107
  const res = {};
108
108
  try {
109
109
  if ((token === undefined || token === null) && (topic === undefined || topic === null) && (targetCollectionPath === undefined || targetCollectionPath === null)) {
@@ -229,32 +229,40 @@ function sendNotification(_a) {
229
229
  const firestoreInstance = admin.firestore();
230
230
  const collectionRef = firestore.where({
231
231
  query: firestoreInstance.collection(targetCollectionPath),
232
- wheres: targetWhere,
232
+ wheres: targetWheres,
233
233
  });
234
234
  const tokens = [];
235
- const collection = yield collectionRef.get();
236
- for (let doc of collection.docs) {
237
- const data = doc.data();
238
- if (!(yield firestore.hasMatch({ data, conditions: targetConditions }))) {
239
- continue;
235
+ let cursor = null;
236
+ let collection = null;
237
+ do {
238
+ collection = yield firestore.cursor({ query: collectionRef, limit: 500, cursor: cursor }).get();
239
+ for (let doc of collection.docs) {
240
+ const data = doc.data();
241
+ if (!(yield firestore.hasMatch({ data, conditions: targetConditions }))) {
242
+ continue;
243
+ }
244
+ const token = data[targetTokenFieldKey];
245
+ if (typeof token === "string") {
246
+ tokens.push(token);
247
+ }
248
+ else if (Array.isArray(token)) {
249
+ tokens.push(...token);
250
+ }
240
251
  }
241
- const token = data[targetTokenFieldKey];
242
- if (typeof token === "string") {
243
- tokens.push(token);
244
- }
245
- else if (Array.isArray(token)) {
246
- tokens.push(...token);
252
+ yield sendNotification({
253
+ title: title,
254
+ body: body,
255
+ data: data,
256
+ channelId: channelId,
257
+ token: tokens,
258
+ badgeCount: badgeCount,
259
+ sound: sound,
260
+ });
261
+ if (collection.docs.length < 500) {
262
+ break;
247
263
  }
248
- }
249
- yield sendNotification({
250
- title: title,
251
- body: body,
252
- data: data,
253
- channelId: channelId,
254
- token: tokens,
255
- badgeCount: badgeCount,
256
- sound: sound,
257
- });
264
+ cursor = collection.docs[collection.docs.length - 1];
265
+ } while (collection.docs.length >= 500);
258
266
  }
259
267
  }
260
268
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"send_notification.js","sourceRoot":"","sources":["../../../src/lib/functions/send_notification.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"send_notification.js","sourceRoot":"","sources":["../../../src/lib/functions/send_notification.ts"],"names":[],"mappings":"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"}
@@ -109,6 +109,31 @@ export interface PathFunctionsOptions extends FunctionsOptions {
109
109
  */
110
110
  region?: string | null;
111
111
  }
112
+ /**
113
+ * Specifies the options for the process.
114
+ *
115
+ * 処理のオプションを指定します。
116
+ */
117
+ export interface RelationPathFunctionsOptions extends FunctionsOptions {
118
+ /**
119
+ * Specify the path to the target database.
120
+ *
121
+ * 対象のデータベースのパスを指定します。
122
+ */
123
+ path?: string | undefined | null;
124
+ /**
125
+ *
126
+ * @param path
127
+ * @returns
128
+ */
129
+ relation?: (path: string) => string | undefined | null;
130
+ /**
131
+ * Specifies an alternate region.
132
+ *
133
+ * 代替のリージョンを指定します。
134
+ */
135
+ region?: string | null;
136
+ }
112
137
  /**
113
138
  * Specifies the options for the process.
114
139
  *
@@ -192,4 +217,10 @@ export interface FunctionsOptions {
192
217
  * concurrencyを指定します。
193
218
  */
194
219
  concurrency?: number | undefined;
220
+ /**
221
+ * Change the method name to something you prefer.
222
+ *
223
+ * メソッド名をお好みのものに変更します。
224
+ */
225
+ name?: string | undefined;
195
226
  }
@@ -21,7 +21,8 @@ class FunctionsBase {
21
21
  * `build`にてFirebaseFunctionsを生成するためのコードを記述します。
22
22
  */
23
23
  constructor({ id, func, data = {}, options, }) {
24
- this.id = id !== null && id !== void 0 ? id : "";
24
+ var _a, _b;
25
+ this.id = (_b = (_a = options === null || options === void 0 ? void 0 : options.name) !== null && _a !== void 0 ? _a : id) !== null && _b !== void 0 ? _b : "";
25
26
  this.func = func;
26
27
  this.data = data !== null && data !== void 0 ? data : {};
27
28
  this.options = options !== null && options !== void 0 ? options : {
@@ -1 +1 @@
1
- {"version":3,"file":"functions_base.js","sourceRoot":"","sources":["../../../src/lib/src/functions_base.ts"],"names":[],"mappings":";;;AAGA;;;;;;;;GAQG;AACH,MAAsB,aAAa;IAC/B;;;;;;;;OAQG;IACH,YAAY,EACR,EAAE,EACF,IAAI,EACJ,IAAI,GAAG,EAAE,EACT,OAAO,GAUV;QACG,IAAI,CAAC,EAAE,GAAG,EAAE,aAAF,EAAE,cAAF,EAAE,GAAI,EAAE,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,EAAE,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI;YACtB,cAAc,EAAE,EAAE;YAClB,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,CAAC;YACf,WAAW,EAAE,EAAE;YACf,YAAY,EAAE,GAAG;SACpB,CAAC;IACN,CAAC;CA0CJ;AA7ED,sCA6EC"}
1
+ {"version":3,"file":"functions_base.js","sourceRoot":"","sources":["../../../src/lib/src/functions_base.ts"],"names":[],"mappings":";;;AAGA;;;;;;;;GAQG;AACH,MAAsB,aAAa;IAC/B;;;;;;;;OAQG;IACH,YAAY,EACR,EAAE,EACF,IAAI,EACJ,IAAI,GAAG,EAAE,EACT,OAAO,GAUV;;QACG,IAAI,CAAC,EAAE,GAAG,MAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,mCAAI,EAAE,mCAAI,EAAE,CAAC;QACpC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,EAAE,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI;YACtB,cAAc,EAAE,EAAE;YAClB,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,CAAC;YACf,WAAW,EAAE,EAAE;YACf,YAAY,EAAE,GAAG;SACpB,CAAC;IACN,CAAC;CA0CJ;AA7ED,sCA6EC"}
@@ -1,5 +1,5 @@
1
1
  import { FunctionsBase } from "./functions_base";
2
- export { FunctionsOptions, SchedulerFunctionsOptions, PubsubFunctionsOptions, PathFunctionsOptions } from "./functions_base";
2
+ export { FunctionsOptions, SchedulerFunctionsOptions, PubsubFunctionsOptions, PathFunctionsOptions, RelationPathFunctionsOptions } from "./functions_base";
3
3
  /**
4
4
  * Define Function data for FirebaseFunctions.
5
5
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mathrunet/masamune",
3
- "version": "2.5.0",
3
+ "version": "2.6.1",
4
4
  "description": "Manages packages for the server portion (NodeJS) of the Masamune framework.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",