@mathrunet/masamune 2.4.4 → 2.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (152) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/functions/algolia.js +1 -1
  3. package/dist/functions/algolia.js.map +1 -1
  4. package/dist/functions/consumable_verify_android.js +2 -2
  5. package/dist/functions/consumable_verify_android.js.map +1 -1
  6. package/dist/functions/consumable_verify_ios.js +2 -2
  7. package/dist/functions/consumable_verify_ios.js.map +1 -1
  8. package/dist/functions/delete_documents.d.ts +1 -0
  9. package/dist/functions/delete_documents.js +75 -0
  10. package/dist/functions/delete_documents.js.map +1 -0
  11. package/dist/functions/gmail.js +1 -1
  12. package/dist/functions/gmail.js.map +1 -1
  13. package/dist/functions/nonconsumable_verify_android.js +2 -2
  14. package/dist/functions/nonconsumable_verify_android.js.map +1 -1
  15. package/dist/functions/nonconsumable_verify_ios.js +2 -2
  16. package/dist/functions/nonconsumable_verify_ios.js.map +1 -1
  17. package/dist/functions/purchase_webhook_android.js +1 -1
  18. package/dist/functions/purchase_webhook_android.js.map +1 -1
  19. package/dist/functions/scheduler.js +24 -3
  20. package/dist/functions/scheduler.js.map +1 -1
  21. package/dist/functions/send_grid.js +1 -1
  22. package/dist/functions/send_grid.js.map +1 -1
  23. package/dist/functions/send_notification.js +29 -1
  24. package/dist/functions/send_notification.js.map +1 -1
  25. package/dist/functions/stripe.d.ts +1 -1
  26. package/dist/functions/stripe.js +3 -3
  27. package/dist/functions/stripe.js.map +1 -1
  28. package/dist/functions/stripe_webhook_secure.d.ts +1 -1
  29. package/dist/functions/stripe_webhook_secure.js +1 -1
  30. package/dist/functions/stripe_webhook_secure.js.map +1 -1
  31. package/dist/functions/subscription_verify_android.js +2 -2
  32. package/dist/functions/subscription_verify_android.js.map +1 -1
  33. package/dist/functions/subscription_verify_ios.js +2 -2
  34. package/dist/functions/subscription_verify_ios.js.map +1 -1
  35. package/dist/functions.d.ts +10 -4
  36. package/dist/functions.js +10 -4
  37. package/dist/functions.js.map +1 -1
  38. package/dist/index.d.ts +10 -10
  39. package/dist/index.js +9 -9
  40. package/dist/index.js.map +1 -1
  41. package/dist/lib/exntensions/string.extension.d.ts +179 -0
  42. package/dist/lib/exntensions/string.extension.js +190 -0
  43. package/dist/lib/exntensions/string.extension.js.map +1 -0
  44. package/dist/lib/functions/delete_documents.d.ts +31 -0
  45. package/dist/lib/functions/delete_documents.js +104 -0
  46. package/dist/lib/functions/delete_documents.js.map +1 -0
  47. package/dist/lib/functions/firestore.d.ts +86 -0
  48. package/dist/lib/functions/firestore.js +289 -0
  49. package/dist/lib/functions/firestore.js.map +1 -0
  50. package/dist/lib/functions/gmail.d.ts +39 -0
  51. package/dist/lib/functions/gmail.js +65 -0
  52. package/dist/lib/functions/gmail.js.map +1 -0
  53. package/dist/lib/functions/send_grid.d.ts +33 -0
  54. package/dist/lib/functions/send_grid.js +58 -0
  55. package/dist/lib/functions/send_grid.js.map +1 -0
  56. package/dist/lib/functions/send_notification.d.ts +87 -0
  57. package/dist/lib/functions/send_notification.js +278 -0
  58. package/dist/lib/functions/send_notification.js.map +1 -0
  59. package/dist/lib/functions/update_subscription.d.ts +83 -0
  60. package/dist/lib/functions/update_subscription.js +143 -0
  61. package/dist/lib/functions/update_subscription.js.map +1 -0
  62. package/dist/lib/functions/update_unlock.d.ts +13 -0
  63. package/dist/lib/functions/update_unlock.js +64 -0
  64. package/dist/lib/functions/update_unlock.js.map +1 -0
  65. package/dist/lib/functions/update_wallet.d.ts +19 -0
  66. package/dist/lib/functions/update_wallet.js +70 -0
  67. package/dist/lib/functions/update_wallet.js.map +1 -0
  68. package/dist/lib/functions/verify_android.d.ts +50 -0
  69. package/dist/lib/functions/verify_android.js +121 -0
  70. package/dist/lib/functions/verify_android.js.map +1 -0
  71. package/dist/lib/functions/verify_ios.d.ts +26 -0
  72. package/dist/lib/functions/verify_ios.js +110 -0
  73. package/dist/lib/functions/verify_ios.js.map +1 -0
  74. package/dist/lib/model_field_value/converters/firestore_basic_converter.d.ts +20 -0
  75. package/dist/lib/model_field_value/converters/firestore_basic_converter.js +25 -0
  76. package/dist/lib/model_field_value/converters/firestore_basic_converter.js.map +1 -0
  77. package/dist/lib/model_field_value/converters/firestore_enum_converter.d.ts +20 -0
  78. package/dist/lib/model_field_value/converters/firestore_enum_converter.js +25 -0
  79. package/dist/lib/model_field_value/converters/firestore_enum_converter.js.map +1 -0
  80. package/dist/lib/model_field_value/converters/firestore_model_command_base_converter.d.ts +20 -0
  81. package/dist/lib/model_field_value/converters/firestore_model_command_base_converter.js +38 -0
  82. package/dist/lib/model_field_value/converters/firestore_model_command_base_converter.js.map +1 -0
  83. package/dist/lib/model_field_value/converters/firestore_model_counter_converter.d.ts +20 -0
  84. package/dist/lib/model_field_value/converters/firestore_model_counter_converter.js +78 -0
  85. package/dist/lib/model_field_value/converters/firestore_model_counter_converter.js.map +1 -0
  86. package/dist/lib/model_field_value/converters/firestore_model_date_converter.d.ts +20 -0
  87. package/dist/lib/model_field_value/converters/firestore_model_date_converter.js +95 -0
  88. package/dist/lib/model_field_value/converters/firestore_model_date_converter.js.map +1 -0
  89. package/dist/lib/model_field_value/converters/firestore_model_geo_value_converter.d.ts +20 -0
  90. package/dist/lib/model_field_value/converters/firestore_model_geo_value_converter.js +77 -0
  91. package/dist/lib/model_field_value/converters/firestore_model_geo_value_converter.js.map +1 -0
  92. package/dist/lib/model_field_value/converters/firestore_model_image_uri_converter.d.ts +20 -0
  93. package/dist/lib/model_field_value/converters/firestore_model_image_uri_converter.js +74 -0
  94. package/dist/lib/model_field_value/converters/firestore_model_image_uri_converter.js.map +1 -0
  95. package/dist/lib/model_field_value/converters/firestore_model_locale_converter.d.ts +20 -0
  96. package/dist/lib/model_field_value/converters/firestore_model_locale_converter.js +74 -0
  97. package/dist/lib/model_field_value/converters/firestore_model_locale_converter.js.map +1 -0
  98. package/dist/lib/model_field_value/converters/firestore_model_localized_value_converter.d.ts +20 -0
  99. package/dist/lib/model_field_value/converters/firestore_model_localized_value_converter.js +36 -0
  100. package/dist/lib/model_field_value/converters/firestore_model_localized_value_converter.js.map +1 -0
  101. package/dist/lib/model_field_value/converters/firestore_model_ref_converter.d.ts +20 -0
  102. package/dist/lib/model_field_value/converters/firestore_model_ref_converter.js +60 -0
  103. package/dist/lib/model_field_value/converters/firestore_model_ref_converter.js.map +1 -0
  104. package/dist/lib/model_field_value/converters/firestore_model_search_converter.d.ts +20 -0
  105. package/dist/lib/model_field_value/converters/firestore_model_search_converter.js +36 -0
  106. package/dist/lib/model_field_value/converters/firestore_model_search_converter.js.map +1 -0
  107. package/dist/lib/model_field_value/converters/firestore_model_timestamp_converter.d.ts +20 -0
  108. package/dist/lib/model_field_value/converters/firestore_model_timestamp_converter.js +95 -0
  109. package/dist/lib/model_field_value/converters/firestore_model_timestamp_converter.js.map +1 -0
  110. package/dist/lib/model_field_value/converters/firestore_model_token_converter.d.ts +20 -0
  111. package/dist/lib/model_field_value/converters/firestore_model_token_converter.js +36 -0
  112. package/dist/lib/model_field_value/converters/firestore_model_token_converter.js.map +1 -0
  113. package/dist/lib/model_field_value/converters/firestore_model_uri_converter.d.ts +20 -0
  114. package/dist/lib/model_field_value/converters/firestore_model_uri_converter.js +74 -0
  115. package/dist/lib/model_field_value/converters/firestore_model_uri_converter.js.map +1 -0
  116. package/dist/lib/model_field_value/converters/firestore_model_video_uri_converter.d.ts +20 -0
  117. package/dist/lib/model_field_value/converters/firestore_model_video_uri_converter.js +74 -0
  118. package/dist/lib/model_field_value/converters/firestore_model_video_uri_converter.js.map +1 -0
  119. package/dist/lib/model_field_value/converters/firestore_null_converter.d.ts +20 -0
  120. package/dist/lib/model_field_value/converters/firestore_null_converter.js +25 -0
  121. package/dist/lib/model_field_value/converters/firestore_null_converter.js.map +1 -0
  122. package/dist/lib/model_field_value/default_firestore_model_field_value_converter.d.ts +8 -0
  123. package/dist/lib/model_field_value/default_firestore_model_field_value_converter.js +44 -0
  124. package/dist/lib/model_field_value/default_firestore_model_field_value_converter.js.map +1 -0
  125. package/dist/lib/model_field_value/firestore_model_field_value_converter.d.ts +140 -0
  126. package/dist/lib/model_field_value/firestore_model_field_value_converter.js +127 -0
  127. package/dist/lib/model_field_value/firestore_model_field_value_converter.js.map +1 -0
  128. package/dist/lib/model_field_value/model_field_value.d.ts +82 -0
  129. package/dist/lib/model_field_value/model_field_value.js +104 -0
  130. package/dist/lib/model_field_value/model_field_value.js.map +1 -0
  131. package/dist/lib/src/call_process_function_base.d.ts +39 -0
  132. package/dist/lib/src/call_process_function_base.js +69 -0
  133. package/dist/lib/src/call_process_function_base.js.map +1 -0
  134. package/dist/lib/src/functions_base.d.ts +226 -0
  135. package/dist/lib/src/functions_base.js +38 -0
  136. package/dist/lib/src/functions_base.js.map +1 -0
  137. package/dist/lib/src/functions_data.d.ts +10 -0
  138. package/dist/lib/src/functions_data.js +19 -0
  139. package/dist/lib/src/functions_data.js.map +1 -0
  140. package/dist/lib/src/request_process_function_base.d.ts +39 -0
  141. package/dist/lib/src/request_process_function_base.js +69 -0
  142. package/dist/lib/src/request_process_function_base.js.map +1 -0
  143. package/dist/lib/src/schedule_process_function_base.d.ts +33 -0
  144. package/dist/lib/src/schedule_process_function_base.js +70 -0
  145. package/dist/lib/src/schedule_process_function_base.js.map +1 -0
  146. package/dist/lib/src/sql_api_base.d.ts +185 -0
  147. package/dist/lib/src/sql_api_base.js +94 -0
  148. package/dist/lib/src/sql_api_base.js.map +1 -0
  149. package/dist/lib/utils.d.ts +21 -0
  150. package/dist/lib/utils.js +32 -1
  151. package/dist/lib/utils.js.map +1 -1
  152. package/package.json +1 -1
