@mathrunet/masamune 3.6.0 → 3.8.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 (255) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/README.md +1 -1
  3. package/dist/functions/test.js +2 -2
  4. package/dist/functions/test.js.map +1 -1
  5. package/dist/functions.d.ts +2 -231
  6. package/dist/functions.js +2 -231
  7. package/dist/functions.js.map +1 -1
  8. package/dist/index.d.ts +4 -17
  9. package/dist/index.js +13 -15
  10. package/dist/index.js.map +1 -1
  11. package/package.json +10 -21
  12. package/.claude/settings.local.json +0 -12
  13. package/dist/functions/aggregate_model_firestore.d.ts +0 -1
  14. package/dist/functions/aggregate_model_firestore.js +0 -225
  15. package/dist/functions/aggregate_model_firestore.js.map +0 -1
  16. package/dist/functions/aggregation_model_firestore.d.ts +0 -1
  17. package/dist/functions/aggregation_model_firestore.js +0 -220
  18. package/dist/functions/aggregation_model_firestore.js.map +0 -1
  19. package/dist/functions/agora_cloud_recording.d.ts +0 -1
  20. package/dist/functions/agora_cloud_recording.js +0 -125
  21. package/dist/functions/agora_cloud_recording.js.map +0 -1
  22. package/dist/functions/agora_token.d.ts +0 -1
  23. package/dist/functions/agora_token.js +0 -144
  24. package/dist/functions/agora_token.js.map +0 -1
  25. package/dist/functions/algolia.d.ts +0 -1
  26. package/dist/functions/algolia.js +0 -145
  27. package/dist/functions/algolia.js.map +0 -1
  28. package/dist/functions/android_auth_code.d.ts +0 -1
  29. package/dist/functions/android_auth_code.js +0 -97
  30. package/dist/functions/android_auth_code.js.map +0 -1
  31. package/dist/functions/android_token.d.ts +0 -1
  32. package/dist/functions/android_token.js +0 -132
  33. package/dist/functions/android_token.js.map +0 -1
  34. package/dist/functions/collection_model_firestore.d.ts +0 -1
  35. package/dist/functions/collection_model_firestore.js +0 -222
  36. package/dist/functions/collection_model_firestore.js.map +0 -1
  37. package/dist/functions/consumable_verify_android.d.ts +0 -1
  38. package/dist/functions/consumable_verify_android.js +0 -172
  39. package/dist/functions/consumable_verify_android.js.map +0 -1
  40. package/dist/functions/consumable_verify_ios.d.ts +0 -1
  41. package/dist/functions/consumable_verify_ios.js +0 -136
  42. package/dist/functions/consumable_verify_ios.js.map +0 -1
  43. package/dist/functions/delete_documents.d.ts +0 -1
  44. package/dist/functions/delete_documents.js +0 -91
  45. package/dist/functions/delete_documents.js.map +0 -1
  46. package/dist/functions/delete_user.d.ts +0 -1
  47. package/dist/functions/delete_user.js +0 -87
  48. package/dist/functions/delete_user.js.map +0 -1
  49. package/dist/functions/document_model_firestore.d.ts +0 -1
  50. package/dist/functions/document_model_firestore.js +0 -218
  51. package/dist/functions/document_model_firestore.js.map +0 -1
  52. package/dist/functions/geocoding.d.ts +0 -1
  53. package/dist/functions/geocoding.js +0 -93
  54. package/dist/functions/geocoding.js.map +0 -1
  55. package/dist/functions/gmail.d.ts +0 -1
  56. package/dist/functions/gmail.js +0 -117
  57. package/dist/functions/gmail.js.map +0 -1
  58. package/dist/functions/google_token.d.ts +0 -1
  59. package/dist/functions/google_token.js +0 -100
  60. package/dist/functions/google_token.js.map +0 -1
  61. package/dist/functions/hls.d.ts +0 -1
  62. package/dist/functions/hls.js +0 -169
  63. package/dist/functions/hls.js.map +0 -1
  64. package/dist/functions/nonconsumable_verify_android.d.ts +0 -1
  65. package/dist/functions/nonconsumable_verify_android.js +0 -166
  66. package/dist/functions/nonconsumable_verify_android.js.map +0 -1
  67. package/dist/functions/nonconsumable_verify_ios.d.ts +0 -1
  68. package/dist/functions/nonconsumable_verify_ios.js +0 -130
  69. package/dist/functions/nonconsumable_verify_ios.js.map +0 -1
  70. package/dist/functions/openai_chat_gpt.d.ts +0 -1
  71. package/dist/functions/openai_chat_gpt.js +0 -117
  72. package/dist/functions/openai_chat_gpt.js.map +0 -1
  73. package/dist/functions/purchase_webhook_android.d.ts +0 -1
  74. package/dist/functions/purchase_webhook_android.js +0 -306
  75. package/dist/functions/purchase_webhook_android.js.map +0 -1
  76. package/dist/functions/purchase_webhook_ios.d.ts +0 -1
  77. package/dist/functions/purchase_webhook_ios.js +0 -182
  78. package/dist/functions/purchase_webhook_ios.js.map +0 -1
  79. package/dist/functions/scheduler.d.ts +0 -1
  80. package/dist/functions/scheduler.js +0 -144
  81. package/dist/functions/scheduler.js.map +0 -1
  82. package/dist/functions/send_grid.d.ts +0 -1
  83. package/dist/functions/send_grid.js +0 -111
  84. package/dist/functions/send_grid.js.map +0 -1
  85. package/dist/functions/send_notification.d.ts +0 -1
  86. package/dist/functions/send_notification.js +0 -207
  87. package/dist/functions/send_notification.js.map +0 -1
  88. package/dist/functions/storage_firebase.d.ts +0 -1
  89. package/dist/functions/storage_firebase.js +0 -286
  90. package/dist/functions/storage_firebase.js.map +0 -1
  91. package/dist/functions/stripe.d.ts +0 -1
  92. package/dist/functions/stripe.js +0 -1243
  93. package/dist/functions/stripe.js.map +0 -1
  94. package/dist/functions/stripe_webhook.d.ts +0 -1
  95. package/dist/functions/stripe_webhook.js +0 -605
  96. package/dist/functions/stripe_webhook.js.map +0 -1
  97. package/dist/functions/stripe_webhook_connect.d.ts +0 -1
  98. package/dist/functions/stripe_webhook_connect.js +0 -173
  99. package/dist/functions/stripe_webhook_connect.js.map +0 -1
  100. package/dist/functions/stripe_webhook_secure.d.ts +0 -1
  101. package/dist/functions/stripe_webhook_secure.js +0 -182
  102. package/dist/functions/stripe_webhook_secure.js.map +0 -1
  103. package/dist/functions/subscription_verify_android.d.ts +0 -1
  104. package/dist/functions/subscription_verify_android.js +0 -195
  105. package/dist/functions/subscription_verify_android.js.map +0 -1
  106. package/dist/functions/subscription_verify_ios.d.ts +0 -1
  107. package/dist/functions/subscription_verify_ios.js +0 -170
  108. package/dist/functions/subscription_verify_ios.js.map +0 -1
  109. package/dist/lib/api.d.ts +0 -185
  110. package/dist/lib/api.js +0 -172
  111. package/dist/lib/api.js.map +0 -1
  112. package/dist/lib/exntensions/string.extension.d.ts +0 -214
  113. package/dist/lib/exntensions/string.extension.js +0 -226
  114. package/dist/lib/exntensions/string.extension.js.map +0 -1
  115. package/dist/lib/functions/delete_documents.d.ts +0 -32
  116. package/dist/lib/functions/delete_documents.js +0 -111
  117. package/dist/lib/functions/delete_documents.js.map +0 -1
  118. package/dist/lib/functions/firestore.d.ts +0 -114
  119. package/dist/lib/functions/firestore.js +0 -347
  120. package/dist/lib/functions/firestore.js.map +0 -1
  121. package/dist/lib/functions/gmail.d.ts +0 -39
  122. package/dist/lib/functions/gmail.js +0 -64
  123. package/dist/lib/functions/gmail.js.map +0 -1
  124. package/dist/lib/functions/send_grid.d.ts +0 -33
  125. package/dist/lib/functions/send_grid.js +0 -57
  126. package/dist/lib/functions/send_grid.js.map +0 -1
  127. package/dist/lib/functions/send_notification.d.ts +0 -109
  128. package/dist/lib/functions/send_notification.js +0 -386
  129. package/dist/lib/functions/send_notification.js.map +0 -1
  130. package/dist/lib/functions/update_subscription.d.ts +0 -84
  131. package/dist/lib/functions/update_subscription.js +0 -150
  132. package/dist/lib/functions/update_subscription.js.map +0 -1
  133. package/dist/lib/functions/update_unlock.d.ts +0 -28
  134. package/dist/lib/functions/update_unlock.js +0 -84
  135. package/dist/lib/functions/update_unlock.js.map +0 -1
  136. package/dist/lib/functions/update_wallet.d.ts +0 -34
  137. package/dist/lib/functions/update_wallet.js +0 -91
  138. package/dist/lib/functions/update_wallet.js.map +0 -1
  139. package/dist/lib/functions/verify_android.d.ts +0 -50
  140. package/dist/lib/functions/verify_android.js +0 -130
  141. package/dist/lib/functions/verify_android.js.map +0 -1
  142. package/dist/lib/functions/verify_ios.d.ts +0 -73
  143. package/dist/lib/functions/verify_ios.js +0 -227
  144. package/dist/lib/functions/verify_ios.js.map +0 -1
  145. package/dist/lib/model_field_value/converters/firestore_basic_converter.d.ts +0 -25
  146. package/dist/lib/model_field_value/converters/firestore_basic_converter.js +0 -28
  147. package/dist/lib/model_field_value/converters/firestore_basic_converter.js.map +0 -1
  148. package/dist/lib/model_field_value/converters/firestore_enum_converter.d.ts +0 -25
  149. package/dist/lib/model_field_value/converters/firestore_enum_converter.js +0 -28
  150. package/dist/lib/model_field_value/converters/firestore_enum_converter.js.map +0 -1
  151. package/dist/lib/model_field_value/converters/firestore_model_command_base_converter.d.ts +0 -25
  152. package/dist/lib/model_field_value/converters/firestore_model_command_base_converter.js +0 -58
  153. package/dist/lib/model_field_value/converters/firestore_model_command_base_converter.js.map +0 -1
  154. package/dist/lib/model_field_value/converters/firestore_model_counter_converter.d.ts +0 -25
  155. package/dist/lib/model_field_value/converters/firestore_model_counter_converter.js +0 -177
  156. package/dist/lib/model_field_value/converters/firestore_model_counter_converter.js.map +0 -1
  157. package/dist/lib/model_field_value/converters/firestore_model_date_converter.d.ts +0 -26
  158. package/dist/lib/model_field_value/converters/firestore_model_date_converter.js +0 -174
  159. package/dist/lib/model_field_value/converters/firestore_model_date_converter.js.map +0 -1
  160. package/dist/lib/model_field_value/converters/firestore_model_date_range_converter.d.ts +0 -25
  161. package/dist/lib/model_field_value/converters/firestore_model_date_range_converter.js +0 -183
  162. package/dist/lib/model_field_value/converters/firestore_model_date_range_converter.js.map +0 -1
  163. package/dist/lib/model_field_value/converters/firestore_model_geo_value_converter.d.ts +0 -25
  164. package/dist/lib/model_field_value/converters/firestore_model_geo_value_converter.js +0 -163
  165. package/dist/lib/model_field_value/converters/firestore_model_geo_value_converter.js.map +0 -1
  166. package/dist/lib/model_field_value/converters/firestore_model_image_uri_converter.d.ts +0 -25
  167. package/dist/lib/model_field_value/converters/firestore_model_image_uri_converter.js +0 -134
  168. package/dist/lib/model_field_value/converters/firestore_model_image_uri_converter.js.map +0 -1
  169. package/dist/lib/model_field_value/converters/firestore_model_locale_converter.d.ts +0 -25
  170. package/dist/lib/model_field_value/converters/firestore_model_locale_converter.js +0 -163
  171. package/dist/lib/model_field_value/converters/firestore_model_locale_converter.js.map +0 -1
  172. package/dist/lib/model_field_value/converters/firestore_model_localized_value_converter.d.ts +0 -25
  173. package/dist/lib/model_field_value/converters/firestore_model_localized_value_converter.js +0 -89
  174. package/dist/lib/model_field_value/converters/firestore_model_localized_value_converter.js.map +0 -1
  175. package/dist/lib/model_field_value/converters/firestore_model_ref_converter.d.ts +0 -25
  176. package/dist/lib/model_field_value/converters/firestore_model_ref_converter.js +0 -113
  177. package/dist/lib/model_field_value/converters/firestore_model_ref_converter.js.map +0 -1
  178. package/dist/lib/model_field_value/converters/firestore_model_search_converter.d.ts +0 -25
  179. package/dist/lib/model_field_value/converters/firestore_model_search_converter.js +0 -91
  180. package/dist/lib/model_field_value/converters/firestore_model_search_converter.js.map +0 -1
  181. package/dist/lib/model_field_value/converters/firestore_model_time_converter.d.ts +0 -26
  182. package/dist/lib/model_field_value/converters/firestore_model_time_converter.js +0 -191
  183. package/dist/lib/model_field_value/converters/firestore_model_time_converter.js.map +0 -1
  184. package/dist/lib/model_field_value/converters/firestore_model_time_range_converter.d.ts +0 -25
  185. package/dist/lib/model_field_value/converters/firestore_model_time_range_converter.js +0 -183
  186. package/dist/lib/model_field_value/converters/firestore_model_time_range_converter.js.map +0 -1
  187. package/dist/lib/model_field_value/converters/firestore_model_timestamp_converter.d.ts +0 -26
  188. package/dist/lib/model_field_value/converters/firestore_model_timestamp_converter.js +0 -246
  189. package/dist/lib/model_field_value/converters/firestore_model_timestamp_converter.js.map +0 -1
  190. package/dist/lib/model_field_value/converters/firestore_model_timestamp_range_converter.d.ts +0 -25
  191. package/dist/lib/model_field_value/converters/firestore_model_timestamp_range_converter.js +0 -183
  192. package/dist/lib/model_field_value/converters/firestore_model_timestamp_range_converter.js.map +0 -1
  193. package/dist/lib/model_field_value/converters/firestore_model_token_converter.d.ts +0 -25
  194. package/dist/lib/model_field_value/converters/firestore_model_token_converter.js +0 -91
  195. package/dist/lib/model_field_value/converters/firestore_model_token_converter.js.map +0 -1
  196. package/dist/lib/model_field_value/converters/firestore_model_uri_converter.d.ts +0 -25
  197. package/dist/lib/model_field_value/converters/firestore_model_uri_converter.js +0 -134
  198. package/dist/lib/model_field_value/converters/firestore_model_uri_converter.js.map +0 -1
  199. package/dist/lib/model_field_value/converters/firestore_model_vector_value_converter.d.ts +0 -25
  200. package/dist/lib/model_field_value/converters/firestore_model_vector_value_converter.js +0 -80
  201. package/dist/lib/model_field_value/converters/firestore_model_vector_value_converter.js.map +0 -1
  202. package/dist/lib/model_field_value/converters/firestore_model_video_uri_converter.d.ts +0 -25
  203. package/dist/lib/model_field_value/converters/firestore_model_video_uri_converter.js +0 -134
  204. package/dist/lib/model_field_value/converters/firestore_model_video_uri_converter.js.map +0 -1
  205. package/dist/lib/model_field_value/converters/firestore_null_converter.d.ts +0 -25
  206. package/dist/lib/model_field_value/converters/firestore_null_converter.js +0 -45
  207. package/dist/lib/model_field_value/converters/firestore_null_converter.js.map +0 -1
  208. package/dist/lib/model_field_value/default_firestore_model_field_value_converter.d.ts +0 -61
  209. package/dist/lib/model_field_value/default_firestore_model_field_value_converter.js +0 -140
  210. package/dist/lib/model_field_value/default_firestore_model_field_value_converter.js.map +0 -1
  211. package/dist/lib/model_field_value/firestore_model_field_value_converter.d.ts +0 -154
  212. package/dist/lib/model_field_value/firestore_model_field_value_converter.js +0 -127
  213. package/dist/lib/model_field_value/firestore_model_field_value_converter.js.map +0 -1
  214. package/dist/lib/model_field_value/model_field_value.d.ts +0 -264
  215. package/dist/lib/model_field_value/model_field_value.js +0 -314
  216. package/dist/lib/model_field_value/model_field_value.js.map +0 -1
  217. package/dist/lib/regions.d.ts +0 -6
  218. package/dist/lib/regions.js +0 -3
  219. package/dist/lib/regions.js.map +0 -1
  220. package/dist/lib/schedulers/copy_document.d.ts +0 -35
  221. package/dist/lib/schedulers/copy_document.js +0 -59
  222. package/dist/lib/schedulers/copy_document.js.map +0 -1
  223. package/dist/lib/schedulers/delete_documents.d.ts +0 -35
  224. package/dist/lib/schedulers/delete_documents.js +0 -86
  225. package/dist/lib/schedulers/delete_documents.js.map +0 -1
  226. package/dist/lib/schedulers/notification.d.ts +0 -35
  227. package/dist/lib/schedulers/notification.js +0 -78
  228. package/dist/lib/schedulers/notification.js.map +0 -1
  229. package/dist/lib/src/call_process_function_base.d.ts +0 -39
  230. package/dist/lib/src/call_process_function_base.js +0 -82
  231. package/dist/lib/src/call_process_function_base.js.map +0 -1
  232. package/dist/lib/src/firebase_loader.d.ts +0 -30
  233. package/dist/lib/src/firebase_loader.js +0 -77
  234. package/dist/lib/src/firebase_loader.js.map +0 -1
  235. package/dist/lib/src/firestore_triggered_process_function_base.d.ts +0 -40
  236. package/dist/lib/src/firestore_triggered_process_function_base.js +0 -82
  237. package/dist/lib/src/firestore_triggered_process_function_base.js.map +0 -1
  238. package/dist/lib/src/functions_base.d.ts +0 -327
  239. package/dist/lib/src/functions_base.js +0 -38
  240. package/dist/lib/src/functions_base.js.map +0 -1
  241. package/dist/lib/src/functions_data.d.ts +0 -10
  242. package/dist/lib/src/functions_data.js +0 -19
  243. package/dist/lib/src/functions_data.js.map +0 -1
  244. package/dist/lib/src/request_process_function_base.d.ts +0 -39
  245. package/dist/lib/src/request_process_function_base.js +0 -80
  246. package/dist/lib/src/request_process_function_base.js.map +0 -1
  247. package/dist/lib/src/schedule_process_function_base.d.ts +0 -33
  248. package/dist/lib/src/schedule_process_function_base.js +0 -81
  249. package/dist/lib/src/schedule_process_function_base.js.map +0 -1
  250. package/dist/lib/src/sql_api_base.d.ts +0 -185
  251. package/dist/lib/src/sql_api_base.js +0 -94
  252. package/dist/lib/src/sql_api_base.js.map +0 -1
  253. package/dist/lib/utils.d.ts +0 -82
  254. package/dist/lib/utils.js +0 -142
  255. package/dist/lib/utils.js.map +0 -1
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@mathrunet/masamune",
3
- "version": "3.6.0",
3
+ "version": "3.8.0",
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",
7
7
  "scripts": {
8
8
  "build": "tsc",
9
9
  "prepare": "npm run build",
10
- "test": "jest",
10
+ "test": "NODE_OPTIONS='--experimental-vm-modules' jest",
11
11
  "postversion": "npm run changelog",
12
12
  "changelog": "conventional-changelog -p eslint -i CHANGELOG.md -s -r 0 && git add CHANGELOG.md && git commit -m 'chore(release): publish package'",
13
13
  "publish": "npm publish",
@@ -15,6 +15,9 @@
15
15
  "major_update": "npm version major",
16
16
  "patch_update": "npm version patch"
17
17
  },
