@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,170 +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_ios"));
47
- const subscriber = __importStar(require("../lib/functions/update_subscription"));
48
- const firebase_loader_1 = require("../lib/src/firebase_loader");
49
- /**
50
- * Verify subscriptions and add data.
51
- *
52
- * サブスクリプションの検証とデータの追加を行います。
53
- *
54
- * @param process.env.PURCHASE_IOS_SHAREDSECRET
55
- * SharedSecret for AppStore, obtained from [Apps]->[App Info]->[Shared Secret for App] in the AppStore.
56
- *
57
- * AppStoreのSharedSecret。AppStoreの[アプリ]->[App情報]->[App用共有シークレット]から取得します。
58
- *
59
- * @param process.env.PURCHASE_SUBSCRIPTIONPATH
60
- * Describes the path to the collection of subscriptions.
61
- *
62
- * サブスクリプションのコレクションのパスを記述します。
63
- *
64
- * @param purchaseId
65
- * Subscription purchase ID.
66
- *
67
- * サブスクリプションの購入ID。
68
- *
69
- * @param productId
70
- * Item ID issued by Google Play.
71
- *
72
- * GooglePlayで発行されたアイテムID。
73
- *
74
- * @param receiptData
75
- * Receipt data for purchases.
76
- *
77
- * 購入の際のレシートデータ。
78
- *
79
- * @param data
80
- * Document data to be updated.
81
- *
82
- * 更新するドキュメントデータ。
83
- *
84
- * @param userId
85
- * ID of the user who purchased the subscription.
86
- *
87
- * サブスクリプションを購入したユーザーのID。
88
- */
89
- module.exports = (regions, options, data) => {
90
- var _a, _b, _c, _d;
91
- return functions.https.onCall({
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 === null || options === void 0 ? void 0 : options.serviceAccount) !== null && _b !== void 0 ? _b : undefined,
99
- enforceAppCheck: (_c = options.enforceAppCheck) !== null && _c !== void 0 ? _c : undefined,
100
- consumeAppCheckToken: (_d = options.consumeAppCheckToken) !== null && _d !== void 0 ? _d : undefined,
101
- }, (query) => __awaiter(void 0, void 0, void 0, function* () {
102
- var _a, _b, _c, _d;
103
- try {
104
- /* ==== IOS検証ここから ==== */
105
- if (!query.data.userId) {
106
- throw new functions.https.HttpsError("invalid-argument", "User is empty.");
107
- }
108
- const res = yield verifier.verifyIOS({
109
- receiptData: query.data.receiptData,
110
- password: (_a = process.env.PURCHASE_IOS_SHAREDSECRET) !== null && _a !== void 0 ? _a : "",
111
- transactionId: query.data.transactionId,
112
- storeKitVersion: (_b = query.data.storeKitVersion) !== null && _b !== void 0 ? _b : 1,
113
- });
114
- const status = res["status"];
115
- if (status !== 0) {
116
- throw new functions.https.HttpsError("not-found", "Illegal receipt.");
117
- }
118
- const time = new Date().getTime();
119
- const info = res["latest_receipt_info"];
120
- const pending = res["pending_renewal_info"];
121
- const startTimeMillis = parseInt(info[info.length - 1]["purchase_date_ms"]);
122
- const expiryTimeMillis = parseInt(info[info.length - 1]["expires_date_ms"]);
123
- const currentProductId = info[info.length - 1]["product_id"];
124
- if (res === null || isNaN(startTimeMillis) || isNaN(expiryTimeMillis) || startTimeMillis <= 0) {
125
- throw new functions.https.HttpsError("not-found", "Illegal receipt.");
126
- }
127
- if (expiryTimeMillis <= time) {
128
- info[info.length - 1]["expired"] = true;
129
- }
130
- /* ==== ここまでIOS検証 ==== */
131
- /* ==== Firestoreの更新ここから ==== */
132
- let error = null;
133
- const firestoreDatabaseIds = (_c = options.firestoreDatabaseIds) !== null && _c !== void 0 ? _c : [""];
134
- for (const databaseId of firestoreDatabaseIds) {
135
- try {
136
- const firestoreInstance = (0, firebase_loader_1.firestoreLoader)(databaseId);
137
- yield subscriber.updateSubscription({
138
- targetCollectionPath: (_d = query.data.path) !== null && _d !== void 0 ? _d : process.env.PURCHASE_SUBSCRIPTIONPATH,
139
- targetDocumentId: info[info.length - 1]["original_transaction_id"],
140
- data: info[info.length - 1],
141
- additionalData: query.data,
142
- userId: query.data.userId,
143
- platform: "IOS",
144
- orderId: info[info.length - 1]["original_transaction_id"],
145
- productId: currentProductId,
146
- purchaseId: query.data.purchaseId,
147
- packageName: res["receipt"]["bundle_id"],
148
- token: query.data.receiptData,
149
- expiryDate: expiryTimeMillis,
150
- firestoreInstance: firestoreInstance,
151
- });
152
- }
153
- catch (err) {
154
- error = err;
155
- }
156
- }
157
- if (error) {
158
- console.error(error);
159
- throw new functions.https.HttpsError("unknown", "Unknown error.");
160
- }
161
- /* ==== ここまでFirestoreの更新 ==== */
162
- return res;
163
- }
164
- catch (err) {
165
- console.error(err);
166
- throw new functions.https.HttpsError("unknown", "Unknown error.");
167
- }
168
- }));
169
- };
170
- //# sourceMappingURL=subscription_verify_ios.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"subscription_verify_ios.js","sourceRoot":"","sources":["../../src/functions/subscription_verify_ios.ts"],"names":[],"mappings":"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"}
package/dist/lib/api.d.ts DELETED
@@ -1,185 +0,0 @@
1
- import { Response as ApiResponse, HeadersInit as ApiHeaders } from "node-fetch";
2
- export { Response as ApiResponse, HeadersInit as ApiHeaders } from "node-fetch";
3
- /**
4
- * API for Rest can be called.
5
- *
6
- * Rest用のAPIを呼び出すことができます。
7
- */
8
- export declare abstract class Api {
9
- /**
10
- * Call the API with the `GET` parameter.
11
- *
12
- * `GET`パラメーターでAPIを呼び出します。
13
- *
14
- * @param {string} url
15
- * The URL of the API to call.
16
- *
17
- * 呼び出すAPIのURL。
18
- *
19
- * @param {GetRequestOptions | undefined} options
20
- * Options for `GET` requests.
21
- *
22
- * `GET`リクエスト用のオプション。
23
- *
24
- * @returns {Promise<ApiResponse>}
25
- * Response from API.
26
- *
27
- * APIからのレスポンス。
28
- */
29
- static get(url: string, options?: GetRequestOptions | undefined): Promise<ApiResponse>;
30
- /**
31
- * Call the API with the `POST` parameter.
32
- *
33
- * `POST`パラメーターでAPIを呼び出します。
34
- *
35
- * @param {string} url
36
- * The URL of the API to call.
37
- *
38
- * 呼び出すAPIのURL。
39
- *
40
- * @param {PostRequestOptions | undefined} options
41
- * Options for `POST` requests.
42
- *
43
- * `POST`リクエスト用のオプション。
44
- *
45
- * @returns {Promise<ApiResponse>}
46
- * Response from API.
47
- *
48
- * APIからのレスポンス。
49
- */
50
- static post(url: string, options?: PostRequestOptions | undefined): Promise<ApiResponse>;
51
- /**
52
- * Call the API with the `PUT` parameter.
53
- *
54
- * `PUT`パラメーターでAPIを呼び出します。
55
- *
56
- * @param {string} url
57
- * The URL of the API to call.
58
- *
59
- * 呼び出すAPIのURL。
60
- *
61
- * @param {PutRequestOptions | undefined} options
62
- * Options for `PUT` requests.
63
- *
64
- * `PUT`リクエスト用のオプション。
65
- *
66
- * @returns {Promise<ApiResponse>}
67
- * Response from API.
68
- *
69
- * APIからのレスポンス。
70
- */
71
- static put(url: string, options?: PutRequestOptions | undefined): Promise<ApiResponse>;
72
- /**
73
- * Call the API with the `DELETE` parameter.
74
- *
75
- * `DELETE`パラメーターでAPIを呼び出します。
76
- *
77
- * @param {string} url
78
- * The URL of the API to call.
79
- *
80
- * 呼び出すAPIのURL。
81
- *
82
- * @param {DeleteRequestOptions | undefined} options
83
- * Options for `DELETE` requests.
84
- *
85
- * `DELETE`リクエスト用のオプション。
86
- *
87
- * @returns {Promise<ApiResponse>}
88
- * Response from API.
89
- *
90
- * APIからのレスポンス。
91
- */
92
- static delete(url: string, options?: DeleteRequestOptions | undefined): Promise<ApiResponse>;
93
- }
94
- /**
95
- * Options for `GET` requests.
96
- *
97
- * `GET`リクエスト用のオプション。
98
- *
99
- * @param {ApiHeaders | undefined} headers
100
- * Header information to be sent to the API.
101
- *
102
- * APIに送信するヘッダー情報。
103
- *
104
- * @param {number | undefined} timeout
105
- * Timeout time for API call.
106
- *
107
- * API呼び出しのタイムアウト時間。
108
- */
109
- export interface GetRequestOptions {
110
- headers?: ApiHeaders | undefined;
111
- timeout?: number | undefined;
112
- }
113
- /**
114
- * Options for `POST` requests.
115
- *
116
- * `POST`リクエスト用のオプション。
117
- *
118
- * @param {ApiHeaders | undefined} headers
119
- * Header information to be sent to the API.
120
- *
121
- * APIに送信するヘッダー情報。
122
- *
123
- * @param {number | undefined} timeout
124
- * Timeout time for API call.
125
- *
126
- * API呼び出しのタイムアウト時間。
127
- *
128
- * @param {data: { [key: string]: any } | string | undefined}
129
- * Data to be sent to the API.
130
- *
131
- * APIに送信するデータ。
132
- */
133
- export interface PostRequestOptions {
134
- headers?: ApiHeaders | undefined;
135
- timeout?: number | undefined;
136
- data: {
137
- [key: string]: any;
138
- } | string | undefined;
139
- }
140
- /**
141
- * Options for `PUT` requests.
142
- *
143
- * `PUT`リクエスト用のオプション。
144
- *
145
- * @param {ApiHeaders | undefined} headers
146
- * Header information to be sent to the API.
147
- *
148
- * APIに送信するヘッダー情報。
149
- *
150
- * @param {number | undefined} timeout
151
- * Timeout time for API call.
152
- *
153
- * API呼び出しのタイムアウト時間。
154
- *
155
- * @param {data: { [key: string]: any } | string | undefined}
156
- * Data to be sent to the API.
157
- *
158
- * APIに送信するデータ。
159
- */
160
- export interface PutRequestOptions {
161
- headers?: ApiHeaders | undefined;
162
- timeout?: number | undefined;
163
- data: {
164
- [key: string]: any;
165
- } | string | undefined;
166
- }
167
- /**
168
- * Options for `DELETE` requests.
169
- *
170
- * `DELETE`リクエスト用のオプション。
171
- *
172
- * @param {ApiHeaders | undefined} headers
173
- * Header information to be sent to the API.
174
- *
175
- * APIに送信するヘッダー情報。
176
- *
177
- * @param {number | undefined} timeout
178
- * Timeout time for API call.
179
- *
180
- * API呼び出しのタイムアウト時間。
181
- */
182
- export interface DeleteRequestOptions {
183
- headers?: ApiHeaders | undefined;
184
- timeout?: number | undefined;
185
- }
package/dist/lib/api.js DELETED
@@ -1,172 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.Api = exports.ApiResponse = void 0;
16
- const node_fetch_1 = __importDefault(require("node-fetch"));
17
- const form_data_1 = __importDefault(require("form-data"));
18
- var node_fetch_2 = require("node-fetch");
19
- Object.defineProperty(exports, "ApiResponse", { enumerable: true, get: function () { return node_fetch_2.Response; } });
20
- /**
21
- * API for Rest can be called.
22
- *
23
- * Rest用のAPIを呼び出すことができます。
24
- */
25
- class Api {
26
- /**
27
- * Call the API with the `GET` parameter.
28
- *
29
- * `GET`パラメーターでAPIを呼び出します。
30
- *
31
- * @param {string} url
32
- * The URL of the API to call.
33
- *
34
- * 呼び出すAPIのURL。
35
- *
36
- * @param {GetRequestOptions | undefined} options
37
- * Options for `GET` requests.
38
- *
39
- * `GET`リクエスト用のオプション。
40
- *
41
- * @returns {Promise<ApiResponse>}
42
- * Response from API.
43
- *
44
- * APIからのレスポンス。
45
- */
46
- static get(url, options) {
47
- return __awaiter(this, void 0, void 0, function* () {
48
- const res = yield (0, node_fetch_1.default)(url, {
49
- method: "GET",
50
- headers: options === null || options === void 0 ? void 0 : options.headers,
51
- timeout: options === null || options === void 0 ? void 0 : options.timeout,
52
- });
53
- return res;
54
- });
55
- }
56
- /**
57
- * Call the API with the `POST` parameter.
58
- *
59
- * `POST`パラメーターでAPIを呼び出します。
60
- *
61
- * @param {string} url
62
- * The URL of the API to call.
63
- *
64
- * 呼び出すAPIのURL。
65
- *
66
- * @param {PostRequestOptions | undefined} options
67
- * Options for `POST` requests.
68
- *
69
- * `POST`リクエスト用のオプション。
70
- *
71
- * @returns {Promise<ApiResponse>}
72
- * Response from API.
73
- *
74
- * APIからのレスポンス。
75
- */
76
- static post(url, options) {
77
- return __awaiter(this, void 0, void 0, function* () {
78
- const data = options === null || options === void 0 ? void 0 : options.data;
79
- let body = undefined;
80
- if (data && typeof data === "string") {
81
- body = data;
82
- }
83
- else if (data && typeof data === "object") {
84
- body = new form_data_1.default();
85
- for (const key in data) {
86
- body.append(key, data[key]);
87
- }
88
- }
89
- const res = yield (0, node_fetch_1.default)(url, {
90
- method: "POST",
91
- headers: options === null || options === void 0 ? void 0 : options.headers,
92
- body: body,
93
- timeout: options === null || options === void 0 ? void 0 : options.timeout,
94
- });
95
- return res;
96
- });
97
- }
98
- /**
99
- * Call the API with the `PUT` parameter.
100
- *
101
- * `PUT`パラメーターでAPIを呼び出します。
102
- *
103
- * @param {string} url
104
- * The URL of the API to call.
105
- *
106
- * 呼び出すAPIのURL。
107
- *
108
- * @param {PutRequestOptions | undefined} options
109
- * Options for `PUT` requests.
110
- *
111
- * `PUT`リクエスト用のオプション。
112
- *
113
- * @returns {Promise<ApiResponse>}
114
- * Response from API.
115
- *
116
- * APIからのレスポンス。
117
- */
118
- static put(url, options) {
119
- return __awaiter(this, void 0, void 0, function* () {
120
- const data = options === null || options === void 0 ? void 0 : options.data;
121
- let body = undefined;
122
- if (data && typeof data === "string") {
123
- body = data;
124
- }
125
- else if (data && typeof data === "object") {
126
- body = new form_data_1.default();
127
- for (const key in data) {
128
- body.append(key, data[key]);
129
- }
130
- }
131
- const res = yield (0, node_fetch_1.default)(url, {
132
- method: "PUT",
133
- headers: options === null || options === void 0 ? void 0 : options.headers,
134
- body: body,
135
- timeout: options === null || options === void 0 ? void 0 : options.timeout,
136
- });
137
- return res;
138
- });
139
- }
140
- /**
141
- * Call the API with the `DELETE` parameter.
142
- *
143
- * `DELETE`パラメーターでAPIを呼び出します。
144
- *
145
- * @param {string} url
146
- * The URL of the API to call.
147
- *
148
- * 呼び出すAPIのURL。
149
- *
150
- * @param {DeleteRequestOptions | undefined} options
151
- * Options for `DELETE` requests.
152
- *
153
- * `DELETE`リクエスト用のオプション。
154
- *
155
- * @returns {Promise<ApiResponse>}
156
- * Response from API.
157
- *
158
- * APIからのレスポンス。
159
- */
160
- static delete(url, options) {
161
- return __awaiter(this, void 0, void 0, function* () {
162
- const res = yield (0, node_fetch_1.default)(url, {
163
- method: "DELETE",
164
- headers: options === null || options === void 0 ? void 0 : options.headers,
165
- timeout: options === null || options === void 0 ? void 0 : options.timeout,
166
- });
167
- return res;
168
- });
169
- }
170
- }
171
- exports.Api = Api;
172
- //# sourceMappingURL=api.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/lib/api.ts"],"names":[],"mappings":"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"}