@@ -0,0 +1,289 @@
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.cursor = exports.hasMatch = exports.where = void 0;
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
+ */
57
+ function where({ query, wheres, }) {
58
+ if (!wheres) {
59
+ return query;
60
+ }
61
+ for (let w of wheres) {
62
+ const type = w["type"];
63
+ const key = w["key"];
64
+ const value = w["key"];
65
+ if (type === undefined || key === undefined || type === null || key === null) {
66
+ continue;
67
+ }
68
+ switch (type) {
69
+ case "equalTo":
70
+ query = query.where(key, "==", value);
71
+ break;
72
+ case "notEqualTo":
73
+ query = query.where(key, "!=", value);
74
+ break;
75
+ case "lessThan":
76
+ query = query.where(key, "<", value);
77
+ break;
78
+ case "greaterThan":
79
+ query = query.where(key, ">", value);
80
+ break;
81
+ case "lessThanOrEqualTo":
82
+ query = query.where(key, "<=", value);
83
+ break;
84
+ case "greaterThanOrEqualTo":
85
+ query = query.where(key, ">=", value);
86
+ break;
87
+ case "arrayContains":
88
+ query = query.where(key, "array-contains", value);
89
+ break;
90
+ case "arrayContainsAny":
91
+ query = query.where(key, "array-contains-any", value);
92
+ break;
93
+ case "whereIn":
94
+ query = query.where(key, "in", value);
95
+ break;
96
+ case "whereNotIn":
97
+ query = query.where(key, "not-in", value);
98
+ break;
99
+ case "isNull":
100
+ query = query.where(key, "==", null);
101
+ break;
102
+ case "isNotNull":
103
+ query = query.where(key, "!=", null);
104
+ break;
105
+ default:
106
+ break;
107
+ }
108
+ }
109
+ return query;
110
+ }
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
+ */
136
+ function hasMatch(_a) {
137
+ return __awaiter(this, arguments, void 0, function* ({ data, conditions, }) {
138
+ if (!conditions) {
139
+ return true;
140
+ }
141
+ for (let c of conditions) {
142
+ const type = c["type"];
143
+ const key = c["key"];
144
+ const value = c["key"];
145
+ if (type === undefined || key === undefined || type === null || key === null) {
146
+ continue;
147
+ }
148
+ const source = data[key];
149
+ if (source instanceof admin.firestore.DocumentReference && _isObject(value)) {
150
+ const doc = yield source.get();
151
+ const data = doc.data();
152
+ const res = yield hasMatch({ data, conditions: [value] });
153
+ if (!res) {
154
+ return false;
155
+ }
156
+ continue;
157
+ }
158
+ switch (type) {
159
+ case "equalTo":
160
+ if (value === undefined || value === null) {
161
+ continue;
162
+ }
163
+ if (source !== value) {
164
+ return false;
165
+ }
166
+ break;
167
+ case "notEqualTo":
168
+ if (value === undefined || value === null) {
169
+ continue;
170
+ }
171
+ if (source === value) {
172
+ return false;
173
+ }
174
+ break;
175
+ case "lessThan":
176
+ if (value === undefined || value === null || typeof source !== "number" || typeof value !== "number") {
177
+ continue;
178
+ }
179
+ if (source >= value) {
180
+ return false;
181
+ }
182
+ break;
183
+ case "greaterThan":
184
+ if (value === undefined || value === null || typeof source !== "number" || typeof value !== "number") {
185
+ continue;
186
+ }
187
+ if (source <= value) {
188
+ return false;
189
+ }
190
+ break;
191
+ case "lessThanOrEqualTo":
192
+ if (value === undefined || value === null || typeof source !== "number" || typeof value !== "number") {
193
+ continue;
194
+ }
195
+ if (source > value) {
196
+ return false;
197
+ }
198
+ break;
199
+ case "greaterThanOrEqualTo":
200
+ if (value === undefined || value === null || typeof source !== "number" || typeof value !== "number") {
201
+ continue;
202
+ }
203
+ if (source < value) {
204
+ return false;
205
+ }
206
+ break;
207
+ case "arrayContains":
208
+ if (value === undefined || value === null || !Array.isArray(source)) {
209
+ continue;
210
+ }
211
+ if (!source.includes(value)) {
212
+ return false;
213
+ }
214
+ break;
215
+ case "arrayContainsAny":
216
+ if (value === undefined || value === null || !Array.isArray(source) || !Array.isArray(value)) {
217
+ continue;
218
+ }
219
+ if (!source.some(v => value.includes(v))) {
220
+ return false;
221
+ }
222
+ break;
223
+ case "whereIn":
224
+ if (value === undefined || value === null || !Array.isArray(value)) {
225
+ continue;
226
+ }
227
+ if (!value.includes(source)) {
228
+ return false;
229
+ }
230
+ break;
231
+ case "whereNotIn":
232
+ if (value === undefined || value === null || !Array.isArray(value)) {
233
+ continue;
234
+ }
235
+ if (value.includes(source)) {
236
+ return false;
237
+ }
238
+ break;
239
+ case "isNull":
240
+ if (source !== undefined && source !== null) {
241
+ return false;
242
+ }
243
+ break;
244
+ case "isNotNull":
245
+ if (!(source !== undefined && source !== null)) {
246
+ return false;
247
+ }
248
+ break;
249
+ default:
250
+ break;
251
+ }
252
+ }
253
+ return true;
254
+ });
255
+ }
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;
286
+ function _isObject(obj) {
287
+ return typeof obj === "object" && obj !== null;
288
+ }
289
+ //# sourceMappingURL=firestore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"firestore.js","sourceRoot":"","sources":["../../../src/lib/functions/firestore.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Send email via Gmail.
3
+ *
4
+ * Gmailでメールを送信します。
5
+ *
6
+ * @param {string} process.env.MAIL_GMAIL_ID
7
+ * Gmail user ID. Follow the steps below to obtain a Gmail user ID.
8
+ * 1. Press your icon in the upper right corner of the Google top screen and open "Manage Google Account".
9
+ * 2. open "Security" on the left side of the screen and open "App Password
10
+ * GmailのユーザーID。下記の手順で取得します。
11
+ * 1. Googleのトップ画面の画面右上の自分のアイコンを押下し、「Google アカウントを管理」を開く
12
+ * 2. 画面左の「セキュリティ」を開き、「アプリ パスワード」を開く
13
+ *
14
+ * @param {string} process.env.MAIL_GMAIL_PASSWORD
15
+ * Gmail user password. Enter the password obtained in the above procedure.
16
+ * Gmailのユーザーパスワード。上記の手順で取得したパスワードを入力します。
17
+ *
18
+ * @param {string} from
19
+ * Sender's email address.
20
+ * 送信元メールアドレス。
21
+ *
22
+ * @param {string} to
23
+ * Email address to be sent to.
24
+ * 送信先メールアドレス。
25
+ *
26
+ * @param {string} title
27
+ * Email Title.
28
+ * メールタイトル。
29
+ *
30
+ * @param {string} content
31
+ * Email content.
32
+ * メール本文。
33
+ */
34
+ export declare function send({ from, to, title, content, }: {
35
+ from: string;
36
+ to: string;
37
+ title: string;
38
+ content: string;
39
+ }): Promise<void>;
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.send = void 0;
13
+ const nodemailer_1 = require("nodemailer");
14
+ /**
15
+ * Send email via Gmail.
16
+ *
17
+ * Gmailでメールを送信します。
18
+ *
19
+ * @param {string} process.env.MAIL_GMAIL_ID
20
+ * Gmail user ID. Follow the steps below to obtain a Gmail user ID.
21
+ * 1. Press your icon in the upper right corner of the Google top screen and open "Manage Google Account".
22
+ * 2. open "Security" on the left side of the screen and open "App Password
23
+ * GmailのユーザーID。下記の手順で取得します。
24
+ * 1. Googleのトップ画面の画面右上の自分のアイコンを押下し、「Google アカウントを管理」を開く
25
+ * 2. 画面左の「セキュリティ」を開き、「アプリ パスワード」を開く
26
+ *
27
+ * @param {string} process.env.MAIL_GMAIL_PASSWORD
28
+ * Gmail user password. Enter the password obtained in the above procedure.
29
+ * Gmailのユーザーパスワード。上記の手順で取得したパスワードを入力します。
30
+ *
31
+ * @param {string} from
32
+ * Sender's email address.
33
+ * 送信元メールアドレス。
34
+ *
35
+ * @param {string} to
36
+ * Email address to be sent to.
37
+ * 送信先メールアドレス。
38
+ *
39
+ * @param {string} title
40
+ * Email Title.
41
+ * メールタイトル。
42
+ *
43
+ * @param {string} content
44
+ * Email content.
45
+ * メール本文。
46
+ */
47
+ function send(_a) {
48
+ return __awaiter(this, arguments, void 0, function* ({ from, to, title, content, }) {
49
+ const mailTransport = (0, nodemailer_1.createTransport)({
50
+ service: "gmail",
51
+ auth: {
52
+ user: process.env.MAIL_GMAIL_ID,
53
+ pass: process.env.MAIL_GMAIL_PASSWORD,
54
+ },
55
+ });
56
+ yield mailTransport.sendMail({
57
+ from: from,
58
+ to: to,
59
+ subject: title,
60
+ text: content,
61
+ });
62
+ });
63
+ }
64
+ exports.send = send;
65
+ //# sourceMappingURL=gmail.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gmail.js","sourceRoot":"","sources":["../../../src/lib/functions/gmail.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA2C;AAG3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,SAAsB,IAAI;yDAAC,EACzB,IAAI,EACJ,EAAE,EACF,KAAK,EACL,OAAO,GAMR;QACC,MAAM,aAAa,GAAG,IAAA,4BAAe,EAAC;YACpC,OAAO,EAAE,OAAO;YAChB,IAAI,EAAE;gBACJ,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa;gBAC/B,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB;aACtC;SACF,CAAC,CAAC;QACH,MAAM,aAAa,CAAC,QAAQ,CAAC;YAC3B,IAAI,EAAE,IAAI;YACV,EAAE,EAAE,EAAE;YACN,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,OAAO;SACd,CAAC,CAAC;IACL,CAAC;CAAA;AAxBD,oBAwBC"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Send mail through SendGrid.
3
+ *
4
+ * SendGridでメールを送信します。
5
+ *
6
+ * @param {string} process.env.MAIL_SENDGRID_APIKEY
7
+ * API key for SendGrid. Issue it according to the following procedure.
8
+ * https://mathru.notion.site/SendGrid-bb87b2ffa8174dbda944812f43856d6c
9
+ * SendGridのAPIキー。下記の手順で発行します。
10
+ * https://mathru.notion.site/SendGrid-bb87b2ffa8174dbda944812f43856d6c
11
+ *
12
+ * @param {string} from
13
+ * Sender's email address.
14
+ * 送信元メールアドレス。
15
+ *
16
+ * @param {string} to
17
+ * Email address to be sent to.
18
+ * 送信先メールアドレス。
19
+ *
20
+ * @param {string} title
21
+ * Email Title.
22
+ * メールタイトル。
23
+ *
24
+ * @param {string} content
25
+ * Email content.
26
+ * メール本文。
27
+ */
28
+ export declare function send({ from, to, title, content, }: {
29
+ from: string;
30
+ to: string;
31
+ title: string;
32
+ content: string;
33
+ }): Promise<void>;
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.send = void 0;
16
+ const mail_1 = __importDefault(require("@sendgrid/mail"));
17
+ /**
18
+ * Send mail through SendGrid.
19
+ *
20
+ * SendGridでメールを送信します。
21
+ *
22
+ * @param {string} process.env.MAIL_SENDGRID_APIKEY
23
+ * API key for SendGrid. Issue it according to the following procedure.
24
+ * https://mathru.notion.site/SendGrid-bb87b2ffa8174dbda944812f43856d6c
25
+ * SendGridのAPIキー。下記の手順で発行します。
26
+ * https://mathru.notion.site/SendGrid-bb87b2ffa8174dbda944812f43856d6c
27
+ *
28
+ * @param {string} from
29
+ * Sender's email address.
30
+ * 送信元メールアドレス。
31
+ *
32
+ * @param {string} to
33
+ * Email address to be sent to.
34
+ * 送信先メールアドレス。
35
+ *
36
+ * @param {string} title
37
+ * Email Title.
38
+ * メールタイトル。
39
+ *
40
+ * @param {string} content
41
+ * Email content.
42
+ * メール本文。
43
+ */
44
+ function send(_a) {
45
+ return __awaiter(this, arguments, void 0, function* ({ from, to, title, content, }) {
46
+ var _b;
47
+ mail_1.default.setApiKey((_b = process.env.MAIL_SENDGRID_APIKEY) !== null && _b !== void 0 ? _b : "");
48
+ const msg = {
49
+ to: to,
50
+ from: from,
51
+ subject: title,
52
+ text: content,
53
+ };
54
+ yield mail_1.default.send(msg);
55
+ });
56
+ }
57
+ exports.send = send;
58
+ //# sourceMappingURL=send_grid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"send_grid.js","sourceRoot":"","sources":["../../../src/lib/functions/send_grid.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,0DAAsC;AAEtC;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,SAAsB,IAAI;yDAAC,EACzB,IAAI,EACJ,EAAE,EACF,KAAK,EACL,OAAO,GAMR;;QACC,cAAQ,CAAC,SAAS,CAAC,MAAA,OAAO,CAAC,GAAG,CAAC,oBAAoB,mCAAI,EAAE,CAAC,CAAC;QAC3D,MAAM,GAAG,GAAG;YACV,EAAE,EAAE,EAAE;YACN,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,OAAO;SACd,CAAC;QACF,MAAM,cAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;CAAA;AAnBD,oBAmBC"}
@@ -0,0 +1,87 @@
1
+ /**
2
+ * Define the process for PUSH notification.
3
+ *
4
+ * PUSH通知を行うための処理を定義します。
5
+ *
6
+ * @param title
7
+ * The title of the notice should be listed.
8
+ *
9
+ * 通知タイトルを記載します。
10
+ *
11
+ * @param body
12
+ * The contents of the notice will be described.
13
+ *
14
+ * 通知内容を記載します。
15
+ *
16
+ * @param channel_id
17
+ * Describe ChannelId for Android.
18
+ *
19
+ * Android向けのChannelIdを記載します。
20
+ *
21
+ * @param data
22
+ * Specify the data to be placed on the notification.
23
+ *
24
+ * 通知に乗せるデータを指定します。
25
+ *
26
+ * @param token
27
+ * Specifies the FCM token.
28
+ *
29
+ * FCMトークンを指定します。
30
+ *
31
+ * @param topic
32
+ * Specifies the topic of the FCM.
33
+ *
34
+ * FCMのトピックを指定します。
35
+ *
36
+ * @param badgeCount
37
+ * Specifies the badge count of the notification.
38
+ *
39
+ * 通知のバッジカウントを指定します。
40
+ *
41
+ * @param sound
42
+ * Specifies the sound of the notification.
43
+ *
44
+ * 通知のサウンドを指定します。
45
+ *
46
+ * @param targetCollectionPath
47
+ * Specifies the path of the collection to be notified.
48
+ *
49
+ * 通知対象のコレクションのパスを指定します。
50
+ *
51
+ * @param targetTokenFieldKey
52
+ * Specifies the key of the field used to retrieve the token to be notified.
53
+ *
54
+ * 通知対象のトークンを取得する際のフィールドのキーを指定します。
55
+ *
56
+ * @param targetWheres
57
+ * Specify the conditions for retrieving the collections to be notified.
58
+ *
59
+ * 通知対象のコレクションを取得する際の条件を指定します。
60
+ *
61
+ * @param targetConditions
62
+ * Specify the conditions under which data is to be notified.
63
+ *
64
+ * データを通知対象とする条件を指定します。
65
+ */
66
+ export declare function sendNotification({ title, body, data, channelId, token, topic, badgeCount, sound, targetCollectionPath, targetTokenFieldKey, targetWheres, targetConditions, }: {
67
+ title: string;
68
+ body: string;
69
+ channelId?: string | undefined | null;
70
+ data?: {
71
+ [key: string]: string;
72
+ } | undefined;
73
+ token?: string | string[] | undefined | null;
74
+ topic?: string | undefined | null;
75
+ badgeCount?: number | undefined | null;
76
+ sound?: string | undefined | null;
77
+ targetCollectionPath?: string | undefined | null;
78
+ targetTokenFieldKey?: string | undefined | null;
79
+ targetWheres?: {
80
+ [key: string]: string;
81
+ }[] | undefined;
82
+ targetConditions?: {
83
+ [key: string]: string;
84
+ }[] | undefined;
85
+ }): Promise<{
86
+ [key: string]: any;
87
+ }>;