@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,306 +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 verifier = __importStar(require("../lib/functions/verify_android"));
47
- const utils = __importStar(require("../lib/utils"));
48
- const firebase_loader_1 = require("../lib/src/firebase_loader");
49
- /**
50
- * This is a webhook endpoint for Android. you can create a `purchasing` topic in GCP's pub/sub and set the principal to "google-play-developer-notifications@system.gserviceaccount.com" to receive notifications.
51
- *
52
- * Android用のWebhookのエンドポイントです。GCPのpub/subに`purchasing`のトピックを作成しプリンシパルに「google-play-developer-notifications@system.gserviceaccount.com」を設定することで通知を受け取ることができるようになります。
53
- *
54
- * @param process.env.PURCHASE_ANDROID_SERVICEACCOUNT_EMAIL
55
- * The email address of your Google service account.
56
- * Create an OAuth consent screen from the URL below.
57
- * https://console.cloud.google.com/apis/credentials/consent
58
- * It is then created from the service account.
59
- * https://console.cloud.google.com/iam-admin/serviceaccounts
60
- *
61
- * Googleのサービスアカウントのメールアドレス。
62
- * 下記のURLからOAuthの同意画面を作成します。
63
- * https://console.cloud.google.com/apis/credentials/consent
64
- * その後、サービスアカウントから作成します。
65
- * https://console.cloud.google.com/iam-admin/serviceaccounts
66
- *
67
- * @param process.env.PURCHASE_ANDROID_SERVICEACCOUNT_PRIVATE_KEY
68
- * A private key for your Google service account.
69
- * Create an OAuth consent screen from the URL below.
70
- * https://console.cloud.google.com/apis/credentials/consent
71
- * It is then created from the service account.
72
- * https://console.cloud.google.com/iam-admin/serviceaccounts
73
- * After creating a service account, create a key in Json format from the Key tab.
74
- * The private key is described there.
75
- *
76
- * Googleのサービスアカウントのプライベートキー。
77
- * 下記のURLからOAuthの同意画面を作成します。
78
- * https://console.cloud.google.com/apis/credentials/consent
79
- * その後、サービスアカウントから作成します。
80
- * https://console.cloud.google.com/iam-admin/serviceaccounts
81
- * サービスアカウント作成後、キーのタブからJson形式でキーを作成します。
82
- * プライベートキーはそこに記述されています。
83
- *
84
- * @param process.env.PURCHASE_SUBSCRIPTIONPATH
85
- * Describes the path to the collection of subscriptions.
86
- *
87
- * サブスクリプションのコレクションのパスを記述します。
88
- */
89
- module.exports = (regions, options, data) => {
90
- var _a, _b, _c;
91
- return functions.pubsub.onMessagePublished({
92
- topic: (_a = options.topic) !== null && _a !== void 0 ? _a : "purchasing",
93
- region: (_b = options.region) !== null && _b !== void 0 ? _b : regions[0],
94
- timeoutSeconds: options.timeoutSeconds,
95
- memory: options.memory,
96
- minInstances: options.minInstances,
97
- concurrency: options.concurrency,
98
- maxInstances: options.maxInstances,
99
- serviceAccount: (_c = options.serviceAccount) !== null && _c !== void 0 ? _c : undefined,
100
- }, (message) => __awaiter(void 0, void 0, void 0, function* () {
101
- var _a;
102
- try {
103
- const messageBody = message.data.message.data ?
104
- JSON.parse(Buffer.from(message.data.message.data, "base64").toString()) :
105
- null;
106
- if (messageBody) {
107
- let error = null;
108
- const firestoreDatabaseIds = (_a = options.firestoreDatabaseIds) !== null && _a !== void 0 ? _a : [""];
109
- for (const databaseId of firestoreDatabaseIds) {
110
- try {
111
- const firestoreInstance = (0, firebase_loader_1.firestoreLoader)(databaseId);
112
- const targetPath = process.env.PURCHASE_SUBSCRIPTIONPATH;
113
- const androidServiceAccountEmail = process.env.PURCHASE_ANDROID_SERVICEACCOUNT_EMAIL;
114
- const androidServiceAccountPrivateKey = process.env.PURCHASE_ANDROID_SERVICEACCOUNT_PRIVATE_KEY;
115
- if (!androidServiceAccountEmail || !androidServiceAccountPrivateKey || !targetPath) {
116
- throw new Error("The data is invalid.");
117
- }
118
- const { subscriptionNotification, packageName, } = messageBody;
119
- if (subscriptionNotification) {
120
- const { notificationType, purchaseToken, subscriptionId, } = subscriptionNotification;
121
- if (!purchaseToken || !packageName || !subscriptionId) {
122
- throw new Error("The data is invalid.");
123
- }
124
- const res = yield verifier.verifyAndroid({
125
- type: "subscriptions",
126
- serviceAccountEmail: androidServiceAccountEmail,
127
- serviceAccountPrivateKey: androidServiceAccountPrivateKey,
128
- packageName: packageName,
129
- productId: subscriptionId,
130
- purchaseToken: purchaseToken,
131
- });
132
- const search = yield firestoreInstance.collection(targetPath).where("token", "==", purchaseToken).get();
133
- if (search.empty) {
134
- console.error("The purchased data is not found.");
135
- return;
136
- }
137
- const doc = search.docs[0];
138
- const data = doc === null || doc === void 0 ? void 0 : doc.data();
139
- const path = doc === null || doc === void 0 ? void 0 : doc.ref.path;
140
- if (!data) {
141
- console.error("The purchased data is not found.");
142
- return;
143
- }
144
- const user = data["userId"];
145
- console.log(`notificationType: ${notificationType}`);
146
- switch (notificationType) {
147
- case SubscriptionNotificationTypes.SUBSCRIPTION_RECOVERED:
148
- case SubscriptionNotificationTypes.SUBSCRIPTION_RESTARTED:
149
- case SubscriptionNotificationTypes.SUBSCRIPTION_RENEWED:
150
- case SubscriptionNotificationTypes.SUBSCRIPTION_IN_GRACE_PERIOD: {
151
- for (const key in res) {
152
- if (!data[key]) {
153
- continue;
154
- }
155
- data[key] = utils.parse(res[key]);
156
- }
157
- data["expired"] = false;
158
- data["paused"] = false;
159
- data["expiredTime"] = parseInt(res["expiryTimeMillis"]);
160
- data["orderId"] = res["orderId"];
161
- data["@time"] = new Date();
162
- yield firestoreInstance.doc(path).set(data);
163
- console.log(`Updated subscription: ${data["productId"]}:${user}`);
164
- break;
165
- }
166
- case SubscriptionNotificationTypes.SUBSCRIPTION_DEFERRED:
167
- case SubscriptionNotificationTypes.SUBSCRIPTION_PRICE_CHANGE_CONFIRMED:
168
- case SubscriptionNotificationTypes.SUBSCRIPTION_PAUSE_SCHEDULE_CHANGED: {
169
- for (const key in res) {
170
- if (!data[key]) {
171
- continue;
172
- }
173
- data[key] = utils.parse(res[key]);
174
- }
175
- data["expiredTime"] = parseInt(res["expiryTimeMillis"]);
176
- data["orderId"] = res["orderId"];
177
- data["@time"] = new Date();
178
- yield firestoreInstance.doc(path).set(data);
179
- console.log(`Updated subscription: ${data["productId"]}:${user}`);
180
- break;
181
- }
182
- case SubscriptionNotificationTypes.SUBSCRIPTION_CANCELED: {
183
- for (const key in res) {
184
- if (!data[key]) {
185
- continue;
186
- }
187
- data[key] = utils.parse(res[key]);
188
- }
189
- const time = new Date().getTime();
190
- const expiryTimeMillis = data["expiredTime"] = parseInt(res["expiryTimeMillis"]);
191
- data["orderId"] = res["orderId"];
192
- data["@time"] = new Date();
193
- if (expiryTimeMillis <= time) {
194
- data["expired"] = true;
195
- data["paused"] = false;
196
- yield firestoreInstance.doc(path).set(data);
197
- console.log(`Expired subscription: ${data["productId"]}:${user}`);
198
- }
199
- else {
200
- data["expired"] = false;
201
- data["paused"] = false;
202
- yield firestoreInstance.doc(path).set(data);
203
- console.log(`Updated subscription: ${data["productId"]}:${user}`);
204
- }
205
- break;
206
- }
207
- case SubscriptionNotificationTypes.SUBSCRIPTION_REVOKED:
208
- case SubscriptionNotificationTypes.SUBSCRIPTION_EXPIRED:
209
- case SubscriptionNotificationTypes.SUBSCRIPTION_PAUSED:
210
- case SubscriptionNotificationTypes.SUBSCRIPTION_ON_HOLD: {
211
- for (const key in res) {
212
- if (!data[key]) {
213
- continue;
214
- }
215
- data[key] = utils.parse(res[key]);
216
- }
217
- data["expired"] = true;
218
- if (notificationType === SubscriptionNotificationTypes.SUBSCRIPTION_PAUSED || notificationType === SubscriptionNotificationTypes.SUBSCRIPTION_ON_HOLD) {
219
- data["paused"] = true;
220
- yield firestoreInstance.doc(path).set(data);
221
- console.log(`Paused subscription: ${data["productId"]}:${user}`);
222
- }
223
- else {
224
- data["paused"] = false;
225
- yield firestoreInstance.doc(path).set(data);
226
- console.log(`Expired subscription: ${data["productId"]}:${user}`);
227
- }
228
- break;
229
- }
230
- default:
231
- break;
232
- }
233
- if (res["linkedPurchaseToken"]) {
234
- const linkedPurchaseToken = res["linkedPurchaseToken"];
235
- const search = yield firestoreInstance.collection(targetPath).where("token", "==", linkedPurchaseToken).get();
236
- if (search.empty) {
237
- return;
238
- }
239
- const doc = search.docs[0];
240
- const data = doc === null || doc === void 0 ? void 0 : doc.data();
241
- const path = doc === null || doc === void 0 ? void 0 : doc.ref.path;
242
- if (!data) {
243
- throw new Error("The purchased data is not found.");
244
- }
245
- const user = data["userId"];
246
- data["expired"] = true;
247
- data["paused"] = false;
248
- data["@time"] = new Date();
249
- yield firestoreInstance.doc(path).set(data);
250
- console.log(`Expired subscription: ${data["productId"]}:${user}`);
251
- }
252
- }
253
- }
254
- catch (err) {
255
- error = err;
256
- }
257
- }
258
- if (error) {
259
- console.error(error);
260
- throw new functions.https.HttpsError("unknown", "Unknown error.");
261
- }
262
- }
263
- }
264
- catch (err) {
265
- console.error(err);
266
- throw new functions.https.HttpsError("unknown", "Unknown error.");
267
- }
268
- }));
269
- };
270
- /**
271
- * Notification Type.
272
- *
273
- * 通知タイプ。
274
- */
275
- var SubscriptionNotificationTypes;
276
- (function (SubscriptionNotificationTypes) {
277
- // 定期購入がアカウントの一時停止から復帰した。
278
- SubscriptionNotificationTypes[SubscriptionNotificationTypes["SUBSCRIPTION_RECOVERED"] = 1] = "SUBSCRIPTION_RECOVERED";
279
- // アクティブな定期購入が更新された。
280
- SubscriptionNotificationTypes[SubscriptionNotificationTypes["SUBSCRIPTION_RENEWED"] = 2] = "SUBSCRIPTION_RENEWED";
281
- // 定期購入が自発的または非自発的にキャンセルされた。
282
- // 自発的なキャンセルの場合、ユーザーがキャンセルしたときに送信されます。
283
- SubscriptionNotificationTypes[SubscriptionNotificationTypes["SUBSCRIPTION_CANCELED"] = 3] = "SUBSCRIPTION_CANCELED";
284
- // 新しい定期購入が購入された。
285
- SubscriptionNotificationTypes[SubscriptionNotificationTypes["SUBSCRIPTION_PURCHASED"] = 4] = "SUBSCRIPTION_PURCHASED";
286
- // 定期購入でアカウントが一時停止された(有効な場合)。
287
- SubscriptionNotificationTypes[SubscriptionNotificationTypes["SUBSCRIPTION_ON_HOLD"] = 5] = "SUBSCRIPTION_ON_HOLD";
288
- // 定期購入が猶予期間に入った(有効な場合)。
289
- SubscriptionNotificationTypes[SubscriptionNotificationTypes["SUBSCRIPTION_IN_GRACE_PERIOD"] = 6] = "SUBSCRIPTION_IN_GRACE_PERIOD";
290
- // ユーザーが [Play] > [アカウント] > [定期購入] から
291
- // 定期購入を再有効化した(定期購入の再開にはオプトインが必要)。
292
- SubscriptionNotificationTypes[SubscriptionNotificationTypes["SUBSCRIPTION_RESTARTED"] = 7] = "SUBSCRIPTION_RESTARTED";
293
- // 定期購入の料金変更がユーザーによって確認された。
294
- SubscriptionNotificationTypes[SubscriptionNotificationTypes["SUBSCRIPTION_PRICE_CHANGE_CONFIRMED"] = 8] = "SUBSCRIPTION_PRICE_CHANGE_CONFIRMED";
295
- // 定期購入の契約期間が延長された。
296
- SubscriptionNotificationTypes[SubscriptionNotificationTypes["SUBSCRIPTION_DEFERRED"] = 9] = "SUBSCRIPTION_DEFERRED";
297
- // 定期購入が一時停止された。
298
- SubscriptionNotificationTypes[SubscriptionNotificationTypes["SUBSCRIPTION_PAUSED"] = 10] = "SUBSCRIPTION_PAUSED";
299
- // 定期購入の一時停止スケジュールが変更された。
300
- SubscriptionNotificationTypes[SubscriptionNotificationTypes["SUBSCRIPTION_PAUSE_SCHEDULE_CHANGED"] = 11] = "SUBSCRIPTION_PAUSE_SCHEDULE_CHANGED";
301
- // 有効期限前にユーザーが定期購入を取り消した。
302
- SubscriptionNotificationTypes[SubscriptionNotificationTypes["SUBSCRIPTION_REVOKED"] = 12] = "SUBSCRIPTION_REVOKED";
303
- // 定期購入が期限切れになった。
304
- SubscriptionNotificationTypes[SubscriptionNotificationTypes["SUBSCRIPTION_EXPIRED"] = 13] = "SUBSCRIPTION_EXPIRED";
305
- })(SubscriptionNotificationTypes || (SubscriptionNotificationTypes = {}));
306
- //# sourceMappingURL=purchase_webhook_android.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"purchase_webhook_android.js","sourceRoot":"","sources":["../../src/functions/purchase_webhook_android.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,182 +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 utils = __importStar(require("../lib/utils"));
47
- const firebase_loader_1 = require("../lib/src/firebase_loader");
48
- /**
49
- * Webhook endpoint for IOS, which allows you to receive notifications by setting the endpoint in AppStoreConnect's [App]->[App Information]->[App Store Server Notification].
50
- *
51
- * IOS用のWebhookのエンドポイントです。AppStoreConnectの[App]->[App情報]->[App Storeサーバ通知]にエンドポイントを設定することで通知を受け取ることができるようになります。
52
- *
53
- * @param process.env.PURCHASE_IOS_SHAREDSECRET
54
- * SharedSecret for AppStore, obtained from [Apps]->[App Info]->[Shared Secret for App] in the AppStore.
55
- *
56
- * AppStoreのSharedSecret。AppStoreの[アプリ]->[App情報]->[App用共有シークレット]から取得します。
57
- *
58
- * @param process.env.PURCHASE_SUBSCRIPTIONPATH
59
- * Describes the path to the collection of subscriptions.
60
- *
61
- * サブスクリプションのコレクションのパスを記述します。
62
- */
63
- module.exports = (regions, options, data) => {
64
- var _a, _b;
65
- return functions.https.onRequest({
66
- region: (_a = options.region) !== null && _a !== void 0 ? _a : regions,
67
- timeoutSeconds: options.timeoutSeconds,
68
- memory: options.memory,
69
- minInstances: options.minInstances,
70
- concurrency: options.concurrency,
71
- maxInstances: options.maxInstances,
72
- serviceAccount: (_b = options.serviceAccount) !== null && _b !== void 0 ? _b : undefined,
73
- }, (req, res) => __awaiter(void 0, void 0, void 0, function* () {
74
- var _a;
75
- try {
76
- const message = req.body;
77
- const signedPayload = message.signedPayload;
78
- if (signedPayload) {
79
- const signedPayloadBody = signedPayload.replace(/-/g, "+").replace(/_/g, "/").split(".")[1];
80
- const messageBody = JSON.parse(Buffer.from(signedPayloadBody, "base64").toString());
81
- if (messageBody) {
82
- const { notificationType, data, } = messageBody;
83
- const { signedTransactionInfo, } = data;
84
- const signedTransactionInfoBody = signedTransactionInfo.replace(/-/g, "+").replace(/_/g, "/").split(".")[1];
85
- const transactionInfo = JSON.parse(Buffer.from(signedTransactionInfoBody, "base64").toString());
86
- let error = null;
87
- const firestoreDatabaseIds = (_a = options.firestoreDatabaseIds) !== null && _a !== void 0 ? _a : [""];
88
- for (const databaseId of firestoreDatabaseIds) {
89
- try {
90
- const firestoreInstance = (0, firebase_loader_1.firestoreLoader)(databaseId);
91
- const targetPath = process.env.PURCHASE_SUBSCRIPTIONPATH;
92
- if (transactionInfo) {
93
- const transactionId = transactionInfo.originalTransactionId;
94
- const doc = yield firestoreInstance.doc(`${targetPath}/${transactionId}`).get();
95
- const data = doc === null || doc === void 0 ? void 0 : doc.data();
96
- const path = doc === null || doc === void 0 ? void 0 : doc.ref.path;
97
- if (!data) {
98
- throw new Error("The purchased data is not found.");
99
- }
100
- const user = data["userId"];
101
- console.log(`notificationType: ${notificationType}`);
102
- switch (notificationType) {
103
- case "CONSUMPTION_REQUEST":
104
- case "DID_CHANGE_RENEWAL_STATUS":
105
- case "DID_FAIL_TO_RENEW":
106
- case "PRICE_INCREASE":
107
- case "REFUND_DECLINED": {
108
- for (const key in transactionInfo) {
109
- if (!data[key]) {
110
- continue;
111
- }
112
- data[key] = utils.parse(transactionInfo[key]);
113
- }
114
- data["expiredTime"] = parseInt(transactionInfo["expiresDate"]);
115
- data["productId"] = data["product_id"] = transactionInfo["productId"];
116
- data["orderId"] = transactionInfo["transactionId"];
117
- yield firestoreInstance.doc(path).set(data);
118
- console.log(`Updated subscription: ${data["productId"]}:${user}`);
119
- break;
120
- }
121
- case "SUBSCRIBED":
122
- case "DID_CHANGE_RENEWAL_PREF":
123
- case "DID_RENEW":
124
- case "OFFER_REDEEMED":
125
- case "RENEWAL_EXTENDED": {
126
- for (const key in transactionInfo) {
127
- if (!data[key]) {
128
- continue;
129
- }
130
- data[key] = utils.parse(transactionInfo[key]);
131
- }
132
- data["expired"] = false;
133
- data["paused"] = false;
134
- data["expiredTime"] = parseInt(transactionInfo["expiresDate"]);
135
- data["productId"] = data["product_id"] = transactionInfo["productId"];
136
- data["orderId"] = transactionInfo["transactionId"];
137
- yield firestoreInstance.doc(path).set(data);
138
- console.log(`Updated subscription: ${data["productId"]}:${user}`);
139
- break;
140
- }
141
- case "EXPIRED":
142
- case "REVOKE":
143
- case "GRACE_PERIOD_EXPIRED":
144
- case "REFUND": {
145
- for (const key in transactionInfo) {
146
- if (!data[key]) {
147
- continue;
148
- }
149
- data[key] = utils.parse(transactionInfo[key]);
150
- }
151
- data["expired"] = true;
152
- data["paused"] = false;
153
- data["productId"] = data["product_id"] = transactionInfo["productId"];
154
- data["orderId"] = transactionInfo["transactionId"];
155
- yield firestoreInstance.doc(path).set(data);
156
- console.log(`Expired subscription: ${data["productId"]}:${user}`);
157
- break;
158
- }
159
- default:
160
- break;
161
- }
162
- }
163
- }
164
- catch (err) {
165
- error = err;
166
- }
167
- }
168
- if (error) {
169
- console.error(error);
170
- throw new functions.https.HttpsError("unknown", "Unknown error.");
171
- }
172
- }
173
- }
174
- res.send({ "status": 1 });
175
- }
176
- catch (err) {
177
- console.error(err);
178
- res.end();
179
- }
180
- }));
181
- };
182
- //# sourceMappingURL=purchase_webhook_ios.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"purchase_webhook_ios.js","sourceRoot":"","sources":["../../src/functions/purchase_webhook_ios.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};