18
+ "publishConfig": {
19
+ "access": "public"
20
+ },
18
21
  "repository": {
19
22
  "type": "git",
20
23
  "url": "git+https://github.com/mathrunet/node_masamune.git"
@@ -33,30 +36,16 @@
33
36
  },
34
37
  "homepage": "https://github.com/mathrunet/node_masamune#readme",
35
38
  "dependencies": {
36
- "@sendgrid/mail": "^8.1.4",
37
- "@types/node-fetch": "^2.6.7",
38
- "@types/uuid": "^10.0.0",
39
- "agora-token": "^2.0.3",
40
- "algoliasearch": "^5.20.2",
41
- "conventional-changelog-cli": "^5.0.0",
42
- "crypto": "^1.0.1",
39
+ "@mathrunet/katana": "^3.8.0",
43
40
  "firebase-admin": "^13.1.0",
44
41
  "firebase-functions": "^6.3.2",
45
- "firebase-functions-test": "^3.4.0",
46
- "fluent-ffmpeg": "^2.1.3",
47
- "form-data": "^4.0.0",
48
- "googleapis": "^144.0.0",
49
- "node-fetch": "^2.6.9",
50
- "nodemailer": "^6.9.12",
51
- "stripe": "^17.6.0",
52
- "typescript": "^5.7.3",
53
- "uuid": "^10.0.0"
42
+ "typescript": "^5.7.3"
54
43
  },
