@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
@@ -1,605 +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 stripe = __importStar(require("stripe"));
47
- const admin = __importStar(require("firebase-admin"));
48
- const firebase_loader_1 = require("../lib/src/firebase_loader");
49
- /**
50
- * Receives and processes webhooks from Stripe.
51
- * Please register the URL when you deploy this in your Stripe webhook settings.
52
- * Firestore integration is a must; please make Firestore available as well.
53
- *
54
- * StripeからのWebhookを受け取り処理を行います。
55
- * こちらをデプロイした際のURLをStripeのWebhook設定に登録してください。
56
- * Firestoreとの連携が必須です。Firestoreも利用可能にしてください。
57
- *
58
- * @param {string} process.env.PURCHASE_STRIPE_SECRETKEY
59
- * API key (secret key) to connect to Stripe.
60
- * Log in to the following URL and create a project.
61
- * After the project is created, the secret key can be copied.
62
- *
63
- * Stripeへ接続するためのAPIキー(シークレットキー)。
64
- * 下記URLにログインし、プロジェクトを作成します。
65
- * プロジェクト作成後、シークレットキーをコピーすることができます。
66
- *
67
- * Production environment
68
- * https://dashboard.stripe.com/apikeys
69
- * Development enveironment
70
- * https://dashboard.stripe.com/test/apikeys
71
- *
72
- * @param {string} process.env.PURCHASE_STRIPE_USERPATH
73
- * Stripe user (customer) pass.
74
- * Stripeのユーザー(カスタマー)用パス。
75
- *
76
- * @param {string} process.env.PURCHASE_STRIPE_PAYMENTPATH
77
- * Path for payment method information to be placed under [process.env.PURCHASE_STRIPE_USERPATH].
78
- * [process.env.PURCHASE_STRIPE_USERPATH]の下に配置する支払い方法の情報用パス。
79
- *
80
- * @param {string} process.env.PURCHASE_STRIPE_PURCHASEPATH
81
- * Path for purchase information to be placed under [process.env.PURCHASE_STRIPE_USERPATH].
82
- * [process.env.PURCHASE_STRIPE_USERPATH]の下に配置する購入情報用パス。
83
- *
84
- * @param {string} process.env.PURCHASE_STRIPE_WEBHOOKSECRET
85
- * Specify the **Signature Secret** after setting it up as a webhook.
86
- * Webhookとして設定したあとの**署名シークレット**を指定します。
87
- *
88
- */
89
- module.exports = (regions, options, data) => {
90
- var _a, _b;
91
- return functions.https.onRequest({
92
- region: (_a = options.region) !== null && _a !== void 0 ? _a : regions,
93
- timeoutSeconds: options.timeoutSeconds,
94
- memory: options.memory,
95
- minInstances: options.minInstances,
96
- concurrency: options.concurrency,
97
- maxInstances: options.maxInstances,
98
- serviceAccount: (_b = options.serviceAccount) !== null && _b !== void 0 ? _b : undefined,
99
- }, (req, res) => __awaiter(void 0, void 0, void 0, function* () {
100
- var _a, _b, _c, _d, _e, _f;
101
- try {
102
- let error = null;
103
- const firestoreDatabaseIds = (_a = options.firestoreDatabaseIds) !== null && _a !== void 0 ? _a : [""];
104
- for (const databaseId of firestoreDatabaseIds) {
105
- try {
106
- const apiKey = (_b = process.env.PURCHASE_STRIPE_SECRETKEY) !== null && _b !== void 0 ? _b : "";
107
- const stripeUserPath = (_c = process.env.PURCHASE_STRIPE_USERPATH) !== null && _c !== void 0 ? _c : "plugins/stripe/user";
108
- const stripePurchasePath = (_d = process.env.PURCHASE_STRIPE_PURCHASEPATH) !== null && _d !== void 0 ? _d : "purchase";
109
- const stripeWebhookSecret = (_e = process.env.PURCHASE_STRIPE_WEBHOOKSECRET) !== null && _e !== void 0 ? _e : "";
110
- const firestoreInstance = (0, firebase_loader_1.firestoreLoader)(databaseId);
111
- const stripeClient = new stripe.Stripe(apiKey, {
112
- apiVersion: "2025-01-27.acacia",
113
- });
114
- const signature = req.headers["stripe-signature"];
115
- if (!signature) {
116
- res.status(403).send(JSON.stringify({
117
- "error": "Access denied.",
118
- }));
119
- return;
120
- }
121
- const event = stripeClient.webhooks.constructEvent(req.rawBody, signature, stripeWebhookSecret);
122
- switch (event.type) {
123
- case "payment_intent.requires_action":
124
- case "payment_intent.amount_capturable_updated": {
125
- const payment = event.data.object;
126
- const purchaseId = payment["id"];
127
- const customerId = payment["customer"];
128
- const status = payment["status"];
129
- if (!customerId) {
130
- res.status(404).send(JSON.stringify({
131
- "error": "The customer id is not found.",
132
- }));
133
- return;
134
- }
135
- if (!status) {
136
- res.status(404).send(JSON.stringify({
137
- "error": "The status is not found.",
138
- }));
139
- return;
140
- }
141
- const userCol = yield firestoreInstance.collection(`${stripeUserPath}`).where("customer", "==", customerId).get();
142
- if (userCol.empty) {
143
- res.status(404).send(JSON.stringify({
144
- "error": "The account data is not found.",
145
- }));
146
- return;
147
- }
148
- const user = userCol.docs[0];
149
- const userId = user.id;
150
- const purchaseCol = yield firestoreInstance.collection(`${stripeUserPath}/${userId}/${stripePurchasePath}`).where("purchaseId", "==", purchaseId).get();
151
- if (purchaseCol.empty) {
152
- res.status(404).send(JSON.stringify({
153
- "error": "The purchase data is not found.",
154
- }));
155
- return;
156
- }
157
- const purchase = purchaseCol.docs[0];
158
- const update = {};
159
- switch (status) {
160
- case "requires_payment_method":
161
- case "requires_confirmation": {
162
- update["confirm"] = false;
163
- update["verify"] = false;
164
- update["capture"] = false;
165
- update["success"] = false;
166
- break;
167
- }
168
- case "requires_action": {
169
- update["confirm"] = true;
170
- update["verify"] = false;
171
- update["capture"] = false;
172
- update["success"] = false;
173
- break;
174
- }
175
- case "requires_capture": {
176
- update["confirm"] = true;
177
- update["verify"] = true;
178
- update["capture"] = false;
179
- update["success"] = false;
180
- break;
181
- }
182
- }
183
- update["updatedTime"] = new Date();
184
- yield purchase.ref.set(update, {
185
- merge: true,
186
- });
187
- res.status(200).send(JSON.stringify({
188
- "success": true,
189
- }));
190
- return;
191
- }
192
- case "payment_intent.succeeded": {
193
- const payment = event.data.object;
194
- const purchaseId = payment["id"];
195
- const customerId = payment["customer"];
196
- if (!customerId) {
197
- res.status(404).send(JSON.stringify({
198
- "error": "The customer id is not found.",
199
- }));
200
- return;
201
- }
202
- const userCol = yield firestoreInstance.collection(`${stripeUserPath}`).where("customer", "==", customerId).get();
203
- if (userCol.empty) {
204
- res.status(404).send(JSON.stringify({
205
- "error": "The account data is not found.",
206
- }));
207
- return;
208
- }
209
- const user = userCol.docs[0];
210
- const userId = user.id;
211
- const purchaseCol = yield firestoreInstance.collection(`${stripeUserPath}/${userId}/${stripePurchasePath}`).where("purchaseId", "==", purchaseId).get();
212
- if (purchaseCol.empty) {
213
- res.status(404).send(JSON.stringify({
214
- "error": "The purchase data is not found.",
215
- }));
216
- return;
217
- }
218
- const purchase = purchaseCol.docs[0];
219
- const update = {};
220
- update["confirm"] = true;
221
- update["verify"] = true;
222
- update["capture"] = true;
223
- update["success"] = true;
224
- update["error"] = admin.firestore.FieldValue.delete();
225
- update["errorMessage"] = admin.firestore.FieldValue.delete();
226
- update["updatedTime"] = new Date();
227
- if (payment["charges"] && payment["charges"]["data"] && payment["charges"]["data"].length > 0 && payment["charges"]["data"][0]) {
228
- if (payment["charges"]["data"][0]["receipt_url"]) {
229
- update["receiptUrl"] = payment["charges"]["data"][0]["receipt_url"];
230
- }
231
- if (payment["charges"]["data"][0]["amount_captured"]) {
232
- update["capturedAmount"] = payment["charges"]["data"][0]["amount_captured"];
233
- }
234
- }
235
- yield purchase.ref.set(update, {
236
- merge: true,
237
- });
238
- res.status(200).send(JSON.stringify({
239
- "success": true,
240
- }));
241
- return;
242
- }
243
- case "payment_intent.payment_failed": {
244
- const payment = event.data.object;
245
- const purchaseId = payment["id"];
246
- const customerId = payment["customer"];
247
- const status = payment["status"];
248
- if (!customerId) {
249
- res.status(404).send(JSON.stringify({
250
- "error": "The customer id is not found.",
251
- }));
252
- return;
253
- }
254
- const userCol = yield firestoreInstance.collection(`${stripeUserPath}`).where("customer", "==", customerId).get();
255
- if (userCol.empty) {
256
- res.status(404).send(JSON.stringify({
257
- "error": "The account data is not found.",
258
- }));
259
- return;
260
- }
261
- const user = userCol.docs[0];
262
- const userId = user.id;
263
- const purchaseCol = yield firestoreInstance.collection(`${stripeUserPath}/${userId}/${stripePurchasePath}`).where("purchaseId", "==", purchaseId).get();
264
- if (purchaseCol.empty) {
265
- res.status(404).send(JSON.stringify({
266
- "error": "The purchase data is not found.",
267
- }));
268
- return;
269
- }
270
- const errorMessage = payment["last_payment_error"]["message"];
271
- const purchase = purchaseCol.docs[0];
272
- const update = {};
273
- switch (status) {
274
- case "requires_payment_method":
275
- case "requires_confirmation": {
276
- update["confirm"] = false;
277
- update["verify"] = false;
278
- update["capture"] = false;
279
- update["success"] = false;
280
- break;
281
- }
282
- case "requires_action": {
283
- update["confirm"] = true;
284
- update["verify"] = false;
285
- update["capture"] = false;
286
- update["success"] = false;
287
- break;
288
- }
289
- case "requires_capture": {
290
- update["confirm"] = true;
291
- update["verify"] = true;
292
- update["capture"] = false;
293
- update["success"] = false;
294
- break;
295
- }
296
- }
297
- update["updatedTime"] = new Date();
298
- update["error"] = true;
299
- update["errorMessage"] = errorMessage;
300
- yield purchase.ref.set(update, {
301
- merge: true,
302
- });
303
- res.status(200).send(JSON.stringify({
304
- "success": true,
305
- }));
306
- return;
307
- }
308
- case "payment_method.detached":
309
- case "payment_method.updated": {
310
- const payment = event.data.object;
311
- const previous = event.data.previous_attributes;
312
- let customerId = payment["customer"];
313
- if (!customerId) {
314
- customerId = previous["customer"];
315
- }
316
- if (!customerId) {
317
- res.status(404).send(JSON.stringify({
318
- "error": "The customer id is not found.",
319
- }));
320
- return;
321
- }
322
- const col = yield firestoreInstance.collection(`${stripeUserPath}`).where("customer", "==", customerId).get();
323
- if (col.empty) {
324
- res.status(404).send(JSON.stringify({
325
- "error": "The account data is not found.",
326
- }));
327
- return;
328
- }
329
- const user = col.docs[0];
330
- const userId = user.id;
331
- yield syncStripePayment(stripeClient, firestoreInstance, userId, customerId);
332
- res.status(200).send(JSON.stringify({
333
- "success": true,
334
- }));
335
- return;
336
- }
337
- case "customer.updated": {
338
- const customer = event.data.object;
339
- const customerId = customer["id"];
340
- if (!customerId) {
341
- res.status(404).send(JSON.stringify({
342
- "error": "The customer id is not found.",
343
- }));
344
- return;
345
- }
346
- const col = yield firestoreInstance.collection(`${stripeUserPath}`).where("customer", "==", customerId).get();
347
- if (col.empty) {
348
- res.status(404).send(JSON.stringify({
349
- "error": "The account data is not found.",
350
- }));
351
- return;
352
- }
353
- const user = col.docs[0];
354
- const userId = user.id;
355
- yield syncStripePayment(stripeClient, firestoreInstance, userId, customerId);
356
- res.status(200).send(JSON.stringify({
357
- "success": true,
358
- }));
359
- return;
360
- }
361
- case "checkout.session.completed": {
362
- const session = event.data.object;
363
- const customerId = session["customer"];
364
- if (!customerId) {
365
- res.status(404).send(JSON.stringify({
366
- "error": "The customer id is not found.",
367
- }));
368
- return;
369
- }
370
- const setupIntent = session["setup_intent"];
371
- if (!setupIntent) {
372
- res.status(404).send(JSON.stringify({
373
- "error": "The setup intent is not found.",
374
- }));
375
- return;
376
- }
377
- const col = yield firestoreInstance.collection(`${stripeUserPath}`).where("customer", "==", customerId).get();
378
- if (col.empty) {
379
- res.status(404).send(JSON.stringify({
380
- "error": "The account data is not found.",
381
- }));
382
- return;
383
- }
384
- const user = col.docs[0];
385
- const userId = user.id;
386
- const update = {};
387
- if (session["setup_intent"]) {
388
- update["setupIntent"] = session["setup_intent"];
389
- }
390
- yield user.ref.set(update, {
391
- merge: true,
392
- });
393
- yield syncStripePayment(stripeClient, firestoreInstance, userId, customerId);
394
- res.status(200).send(JSON.stringify({
395
- "success": true,
396
- }));
397
- return;
398
- }
399
- case "customer.subscription.trial_will_end":
400
- case "customer.subscription.updated":
401
- case "customer.subscription.created": {
402
- const now = new Date();
403
- const update = {};
404
- const subscription = event.data.object;
405
- const status = subscription["status"];
406
- if (status != "active") {
407
- res.status(200).send(JSON.stringify({
408
- "success": "Subscription is not active.",
409
- }));
410
- return;
411
- }
412
- const endDate = new Date(subscription["current_period_end"] * 1000);
413
- const id = subscription["id"];
414
- const userId = subscription.metadata.userId;
415
- const orderId = (_f = subscription.metadata.orderId) !== null && _f !== void 0 ? _f : id;
416
- const targetPath = `${stripePurchasePath}/${orderId}`;
417
- const plan = subscription.plan;
418
- let doc;
419
- const subscriptionCol = yield firestoreInstance.collection(`${stripePurchasePath}`).where("subscription", "==", id).get();
420
- if (subscriptionCol.empty) {
421
- doc = yield firestoreInstance.doc(targetPath);
422
- }
423
- else {
424
- doc = subscriptionCol.docs[0].ref;
425
- }
426
- update["expired"] = now >= endDate;
427
- if (userId) {
428
- update["user"] = userId;
429
- }
430
- update["@uid"] = orderId;
431
- update["@time"] = new Date();
432
- update["subscription"] = id;
433
- update["application"] = subscription["application"];
434
- update["application_fee_percent"] = subscription["application_fee_percent"];
435
- update["cancel_at"] = subscription["cancel_at"];
436
- update["cancel_at_period_end"] = subscription["cancel_at_period_end"];
437
- update["canceled_at"] = subscription["canceled_at"];
438
- update["collection_method"] = subscription["collection_method"];
439
- update["currency"] = subscription["currency"];
440
- update["current_period_start"] = subscription["current_period_start"];
441
- update["current_period_end"] = subscription["current_period_end"];
442
- update["customer"] = subscription["customer"];
443
- update["default_payment_method"] = subscription["default_payment_method"];
444
- update["ended_at"] = subscription["ended_at"];
445
- update["latest_invoice"] = subscription["latest_invoice"];
446
- update["price_id"] = plan["id"];
447
- update["active"] = plan["active"];
448
- update["amount"] = plan["amount"];
449
- update["billing_scheme"] = plan["billing_scheme"];
450
- update["interval"] = plan["interval"];
451
- update["interval_count"] = plan["interval_count"];
452
- update["usage_type"] = plan["usage_type"];
453
- update["quantity"] = subscription["quantity"];
454
- update["start_date"] = subscription["start_date"];
455
- update["start_date"] = subscription["start_date"];
456
- console.log(`Subscription status is ${status} ${stripePurchasePath}.`);
457
- yield doc.set(update, {
458
- merge: true,
459
- });
460
- res.status(200).send(JSON.stringify({
461
- "success": "Subscription is active.",
462
- }));
463
- break;
464
- }
465
- case "customer.subscription.deleted": {
466
- const subscription = event.data.object;
467
- const status = subscription["status"];
468
- console.log(`Subscription status is ${status} ${"expired"}.`);
469
- // Then define and call a method to handle the subscription deleted.
470
- // handleSubscriptionDeleted(subscriptionDeleted);
471
- break;
472
- }
473
- default: {
474
- res.status(404).send(JSON.stringify({
475
- "error": "Event is not found.",
476
- }));
477
- return;
478
- }
479
- }
480
- }
481
- catch (err) {
482
- error = err;
483
- }
484
- }
485
- if (error) {
486
- console.error(error);
487
- throw new functions.https.HttpsError("unknown", "Unknown error.");
488
- }
489
- }
490
- catch (err) {
491
- console.error(err);
492
- throw err;
493
- }
494
- }));
495
- };
496
- /**
497
- * Synchronize Stripe acquisition results to Firestore.
498
- *
499
- * Stripeの取得結果をFirestoreに同期します。
500
- *
501
- * @param {stripe.Stripe} stripeClient
502
- * Stripe client instances.
503
- * ストライプのクライアントインスタンス。
504
- *
505
- * @param {FirebaseFirestore.Firestore} firestoreInstance
506
- * Firestore client instances.
507
- * Firestoreのクライアントインスタンス。
508
- *
509
- * @param {string} userId
510
- * User ID.
511
- * ユーザーID。
512
- *
513
- * @param {string} customerId
514
- * Customer ID.
515
- * 顧客ID。
516
- *
517
- * @returns {Promise<void>}
518
- *
519
- */
520
- function syncStripePayment(stripeClient, firestoreInstance, userId, customerId) {
521
- return __awaiter(this, void 0, void 0, function* () {
522
- var _a, _b;
523
- const stripeUserPath = (_a = process.env.PURCHASE_STRIPE_USERPATH) !== null && _a !== void 0 ? _a : "plugins/stripe/user";
524
- const stripePaymentPath = (_b = process.env.PURCHASE_STRIPE_PAYMENTPATH) !== null && _b !== void 0 ? _b : "payment";
525
- const customer = yield stripeClient.customers.retrieve(customerId);
526
- let defaultSource = customer.invoice_settings.default_payment_method;
527
- const paymentMethods = yield stripeClient.customers.listPaymentMethods(customerId, {
528
- type: "card",
529
- });
530
- if (!defaultSource && paymentMethods.data.length > 0) {
531
- defaultSource = paymentMethods.data[0].id;
532
- yield stripeClient.customers.update(customerId, {
533
- invoice_settings: {
534
- default_payment_method: defaultSource,
535
- },
536
- });
537
- }
538
- const payments = yield firestoreInstance.collection(`${stripeUserPath}/${userId}/${stripePaymentPath}`).get();
539
- yield firestoreInstance.runTransaction((transaction) => __awaiter(this, void 0, void 0, function* () {
540
- payments.docs.forEach((doc) => {
541
- const data = doc.data();
542
- const method = paymentMethods.data.find((m) => m.id == data["id"]);
543
- if (!method) {
544
- transaction.delete(doc.ref);
545
- }
546
- else {
547
- const card = method.card;
548
- if (!card) {
549
- return;
550
- }
551
- const update = {};
552
- const isDefault = method.id == defaultSource;
553
- if (method.type === data["type"] && card.exp_month === data["expMonth"] && card.exp_year === data["expYear"] && card.brand === data["brand"] && card.last4 === data["numberLast"] && card.last4 === data["numberLast"] && isDefault === data["default"]) {
554
- return;
555
- }
556
- update["type"] = method.type;
557
- update["expMonth"] = card.exp_month;
558
- update["expYear"] = card.exp_year;
559
- update["brand"] = card.brand;
560
- update["numberLast"] = card.last4;
561
- update["default"] = isDefault;
562
- transaction.set(doc.ref, update, {
563
- merge: true,
564
- });
565
- }
566
- });
567
- paymentMethods.data.forEach((method) => __awaiter(this, void 0, void 0, function* () {
568
- const card = method.card;
569
- if (!card) {
570
- return;
571
- }
572
- const doc = payments.docs.find((item) => item.data()["id"] == method.id);
573
- if (doc) {
574
- return;
575
- }
576
- const uid = method.id;
577
- const update = {};
578
- const isDefault = method.id == defaultSource;
579
- update["@uid"] = uid;
580
- update["@time"] = new Date();
581
- update["id"] = uid;
582
- update["type"] = method.type;
583
- update["expMonth"] = card.exp_month;
584
- update["expYear"] = card.exp_year;
585
- update["brand"] = card.brand;
586
- update["numberLast"] = card.last4;
587
- update["default"] = isDefault;
588
- transaction.set(firestoreInstance.doc(`${stripeUserPath}/${userId}/${stripePaymentPath}/${uid}`), update, {
589
- merge: true,
590
- });
591
- }));
592
- const update = {};
593
- if (defaultSource) {
594
- update["defaultPayment"] = defaultSource;
595
- }
596
- else {
597
- update["defaultPayment"] = admin.firestore.FieldValue.delete();
598
- }
599
- yield transaction.set(firestoreInstance.doc(`${stripeUserPath}/${userId}`), update, {
600
- merge: true,
601
- });
602
- }));
603
- });
604
- }
605
- //# sourceMappingURL=stripe_webhook.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stripe_webhook.js","sourceRoot":"","sources":["../../src/functions/stripe_webhook.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};