55
44
  "devDependencies": {
56
- "@types/fluent-ffmpeg": "^2.1.27",
57
45
  "@types/jest": "^29.5.12",
58
- "@types/nodemailer": "^6.4.14",
59
46
  "jest": "^29.7.0",
60
- "ts-jest": "^29.1.2"
47
+ "ts-jest": "^29.1.2",
48
+ "firebase-functions-test": "^3.4.0",
49
+ "conventional-changelog-cli": "^5.0.0"
61
50
  }
62
51
  }
@@ -1,12 +0,0 @@
1
- {
2
- "permissions": {
3
- "allow": [
4
- "WebFetch(domain:github.com)",
5
- "WebFetch(domain:pub.dev)",
6
- "Bash(npm run build:*)",
7
- "Bash(git add:*)",
8
- "Bash(git commit:*)"
9
- ],
10
- "deny": []
11
- }
12
- }
@@ -1 +0,0 @@
1
- export {};
@@ -1,225 +0,0 @@
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 () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
36
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
37
- return new (P || (P = Promise))(function (resolve, reject) {
38
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
39
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
40
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
41
- step((generator = generator.apply(thisArg, _arguments || [])).next());
42
- });
43
- };
44
- Object.defineProperty(exports, "__esModule", { value: true });
45
- const functions = __importStar(require("firebase-functions/v2"));
46
- const firestore_1 = require("@google-cloud/firestore");
47
- const firestore_2 = require("firebase-admin/firestore");
48
- /**
49
- * Functions for enabling external Firestore Aggregate methods.
50
- *
51
- * 外部のFirestoreのAggregateメソッドを利用できるようにするFunctions。
52
- *
53
- * @param {string} process.env.FIRESTORE_SERVICE_ACCOUNT
54
- * Service account JSON.
55
- *
56
- * サービスアカウントJSON。
57
- *
58
- * @param {string} path
59
- * The path of the collection.
60
- *
61
- * コレクションのパス。
62
- *
63
- * @param {string} method
64
- * The method name.
65
- *
66
- * メソッド名。
67
- *
68
- * @param {{ [key: string]: { [key: string]: any } }} data
69
- * Data to be saved.
70
- *
71
- * 保存をするためのデータ。
72
- *
73
- * @param {string} databaseId
74
- * The database ID.
75
- *
76
- * データベースID。
77
- */
78
- module.exports = (regions, options, data) => {
79
- var _a, _b, _c, _d;
80
- return functions.https.onCall({
81
- region: (_a = options.region) !== null && _a !== void 0 ? _a : regions,
82
- timeoutSeconds: options.timeoutSeconds,
83
- memory: options.memory,
84
- minInstances: options.minInstances,
85
- concurrency: options.concurrency,
86
- maxInstances: options.maxInstances,
87
- serviceAccount: (_b = options === null || options === void 0 ? void 0 : options.serviceAccount) !== null && _b !== void 0 ? _b : undefined,
88
- enforceAppCheck: (_c = options.enforceAppCheck) !== null && _c !== void 0 ? _c : undefined,
89
- consumeAppCheckToken: (_d = options.consumeAppCheckToken) !== null && _d !== void 0 ? _d : undefined,
90
- }, (query) => __awaiter(void 0, void 0, void 0, function* () {
91
- var _a;
92
- try {
93
- // クエリパラメータから必要な情報を取得
94
- const databaseId = query.data.databaseId;
95
- // 環境変数からサービスアカウントJSONを取得
96
- let serviceAccount;
97
- try {
98
- const serviceAccountJson = (_a = process.env.FIRESTORE_SERVICE_ACCOUNT) !== null && _a !== void 0 ? _a : process.env.SERVICE_ACCOUNT;
99
- if (!serviceAccountJson) {
100
- throw new functions.https.HttpsError("failed-precondition", "Service account JSON not found in environment variable: FIRESTORE_SERVICE_ACCOUNT");
101
- }
102
- serviceAccount = JSON.parse(serviceAccountJson);
103
- // サービスアカウントの必須フィールドを検証
104
- if (!serviceAccount.project_id) {
105
- throw new functions.https.HttpsError("invalid-argument", "Service account JSON is missing 'project_id' field");
106
- }
107
- if (!serviceAccount.client_email) {
108
- throw new functions.https.HttpsError("invalid-argument", "Service account JSON is missing 'client_email' field");
109
- }
110
- if (!serviceAccount.private_key) {
111
- throw new functions.https.HttpsError("invalid-argument", "Service account JSON is missing 'private_key' field");
112
- }
113
- console.log(`Using service account for project: ${serviceAccount.project_id}`);
114
- }
115
- catch (error) {
116
- if (error instanceof functions.https.HttpsError) {
117
- throw error;
118
- }
119
- throw new functions.https.HttpsError("invalid-argument", `Invalid service account JSON in environment variable: FIRESTORE_SERVICE_ACCOUNT`);
120
- }
121
- // Firestoreインスタンスを作成
122
- // データベースIDが指定されていない場合は "(default)" を使用
123
- const finalDatabaseId = databaseId || "(default)";
124
- console.log(`Creating Firestore instance with projectId: ${serviceAccount.project_id}, databaseId: ${finalDatabaseId}`);
125
- const firestoreInstance = new firestore_1.Firestore({
126
- projectId: serviceAccount.project_id,
127
- databaseId: finalDatabaseId,
128
- credentials: {
129
- client_email: serviceAccount.client_email,
130
- private_key: serviceAccount.private_key,
131
- },
132
- });
133
- // クエリパラメータから必要な情報を取得
134
- let path = query.data.path;
135
- const method = query.data.method;
136
- if (!method) {
137
- throw new functions.https.HttpsError("invalid-argument", "No method specified.");
138
- }
139
- if (!path) {
140
- throw new functions.https.HttpsError("invalid-argument", "No path specified.");
141
- }
142
- // メソッドに応じて処理を実行
143
- switch (method) {
144
- case "count": {
145
- console.log(`Attempting to get count aggregation at path: ${path}`);
146
- try {
147
- const aggregation = yield firestoreInstance.collection(path).count().get();
148
- const data = {
149
- value: aggregation.data().count,
150
- };
151
- console.log(`Successfully retrieved count aggregation at path: ${path}`);
152
- return {
153
- status: 200,
154
- data: JSON.stringify(data),
155
- };
156
- }
157
- catch (error) {
158
- console.error(`Error getting count aggregation at ${path}:`, error);
159
- throw new functions.https.HttpsError("not-found", `Failed to get collection at ${path}: ${error.message}`);
160
- }
161
- }
162
- case "sum": {
163
- const field = path === null || path === void 0 ? void 0 : path.split("/").pop();
164
- path = path === null || path === void 0 ? void 0 : path.split("/").slice(0, -1).join("/");
165
- if (!field) {
166
- throw new functions.https.HttpsError("invalid-argument", "No field specified.");
167
- }
168
- console.log(`Attempting to get sum aggregation at path: ${path}/${field}`);
169
- try {
170
- const aggregation = yield firestoreInstance.collection(path).aggregate({
171
- "@sum": firestore_2.AggregateField.sum(field),
172
- }).get();
173
- const data = {
174
- value: aggregation.data()["@sum"],
175
- };
176
- console.log(`Successfully retrieved sum aggregation at path: ${path}/${field}`);
177
- return {
178
- status: 200,
179
- data: JSON.stringify(data),
180
- };
181
- }
182
- catch (error) {
183
- console.error(`Error getting sum aggregation at ${path}/${field}:`, error);
184
- throw new functions.https.HttpsError("not-found", `Failed to get collection at ${path}: ${error.message}`);
185
- }
186
- }
187
- case "average": {
188
- const field = path === null || path === void 0 ? void 0 : path.split("/").pop();
189
- path = path === null || path === void 0 ? void 0 : path.split("/").slice(0, -1).join("/");
190
- if (!field) {
191
- throw new functions.https.HttpsError("invalid-argument", "No field specified.");
192
- }
193
- console.log(`Attempting to get average aggregation at path: ${path}/${field}`);
194
- try {
195
- const aggregation = yield firestoreInstance.collection(path).aggregate({
196
- "@average": firestore_2.AggregateField.average(field),
197
- }).get();
198
- const data = {
199
- value: aggregation.data()["@average"],
200
- };
201
- console.log(`Successfully retrieved average aggregation at path: ${path}/${field}`);
202
- return {
203
- status: 200,
204
- data: JSON.stringify(data),
205
- };
206
- }
207
- catch (error) {
208
- console.error(`Error getting average aggregation at ${path}/${field}:`, error);
209
- throw new functions.https.HttpsError("not-found", `Failed to get collection at ${path}: ${error.message}`);
210
- }
211
- }
212
- default:
213
- throw new functions.https.HttpsError("invalid-argument", `Unknown method: ${method}`);
214
- }
215
- }
216
- catch (err) {
217
- console.error(err);
218
- if (err instanceof functions.https.HttpsError) {
219
- throw err;
220
- }
221
- throw new functions.https.HttpsError("internal", "An error occurred while processing the request.");
222
- }
223
- }));
224
- };
225
- //# sourceMappingURL=aggregate_model_firestore.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"aggregate_model_firestore.js","sourceRoot":"","sources":["../../src/functions/aggregate_model_firestore.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,220 +0,0 @@
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 () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
36
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
37
- return new (P || (P = Promise))(function (resolve, reject) {
38
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
39
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
40
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
41
- step((generator = generator.apply(thisArg, _arguments || [])).next());
42
- });
43
- };
44
- Object.defineProperty(exports, "__esModule", { value: true });
45
- const functions = __importStar(require("firebase-functions/v2"));
46
- const firestore_1 = require("@google-cloud/firestore");
47
- const firestore_2 = require("firebase-admin/firestore");
48
- /**
49
- * Functions for enabling external Firestore Aggregate methods.
50
- *
51
- * 外部のFirestoreのAggregateメソッドを利用できるようにするFunctions。
52
- *
53
- * @param {string} process.env.FIRESTORE_SERVICE_ACCOUNT
54
- * Service account JSON.
55
- *
56
- * サービスアカウントJSON。
57
- *
58
- * @param {string} path
59
- * The path of the collection.
60
- *
61
- * コレクションのパス。
62
- *
63
- * @param {string} method
64
- * The method name.
65
- *
66
- * メソッド名。
67
- *
68
- * @param {{ [key: string]: { [key: string]: any } }} data
69
- * Data to be saved.
70
- *
71
- * 保存をするためのデータ。
72
- *
73
- * @param {string} databaseId
74
- * The database ID.
75
- *
76
- * データベースID。
77
- */
78
- module.exports = (regions, options, data) => {
79
- var _a, _b, _c, _d;
80
- return functions.https.onCall({
81
- region: (_a = options.region) !== null && _a !== void 0 ? _a : regions,
82
- timeoutSeconds: options.timeoutSeconds,
83
- memory: options.memory,
84
- minInstances: options.minInstances,
85
- concurrency: options.concurrency,
86
- maxInstances: options.maxInstances,
87
- serviceAccount: (_b = options === null || options === void 0 ? void 0 : options.serviceAccount) !== null && _b !== void 0 ? _b : undefined,
88
- enforceAppCheck: (_c = options.enforceAppCheck) !== null && _c !== void 0 ? _c : undefined,
89
- consumeAppCheckToken: (_d = options.consumeAppCheckToken) !== null && _d !== void 0 ? _d : undefined,
90
- }, (query) => __awaiter(void 0, void 0, void 0, function* () {
91
- var _a;
92
- try {
93
- // クエリパラメータから必要な情報を取得
94
- const databaseId = query.data.databaseId;
95
- // 環境変数からサービスアカウントJSONを取得
96
- let serviceAccount;
97
- try {
98
- const serviceAccountJson = (_a = process.env.FIRESTORE_SERVICE_ACCOUNT) !== null && _a !== void 0 ? _a : process.env.SERVICE_ACCOUNT;
99
- if (!serviceAccountJson) {
100
- throw new functions.https.HttpsError("failed-precondition", "Service account JSON not found in environment variable: FIRESTORE_SERVICE_ACCOUNT");
101
- }
102
- serviceAccount = JSON.parse(serviceAccountJson);
103
- // サービスアカウントの必須フィールドを検証
104
- if (!serviceAccount.project_id) {
105
- throw new functions.https.HttpsError("invalid-argument", "Service account JSON is missing 'project_id' field");
106
- }
107
- if (!serviceAccount.client_email) {
108
- throw new functions.https.HttpsError("invalid-argument", "Service account JSON is missing 'client_email' field");
109
- }
110
- if (!serviceAccount.private_key) {
111
- throw new functions.https.HttpsError("invalid-argument", "Service account JSON is missing 'private_key' field");
112
- }
113
- console.log(`Using service account for project: ${serviceAccount.project_id}`);
114
- }
115
- catch (error) {
116
- if (error instanceof functions.https.HttpsError) {
117
- throw error;
118
- }
119
- throw new functions.https.HttpsError("invalid-argument", `Invalid service account JSON in environment variable: FIRESTORE_SERVICE_ACCOUNT`);
120
- }
121
- // Firestoreインスタンスを作成
122
- // データベースIDが指定されていない場合は "(default)" を使用
123
- const finalDatabaseId = databaseId || "(default)";
124
- console.log(`Creating Firestore instance with projectId: ${serviceAccount.project_id}, databaseId: ${finalDatabaseId}`);
125
- const firestoreInstance = new firestore_1.Firestore({
126
- projectId: serviceAccount.project_id,
127
- databaseId: finalDatabaseId,
128
- credentials: {
129
- client_email: serviceAccount.client_email,
130
- private_key: serviceAccount.private_key,
131
- },
132
- });
133
- // クエリパラメータから必要な情報を取得
134
- let path = query.data.path;
135
- const method = query.data.method;
136
- const field = path === null || path === void 0 ? void 0 : path.split("/").pop();
137
- path = path === null || path === void 0 ? void 0 : path.split("/").slice(0, -1).join("/");
138
- if (!method) {
139
- throw new functions.https.HttpsError("invalid-argument", "No method specified.");
140
- }
141
- if (!path) {
142
- throw new functions.https.HttpsError("invalid-argument", "No path specified.");
143
- }
144
- if (!field) {
145
- throw new functions.https.HttpsError("invalid-argument", "No field specified.");
146
- }
147
- // メソッドに応じて処理を実行
148
- switch (method) {
149
- case "count": {
150
- console.log(`Attempting to get count aggregation at path: ${path}/${field}`);
151
- try {
152
- const aggregation = yield firestoreInstance.collection(path).count().get();
153
- const data = {
154
- value: aggregation.data().count,
155
- };
156
- console.log(`Successfully retrieved count aggregation at path: ${path}/${field}`);
157
- return {
158
- status: 200,
159
- data: data,
160
- };
161
- }
162
- catch (error) {
163
- console.error(`Error getting count aggregation at ${path}/${field}:`, error);
164
- throw new functions.https.HttpsError("not-found", `Failed to get collection at ${path}: ${error.message}`);
165
- }
166
- }
167
- case "sum": {
168
- console.log(`Attempting to get sum aggregation at path: ${path}/${field}`);
169
- try {
170
- const aggregation = yield firestoreInstance.collection(path).aggregate({
171
- "@sum": firestore_2.AggregateField.sum(field),
172
- }).get();
173
- const data = {
174
- value: aggregation.data()["@sum"],
175
- };
176
- console.log(`Successfully retrieved sum aggregation at path: ${path}/${field}`);
177
- return {
178
- status: 200,
179
- data: data,
180
- };
181
- }
182
- catch (error) {
183
- console.error(`Error getting sum aggregation at ${path}/${field}:`, error);
184
- throw new functions.https.HttpsError("not-found", `Failed to get collection at ${path}: ${error.message}`);
185
- }
186
- }
187
- case "average": {
188
- console.log(`Attempting to get average aggregation at path: ${path}/${field}`);
189
- try {
190
- const aggregation = yield firestoreInstance.collection(path).aggregate({
191
- "@average": firestore_2.AggregateField.average(field),
192
- }).get();
193
- const data = {
194
- value: aggregation.data()["@average"],
195
- };
196
- console.log(`Successfully retrieved average aggregation at path: ${path}/${field}`);
197
- return {
198
- status: 200,
199
- data: data,
200
- };
201
- }
202
- catch (error) {
203
- console.error(`Error getting average aggregation at ${path}/${field}:`, error);
204
- throw new functions.https.HttpsError("not-found", `Failed to get collection at ${path}: ${error.message}`);
205
- }
206
- }
207
- default:
208
- throw new functions.https.HttpsError("invalid-argument", `Unknown method: ${method}`);
209
- }
210
- }
211
- catch (err) {
212
- console.error(err);
213
- if (err instanceof functions.https.HttpsError) {
214
- throw err;
215
- }
216
- throw new functions.https.HttpsError("internal", "An error occurred while processing the request.");
217
- }
218
- }));
219
- };
220
- //# sourceMappingURL=aggregation_model_firestore.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"aggregation_model_firestore.js","sourceRoot":"","sources":["../../src/functions/aggregation_model_firestore.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};