@mathrunet/masamune 1.10.3 → 2.0.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 (79) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/LICENSE +19 -22
  3. package/dist/functions/agora_cloud_recording.js +48 -38
  4. package/dist/functions/agora_cloud_recording.js.map +1 -1
  5. package/dist/functions/agora_token.js +40 -30
  6. package/dist/functions/agora_token.js.map +1 -1
  7. package/dist/functions/android_auth_code.js +25 -15
  8. package/dist/functions/android_auth_code.js.map +1 -1
  9. package/dist/functions/android_token.js +46 -34
  10. package/dist/functions/android_token.js.map +1 -1
  11. package/dist/functions/consumable_verify_android.js +45 -35
  12. package/dist/functions/consumable_verify_android.js.map +1 -1
  13. package/dist/functions/consumable_verify_ios.js +39 -29
  14. package/dist/functions/consumable_verify_ios.js.map +1 -1
  15. package/dist/functions/geocoding.js +29 -19
  16. package/dist/functions/geocoding.js.map +1 -1
  17. package/dist/functions/gmail.js +36 -26
  18. package/dist/functions/gmail.js.map +1 -1
  19. package/dist/functions/nonconsumable_verify_android.js +44 -34
  20. package/dist/functions/nonconsumable_verify_android.js.map +1 -1
  21. package/dist/functions/nonconsumable_verify_ios.js +38 -28
  22. package/dist/functions/nonconsumable_verify_ios.js.map +1 -1
  23. package/dist/functions/openai_chat_gpt.js +39 -29
  24. package/dist/functions/openai_chat_gpt.js.map +1 -1
  25. package/dist/functions/purchase_webhook_android.js +26 -18
  26. package/dist/functions/purchase_webhook_android.js.map +1 -1
  27. package/dist/functions/purchase_webhook_ios.js +92 -78
  28. package/dist/functions/purchase_webhook_ios.js.map +1 -1
  29. package/dist/functions/scheduler.js +15 -9
  30. package/dist/functions/scheduler.js.map +1 -1
  31. package/dist/functions/send_grid.js +35 -25
  32. package/dist/functions/send_grid.js.map +1 -1
  33. package/dist/functions/send_notification.js +37 -24
  34. package/dist/functions/send_notification.js.map +1 -1
  35. package/dist/functions/stripe.js +866 -858
  36. package/dist/functions/stripe.js.map +1 -1
  37. package/dist/functions/stripe_webhook.js +370 -363
  38. package/dist/functions/stripe_webhook.js.map +1 -1
  39. package/dist/functions/stripe_webhook_connect.js +72 -63
  40. package/dist/functions/stripe_webhook_connect.js.map +1 -1
  41. package/dist/functions/stripe_webhook_secure.js +72 -63
  42. package/dist/functions/stripe_webhook_secure.js.map +1 -1
  43. package/dist/functions/subscription_verify_android.js +61 -52
  44. package/dist/functions/subscription_verify_android.js.map +1 -1
  45. package/dist/functions/subscription_verify_ios.js +59 -50
  46. package/dist/functions/subscription_verify_ios.js.map +1 -1
  47. package/dist/functions.d.ts +22 -68
  48. package/dist/functions.js +22 -22
  49. package/dist/functions.js.map +1 -1
  50. package/dist/index.js +1 -1
  51. package/dist/index.js.map +1 -1
  52. package/dist/lib/call_process_function_base.d.ts +2 -15
  53. package/dist/lib/call_process_function_base.js +13 -13
  54. package/dist/lib/call_process_function_base.js.map +1 -1
  55. package/dist/lib/functions_base.d.ts +97 -9
  56. package/dist/lib/functions_base.js +10 -7
  57. package/dist/lib/functions_base.js.map +1 -1
  58. package/dist/lib/functions_data.d.ts +2 -36
  59. package/dist/lib/functions_data.js +2 -29
  60. package/dist/lib/functions_data.js.map +1 -1
  61. package/dist/lib/gmail.d.ts +2 -2
  62. package/dist/lib/gmail.js +4 -29
  63. package/dist/lib/gmail.js.map +1 -1
  64. package/dist/lib/request_process_function_base.d.ts +4 -16
  65. package/dist/lib/request_process_function_base.js +13 -13
  66. package/dist/lib/request_process_function_base.js.map +1 -1
  67. package/dist/lib/schedule_process_function_base.d.ts +13 -11
  68. package/dist/lib/schedule_process_function_base.js +15 -9
  69. package/dist/lib/schedule_process_function_base.js.map +1 -1
  70. package/dist/lib/send_grid.d.ts +1 -1
  71. package/dist/lib/send_grid.js +3 -27
  72. package/dist/lib/send_grid.js.map +1 -1
  73. package/dist/lib/send_notification.js +1 -1
  74. package/dist/lib/send_notification.js.map +1 -1
  75. package/dist/lib/verify_android.js +1 -1
  76. package/dist/lib/verify_android.js.map +1 -1
  77. package/dist/lib/verify_ios.js +1 -1
  78. package/dist/lib/verify_ios.js.map +1 -1
  79. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"consumable_verify_android.js","sourceRoot":"","sources":["../../src/functions/consumable_verify_android.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8DAAgD;AAChD,gEAAkD;AAClD,8DAAgD;AAEhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AACH,MAAM,CAAC,OAAO,GAAG,CAAC,OAAiB,EAAE,cAAsB,EAAE,IAA+B,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,EAAC,cAAc,EAAE,cAAc,EAAC,CAAC,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,CAChL,CAAO,KAAK,EAAE,EAAE;IACZ,IAAI;QACA,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC;QAC3C,6BAA6B;QAC7B,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,aAAa,CAAC;YACrC,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS;YAClC,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,aAAa;YAC1C,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,aAAa;YAC1C,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,aAAa,EAAE,KAAK,CAAC,aAAa;SACrC,CAAC,CAAC;QACH,IAAI,GAAG,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE;YAC5B,MAAM,IAAI,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,CAAC;SAC/E;QACD,6BAA6B;QAC7B,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;YAC7B,OAAO,GAAG,CAAC;SACd;QACD,gCAAgC;QAChC,MAAM,OAAO,CAAC,YAAY,CAAC;YACvB,uBAAuB,EAAE,KAAK,CAAC,IAAI;YACnC,KAAK,EAAE,KAAK,CAAC,KAAK;SACrB,CAAC,CAAC;QACH,gCAAgC;QAChC,OAAO,GAAG,CAAC;KACd;IAAC,OAAO,GAAG,EAAE;QACV,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnB,MAAM,GAAG,CAAC;KACb;AACL,CAAC,CAAA,CACJ,CAAC"}
1
+ {"version":3,"file":"consumable_verify_android.js","sourceRoot":"","sources":["../../src/functions/consumable_verify_android.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iEAAmD;AACnD,gEAAkD;AAClD,8DAAgD;AAGhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AACH,MAAM,CAAC,OAAO,GAAG,CACb,OAAiB,EACjB,OAAyB,EACzB,IAA+B,EACjC,EAAE;;IAAC,OAAA,SAAS,CAAC,KAAK,CAAC,MAAM,CACvB;QACI,MAAM,EAAE,OAAO;QACf,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,YAAY,EAAE,MAAA,OAAO,CAAC,YAAY,mCAAI,SAAS;KAClD,EACD,CAAO,KAAK,EAAE,EAAE;;QACZ,IAAI;YACA,6BAA6B;YAC7B,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,aAAa,CAAC;gBACrC,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE,MAAA,OAAO,CAAC,GAAG,CAAC,yBAAyB,mCAAI,EAAE;gBACrD,YAAY,EAAE,MAAA,OAAO,CAAC,GAAG,CAAC,6BAA6B,mCAAI,EAAE;gBAC7D,YAAY,EAAE,MAAA,OAAO,CAAC,GAAG,CAAC,6BAA6B,mCAAI,EAAE;gBAC7D,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW;gBACnC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS;gBAC/B,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC,aAAa;aAC1C,CAAC,CAAC;YACH,IAAI,GAAG,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE;gBAC5B,MAAM,IAAI,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,CAAC;aAC/E;YACD,6BAA6B;YAC7B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE;gBACvC,OAAO,GAAG,CAAC;aACd;YACD,gCAAgC;YAChC,MAAM,OAAO,CAAC,YAAY,CAAC;gBACvB,uBAAuB,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI;gBACxC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK;aAC1B,CAAC,CAAC;YACH,gCAAgC;YAChC,OAAO,GAAG,CAAC;SACd;QAAC,OAAO,GAAG,EAAE;YACV,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACnB,MAAM,GAAG,CAAC;SACb;IACL,CAAC,CAAA,CACJ,CAAA;CAAA,CAAC"}
@@ -32,7 +32,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
32
32
  });
33
33
  };
34
34
  Object.defineProperty(exports, "__esModule", { value: true });
35
- const functions = __importStar(require("firebase-functions"));
35
+ const functions = __importStar(require("firebase-functions/v2"));
36
36
  const verifier = __importStar(require("../lib/verify_ios"));
37
37
  const updater = __importStar(require("../lib/update_wallet"));
38
38
  /**
@@ -40,7 +40,7 @@ const updater = __importStar(require("../lib/update_wallet"));
40
40
  *
41
41
  * 消費型のアプリ内課金を行います。[path]に指定したドキュメント内のフィールドの値を[value]に加算します。
42
42
  *
43
- * @param purchase.ios.shared_secret
43
+ * @param process.env.PURCHASE_IOS_SHAREDSECRET
44
44
  * SharedSecret for AppStore, obtained from [Apps]->[App Info]->[Shared Secret for App] in the AppStore.
45
45
  *
46
46
  * AppStoreのSharedSecret。AppStoreの[アプリ]->[App情報]->[App用共有シークレット]から取得します。
@@ -60,33 +60,43 @@ const updater = __importStar(require("../lib/update_wallet"));
60
60
  *
61
61
  * 購入の際のレシートデータ。
62
62
  */
63
- module.exports = (regions, timeoutSeconds, data) => functions.runWith({ timeoutSeconds: timeoutSeconds }).region(...regions).https.onCall((query) => __awaiter(void 0, void 0, void 0, function* () {
64
- try {
65
- const config = functions.config().purchase;
66
- /* ==== IOS検証ここから ==== */
67
- const res = yield verifier.verifyIOS({
68
- receiptData: query.receiptData,
69
- password: config.ios.shared_secret,
70
- });
71
- const status = res["status"];
72
- if (status !== 0) {
73
- throw new functions.https.HttpsError("unauthenticated", "Illegal receipt.");
74
- }
75
- /* ==== ここまでIOS検証 ==== */
76
- if (!query.path || !query.value) {
63
+ module.exports = (regions, options, data) => {
64
+ var _a;
65
+ return functions.https.onCall({
66
+ region: regions,
67
+ timeoutSeconds: options.timeoutSeconds,
68
+ memory: options.memory,
69
+ minInstances: options.minInstances,
70
+ concurrency: options.concurrency,
71
+ maxInstances: (_a = options.maxInstances) !== null && _a !== void 0 ? _a : undefined,
72
+ }, (query) => __awaiter(void 0, void 0, void 0, function* () {
73
+ var _b;
74
+ try {
75
+ /* ==== IOS検証ここから ==== */
76
+ const res = yield verifier.verifyIOS({
77
+ receiptData: query.data.receiptData,
78
+ password: (_b = process.env.PURCHASE_IOS_SHAREDSECRET) !== null && _b !== void 0 ? _b : "",
79
+ });
80
+ const status = res["status"];
81
+ if (status !== 0) {
82
+ throw new functions.https.HttpsError("unauthenticated", "Illegal receipt.");
83
+ }
84
+ /* ==== ここまでIOS検証 ==== */
85
+ if (!query.data.path || !query.data.value) {
86
+ return res;
87
+ }
88
+ /* ==== Firestoreの更新ここから ==== */
89
+ yield updater.updateWallet({
90
+ targetDocumentFieldPath: query.data.path,
91
+ value: query.data.value,
92
+ });
93
+ /* ==== ここまでFirestoreの更新 ==== */
77
94
  return res;
78
95
  }
79
- /* ==== Firestoreの更新ここから ==== */
80
- yield updater.updateWallet({
81
- targetDocumentFieldPath: query.path,
82
- value: query.value,
83
- });
84
- /* ==== ここまでFirestoreの更新 ==== */
85
- return res;
86
- }
87
- catch (err) {
88
- console.error(err);
89
- throw err;
90
- }
91
- }));
96
+ catch (err) {
97
+ console.error(err);
98
+ throw err;
99
+ }
100
+ }));
101
+ };
92
102
  //# sourceMappingURL=consumable_verify_ios.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"consumable_verify_ios.js","sourceRoot":"","sources":["../../src/functions/consumable_verify_ios.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8DAAgD;AAChD,4DAA8C;AAC9C,8DAAgD;AAEhD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,OAAO,GAAG,CAAC,OAAiB,EAAE,cAAsB,EAAE,IAA+B,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,EAAC,cAAc,EAAE,cAAc,EAAC,CAAC,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,CAChL,CAAO,KAAK,EAAE,EAAE;IACZ,IAAI;QACA,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC;QAC3C,yBAAyB;QACzB,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,SAAS,CAAC;YACjC,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,aAAa;SACrC,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7B,IAAI,MAAM,KAAK,CAAC,EAAE;YACd,MAAM,IAAI,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,CAAC;SAC/E;QACD,yBAAyB;QACzB,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;YAC7B,OAAO,GAAG,CAAC;SACd;QACD,gCAAgC;QAChC,MAAM,OAAO,CAAC,YAAY,CAAC;YACvB,uBAAuB,EAAE,KAAK,CAAC,IAAI;YACnC,KAAK,EAAE,KAAK,CAAC,KAAK;SACrB,CACA,CAAC;QACF,gCAAgC;QAChC,OAAO,GAAG,CAAC;KACd;IAAC,OAAO,GAAG,EAAE;QACV,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnB,MAAM,GAAG,CAAC;KACb;AACL,CAAC,CAAA,CACJ,CAAC"}
1
+ {"version":3,"file":"consumable_verify_ios.js","sourceRoot":"","sources":["../../src/functions/consumable_verify_ios.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iEAAmD;AACnD,4DAA8C;AAC9C,8DAAgD;AAGhD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,OAAO,GAAG,CACb,OAAiB,EACjB,OAAyB,EACzB,IAA+B,EACjC,EAAE;;IAAC,OAAA,SAAS,CAAC,KAAK,CAAC,MAAM,CACvB;QACI,MAAM,EAAE,OAAO;QACf,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,YAAY,EAAE,MAAA,OAAO,CAAC,YAAY,mCAAI,SAAS;KAClD,EACD,CAAO,KAAK,EAAE,EAAE;;QACZ,IAAI;YACA,yBAAyB;YACzB,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,SAAS,CAAC;gBACjC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW;gBACnC,QAAQ,EAAE,MAAA,OAAO,CAAC,GAAG,CAAC,yBAAyB,mCAAI,EAAE;aACxD,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC7B,IAAI,MAAM,KAAK,CAAC,EAAE;gBACd,MAAM,IAAI,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,CAAC;aAC/E;YACD,yBAAyB;YACzB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE;gBACvC,OAAO,GAAG,CAAC;aACd;YACD,gCAAgC;YAChC,MAAM,OAAO,CAAC,YAAY,CAAC;gBACvB,uBAAuB,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI;gBACxC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK;aAC1B,CACA,CAAC;YACF,gCAAgC;YAChC,OAAO,GAAG,CAAC;SACd;QAAC,OAAO,GAAG,EAAE;YACV,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACnB,MAAM,GAAG,CAAC;SACb;IACL,CAAC,CAAA,CACJ,CAAA;CAAA,CAAC"}
@@ -32,14 +32,14 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
32
32
  });
33
33
  };
34
34
  Object.defineProperty(exports, "__esModule", { value: true });
35
- const functions = __importStar(require("firebase-functions"));
35
+ const functions = __importStar(require("firebase-functions/v2"));
36
36
  const api_1 = require("../lib/api");
37
37
  /**
38
38
  * Get latitude and longitude with GeocodingAPI.
39
39
  *
40
40
  * GeocodingAPIで緯度経度を取得します。
41
41
  *
42
- * @param {string} map.geocoding.api_key
42
+ * @param {string} process.env.MAP_GEOCODING_APIKEY
43
43
  * API key for GoogleMapGeocodingAPI. Follow the steps below to issue it.
44
44
  * https://mathru.notion.site/Google-Map-API-API-e9a65fba9795450fb9a252ab4e631ace?pvs=4
45
45
  * GoogleMapGeocodingAPI用のAPIキー。下記の手順で発行します。
@@ -49,22 +49,32 @@ const api_1 = require("../lib/api");
49
49
  * Address or postal code.
50
50
  * アドレスもしくは郵便番号。
51
51
  */
52
- module.exports = (regions, timeoutSeconds, data) => functions.runWith({ timeoutSeconds: timeoutSeconds }).region(...regions).https.onCall((query) => __awaiter(void 0, void 0, void 0, function* () {
53
- try {
54
- const address = query.address;
55
- const config = functions.config().map.geocoding;
56
- const apiKey = config.api_key;
57
- if (!address) {
58
- throw new functions.https.HttpsError("invalid-argument", "Query parameter is invalid.");
52
+ module.exports = (regions, options, data) => {
53
+ var _a;
54
+ return functions.https.onCall({
55
+ region: regions,
56
+ timeoutSeconds: options.timeoutSeconds,
57
+ memory: options.memory,
58
+ minInstances: options.minInstances,
59
+ concurrency: options.concurrency,
60
+ maxInstances: (_a = options.maxInstances) !== null && _a !== void 0 ? _a : undefined,
61
+ }, (query) => __awaiter(void 0, void 0, void 0, function* () {
62
+ var _b;
63
+ try {
64
+ const address = query.data.address;
65
+ const apiKey = (_b = process.env.MAP_GEOCODING_APIKEY) !== null && _b !== void 0 ? _b : "";
66
+ if (!address) {
67
+ throw new functions.https.HttpsError("invalid-argument", "Query parameter is invalid.");
68
+ }
69
+ const res = yield api_1.Api.get(`https://maps.googleapis.com/maps/api/geocode/json?address=${encodeURIComponent(address)}&key=${apiKey}`);
70
+ const json = (yield res.json());
71
+ console.log(json);
72
+ return Object.assign({ success: true }, json);
59
73
  }
60
- const res = yield api_1.Api.get(`https://maps.googleapis.com/maps/api/geocode/json?address=${encodeURIComponent(address)}&key=${apiKey}`);
61
- const json = (yield res.json());
62
- console.log(json);
63
- return Object.assign({ success: true }, json);
64
- }
65
- catch (err) {
66
- console.error(err);
67
- throw err;
68
- }
69
- }));
74
+ catch (err) {
75
+ console.error(err);
76
+ throw err;
77
+ }
78
+ }));
79
+ };
70
80
  //# sourceMappingURL=geocoding.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"geocoding.js","sourceRoot":"","sources":["../../src/functions/geocoding.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8DAAgD;AAChD,oCAAiC;AAEjC;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,OAAO,GAAG,CAAC,OAAiB,EAAE,cAAsB,EAAE,IAA+B,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,EAAC,cAAc,EAAE,cAAc,EAAC,CAAC,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,CAChL,CAAO,KAAK,EAAE,EAAE;IACZ,IAAI;QACA,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC9B,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC;QAChD,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,OAAO,EAAE;YACV,MAAM,IAAI,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,kBAAkB,EAAE,6BAA6B,CAAC,CAAC;SAC3F;QACD,MAAM,GAAG,GAAG,MAAM,SAAG,CAAC,GAAG,CACrB,6DAA6D,kBAAkB,CAAC,OAAO,CAAC,QAAQ,MAAM,EAAE,CAC3G,CAAC;QACF,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAA2B,CAAC;QAC1D,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClB,uBACI,OAAO,EAAE,IAAI,IACV,IAAI,EACT;KACL;IAAC,OAAO,GAAG,EAAE;QACV,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnB,MAAM,GAAG,CAAC;KACb;AACL,CAAC,CAAA,CACJ,CAAC"}
1
+ {"version":3,"file":"geocoding.js","sourceRoot":"","sources":["../../src/functions/geocoding.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iEAAmD;AACnD,oCAAiC;AAGjC;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,OAAO,GAAG,CACb,OAAiB,EACjB,OAAyB,EACzB,IAA+B,EACjC,EAAE;;IAAC,OAAA,SAAS,CAAC,KAAK,CAAC,MAAM,CACvB;QACI,MAAM,EAAE,OAAO;QACf,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,YAAY,EAAE,MAAA,OAAO,CAAC,YAAY,mCAAI,SAAS;KAClD,EACD,CAAO,KAAK,EAAE,EAAE;;QACZ,IAAI;YACA,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,OAAoC,CAAC;YAChE,MAAM,MAAM,GAAG,MAAA,OAAO,CAAC,GAAG,CAAC,oBAAoB,mCAAI,EAAE,CAAC;YACtD,IAAI,CAAC,OAAO,EAAE;gBACV,MAAM,IAAI,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,kBAAkB,EAAE,6BAA6B,CAAC,CAAC;aAC3F;YACD,MAAM,GAAG,GAAG,MAAM,SAAG,CAAC,GAAG,CACrB,6DAA6D,kBAAkB,CAAC,OAAO,CAAC,QAAQ,MAAM,EAAE,CAC3G,CAAC;YACF,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAA2B,CAAC;YAC1D,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAClB,uBACI,OAAO,EAAE,IAAI,IACV,IAAI,EACT;SACL;QAAC,OAAO,GAAG,EAAE;YACV,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACnB,MAAM,GAAG,CAAC;SACb;IACL,CAAC,CAAA,CACJ,CAAA;CAAA,CAAC"}
@@ -32,14 +32,14 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
32
32
  });
33
33
  };
34
34
  Object.defineProperty(exports, "__esModule", { value: true });
35
- const functions = __importStar(require("firebase-functions"));
35
+ const functions = __importStar(require("firebase-functions/v2"));
36
36
  const gmail = __importStar(require("../lib/gmail"));
37
37
  /**
38
38
  * Send email via Gmail.
39
39
  *
40
40
  * Gmailでメールを送信します。
41
41
  *
42
- * @param {string} mail.gmail.id
42
+ * @param {string} process.env.MAIL_GMAIL_ID
43
43
  * Gmail user ID. Follow the steps below to obtain a Gmail user ID.
44
44
  * 1. Press your icon in the upper right corner of the Google top screen and open "Manage Google Account".
45
45
  * 2. open "Security" on the left side of the screen and open "App Password
@@ -47,7 +47,7 @@ const gmail = __importStar(require("../lib/gmail"));
47
47
  * 1. Googleのトップ画面の画面右上の自分のアイコンを押下し、「Google アカウントを管理」を開く
48
48
  * 2. 画面左の「セキュリティ」を開き、「アプリ パスワード」を開く
49
49
  *
50
- * @param {string} mail.gmail.password
50
+ * @param {string} process.env.MAIL_GMAIL_PASSWORD
51
51
  * Gmail user password. Enter the password obtained in the above procedure.
52
52
  * Gmailのユーザーパスワード。上記の手順で取得したパスワードを入力します。
53
53
  *
@@ -67,28 +67,38 @@ const gmail = __importStar(require("../lib/gmail"));
67
67
  * Email content.
68
68
  * メール本文。
69
69
  */
70
- module.exports = (regions, timeoutSeconds, data) => functions.runWith({ timeoutSeconds: timeoutSeconds }).region(...regions).https.onCall((query) => __awaiter(void 0, void 0, void 0, function* () {
71
- try {
72
- const from = query.from;
73
- const to = query.to;
74
- const title = query.title;
75
- const content = query.content;
76
- if (!from || !to || !title || !content) {
77
- throw new functions.https.HttpsError("invalid-argument", "Query parameter is invalid.");
70
+ module.exports = (regions, options, data) => {
71
+ var _a;
72
+ return functions.https.onCall({
73
+ region: regions,
74
+ timeoutSeconds: options.timeoutSeconds,
75
+ memory: options.memory,
76
+ minInstances: options.minInstances,
77
+ concurrency: options.concurrency,
78
+ maxInstances: (_a = options.maxInstances) !== null && _a !== void 0 ? _a : undefined,
79
+ }, (query) => __awaiter(void 0, void 0, void 0, function* () {
80
+ try {
81
+ const from = query.data.from;
82
+ const to = query.data.to;
83
+ const title = query.data.title;
84
+ const content = query.data.content;
85
+ if (!from || !to || !title || !content) {
86
+ throw new functions.https.HttpsError("invalid-argument", "Query parameter is invalid.");
87
+ }
88
+ yield gmail.send({
89
+ from: from,
90
+ to: to,
91
+ title: title,
92
+ content: content,
93
+ });
94
+ return {
95
+ success: true,
96
+ };
78
97
  }
79
- yield gmail.send({
80
- from: from,
81
- to: to,
82
- title: title,
83
- content: content,
84
- });
85
- return {
86
- success: true,
87
- };
88
- }
89
- catch (err) {
90
- console.log(err);
91
- throw err;
92
- }
93
- }));
98
+ catch (err) {
99
+ console.log(err);
100
+ throw err;
101
+ }
102
+ }));
103
+ };
94
104
  //# sourceMappingURL=gmail.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"gmail.js","sourceRoot":"","sources":["../../src/functions/gmail.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8DAAgD;AAChD,oDAAsC;AAEtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,CAAC,OAAO,GAAG,CAAC,OAAiB,EAAE,cAAsB,EAAE,IAA+B,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,EAAC,cAAc,EAAE,cAAc,EAAC,CAAC,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,CAChL,CAAO,KAAK,EAAE,EAAE;IACZ,IAAI;QACA,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACxB,MAAM,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;QACpB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QAC1B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC,OAAO,EAAE;YACpC,MAAM,IAAI,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,kBAAkB,EAAE,6BAA6B,CAAC,CAAC;SAC3F;QACD,MAAM,KAAK,CAAC,IAAI,CAAC;YACb,IAAI,EAAE,IAAI;YACV,EAAE,EAAE,EAAE;YACN,KAAK,EAAE,KAAK;YACZ,OAAO,EAAE,OAAO;SACnB,CAAC,CAAC;QACH,OAAO;YACH,OAAO,EAAE,IAAI;SAChB,CAAC;KACL;IAAC,OAAO,GAAG,EAAE;QACV,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACjB,MAAM,GAAG,CAAC;KACb;AACL,CAAC,CAAA,CACJ,CAAC"}
1
+ {"version":3,"file":"gmail.js","sourceRoot":"","sources":["../../src/functions/gmail.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iEAAmD;AACnD,oDAAsC;AAGtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,CAAC,OAAO,GAAG,CACb,OAAiB,EACjB,OAAyB,EACzB,IAA+B,EACjC,EAAE;;IAAC,OAAA,SAAS,CAAC,KAAK,CAAC,MAAM,CACvB;QACI,MAAM,EAAE,OAAO;QACf,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,YAAY,EAAE,MAAA,OAAO,CAAC,YAAY,mCAAI,SAAS;KAClD,EACD,CAAO,KAAK,EAAE,EAAE;QACZ,IAAI;YACA,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAiC,CAAC;YAC1D,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,EAA+B,CAAC;YACtD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAkC,CAAC;YAC5D,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,OAAoC,CAAC;YAChE,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC,OAAO,EAAE;gBACpC,MAAM,IAAI,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,kBAAkB,EAAE,6BAA6B,CAAC,CAAC;aAC3F;YACD,MAAM,KAAK,CAAC,IAAI,CAAC;gBACb,IAAI,EAAE,IAAI;gBACV,EAAE,EAAE,EAAE;gBACN,KAAK,EAAE,KAAK;gBACZ,OAAO,EAAE,OAAO;aACnB,CAAC,CAAC;YACH,OAAO;gBACH,OAAO,EAAE,IAAI;aAChB,CAAC;SACL;QAAC,OAAO,GAAG,EAAE;YACV,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACjB,MAAM,GAAG,CAAC;SACb;IACL,CAAC,CAAA,CACJ,CAAA;CAAA,CAAC"}
@@ -32,7 +32,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
32
32
  });
33
33
  };
34
34
  Object.defineProperty(exports, "__esModule", { value: true });
35
- const functions = __importStar(require("firebase-functions"));
35
+ const functions = __importStar(require("firebase-functions/v2"));
36
36
  const verifier = __importStar(require("../lib/verify_android"));
37
37
  const updater = __importStar(require("../lib/update_unlock"));
38
38
  /**
@@ -40,12 +40,12 @@ const updater = __importStar(require("../lib/update_unlock"));
40
40
  *
41
41
  * 非消費型のアプリ内課金を行います。[path]に指定したドキュメント内のフィールドの値を`true`にすることでアンロックを行います。
42
42
  *
43
- * @param purchase.android.refresh_token
43
+ * @param process.env.PURCHASE_ANDROID_REFRESHTOKEN
44
44
  * Describe the refresh token that can be obtained by accessing [android_auth_code].
45
45
  *
46
46
  * [android_auth_code]にアクセスすることで取得できるリフレッシュトークンを記述します。
47
47
  *
48
- * @param purchase.android.client_id
48
+ * @param process.env.PURCHASE_ANDROID_CLIENTID
49
49
  * Google's OAuth 2.0 client ID.
50
50
  * Create an OAuth consent screen from the URL below.
51
51
  * https://console.cloud.google.com/apis/credentials/consent
@@ -58,7 +58,7 @@ const updater = __importStar(require("../lib/update_unlock"));
58
58
  * その後、認証情報からOAuth 2.0 クライアントIDを作成します。
59
59
  * https://console.cloud.google.com/apis/credentials
60
60
  *
61
- * @param purchase.android.client_secret
61
+ * @param process.env.PURCHASE_ANDROID_CLIENTSECRET
62
62
  * Google's OAuth 2.0 client secret.
63
63
  * Create an OAuth consent screen from the URL below.
64
64
  * https://console.cloud.google.com/apis/credentials/consent
@@ -91,36 +91,46 @@ const updater = __importStar(require("../lib/update_unlock"));
91
91
  *
92
92
  * 購入したときに発行された購入トークン。
93
93
  */
94
- module.exports = (regions, timeoutSeconds, data) => functions.runWith({ timeoutSeconds: timeoutSeconds }).region(...regions).https.onCall((query) => __awaiter(void 0, void 0, void 0, function* () {
95
- try {
96
- const config = functions.config().purchase;
97
- /* ==== Android検証ここから ==== */
98
- const res = yield verifier.verifyAndroid({
99
- type: "products",
100
- clientId: config.android.client_id,
101
- clientSecret: config.android.client_secret,
102
- refreshToken: config.android.refresh_token,
103
- packageName: query.packageName,
104
- productId: query.productId,
105
- purchaseToken: query.purchaseToken
106
- });
107
- if (res["purchaseState"] !== 0) {
108
- throw new functions.https.HttpsError("unauthenticated", "Illegal receipt.");
109
- }
110
- /* ==== ここまでAndroid検証 ==== */
111
- if (!query.path) {
94
+ module.exports = (regions, options, data) => {
95
+ var _a;
96
+ return functions.https.onCall({
97
+ region: regions,
98
+ timeoutSeconds: options.timeoutSeconds,
99
+ memory: options.memory,
100
+ minInstances: options.minInstances,
101
+ concurrency: options.concurrency,
102
+ maxInstances: (_a = options.maxInstances) !== null && _a !== void 0 ? _a : undefined,
103
+ }, (query) => __awaiter(void 0, void 0, void 0, function* () {
104
+ var _b, _c, _d;
105
+ try {
106
+ /* ==== Android検証ここから ==== */
107
+ const res = yield verifier.verifyAndroid({
108
+ type: "products",
109
+ clientId: (_b = process.env.PURCHASE_ANDROID_CLIENTID) !== null && _b !== void 0 ? _b : "",
110
+ clientSecret: (_c = process.env.PURCHASE_ANDROID_CLIENTSECRET) !== null && _c !== void 0 ? _c : "",
111
+ refreshToken: (_d = process.env.PURCHASE_ANDROID_REFRESHTOKEN) !== null && _d !== void 0 ? _d : "",
112
+ packageName: query.data.packageName,
113
+ productId: query.data.productId,
114
+ purchaseToken: query.data.purchaseToken
115
+ });
116
+ if (res["purchaseState"] !== 0) {
117
+ throw new functions.https.HttpsError("unauthenticated", "Illegal receipt.");
118
+ }
119
+ /* ==== ここまでAndroid検証 ==== */
120
+ if (!query.data.path) {
121
+ return res;
122
+ }
123
+ /* ==== Firestoreの更新ここから ==== */
124
+ yield updater.updateUnlock({
125
+ targetDocumentFieldPath: query.data.path,
126
+ });
127
+ /* ==== ここまでFirestoreの更新 ==== */
112
128
  return res;
113
129
  }
114
- /* ==== Firestoreの更新ここから ==== */
115
- yield updater.updateUnlock({
116
- targetDocumentFieldPath: query.path,
117
- });
118
- /* ==== ここまでFirestoreの更新 ==== */
119
- return res;
120
- }
121
- catch (err) {
122
- console.error(err);
123
- throw err;
124
- }
125
- }));
130
+ catch (err) {
131
+ console.error(err);
132
+ throw err;
133
+ }
134
+ }));
135
+ };
126
136
  //# sourceMappingURL=nonconsumable_verify_android.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nonconsumable_verify_android.js","sourceRoot":"","sources":["../../src/functions/nonconsumable_verify_android.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8DAAgD;AAChD,gEAAkD;AAClD,8DAAgD;AAEhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AACH,MAAM,CAAC,OAAO,GAAG,CAAC,OAAiB,EAAE,cAAsB,EAAE,IAA+B,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,EAAC,cAAc,EAAE,cAAc,EAAC,CAAC,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,CAChL,CAAO,KAAK,EAAE,EAAE;IACZ,IAAI;QACA,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC;QAC3C,6BAA6B;QAC7B,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,aAAa,CAAC;YACrC,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS;YAClC,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,aAAa;YAC1C,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,aAAa;YAC1C,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,aAAa,EAAE,KAAK,CAAC,aAAa;SACrC,CAAC,CAAC;QACH,IAAI,GAAG,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE;YAC5B,MAAM,IAAI,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,CAAC;SAC/E;QACD,6BAA6B;QAC7B,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;YACb,OAAO,GAAG,CAAC;SACd;QACD,gCAAgC;QAChC,MAAM,OAAO,CAAC,YAAY,CAAC;YACvB,uBAAuB,EAAE,KAAK,CAAC,IAAI;SACtC,CAAC,CAAC;QACH,gCAAgC;QAChC,OAAO,GAAG,CAAC;KACd;IAAC,OAAO,GAAG,EAAE;QACV,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnB,MAAM,GAAG,CAAC;KACb;AACL,CAAC,CAAA,CACJ,CAAC"}
1
+ {"version":3,"file":"nonconsumable_verify_android.js","sourceRoot":"","sources":["../../src/functions/nonconsumable_verify_android.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iEAAmD;AACnD,gEAAkD;AAClD,8DAAgD;AAGhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AACH,MAAM,CAAC,OAAO,GAAG,CACb,OAAiB,EACjB,OAAyB,EACzB,IAA+B,EACjC,EAAE;;IAAC,OAAA,SAAS,CAAC,KAAK,CAAC,MAAM,CACvB;QACI,MAAM,EAAE,OAAO;QACf,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,YAAY,EAAE,MAAA,OAAO,CAAC,YAAY,mCAAI,SAAS;KAClD,EACD,CAAO,KAAK,EAAE,EAAE;;QACZ,IAAI;YACA,6BAA6B;YAC7B,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,aAAa,CAAC;gBACrC,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE,MAAA,OAAO,CAAC,GAAG,CAAC,yBAAyB,mCAAI,EAAE;gBACrD,YAAY,EAAE,MAAA,OAAO,CAAC,GAAG,CAAC,6BAA6B,mCAAI,EAAE;gBAC7D,YAAY,EAAE,MAAA,OAAO,CAAC,GAAG,CAAC,6BAA6B,mCAAI,EAAE;gBAC7D,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW;gBACnC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS;gBAC/B,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC,aAAa;aAC1C,CAAC,CAAC;YACH,IAAI,GAAG,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE;gBAC5B,MAAM,IAAI,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,CAAC;aAC/E;YACD,6BAA6B;YAC7B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE;gBAClB,OAAO,GAAG,CAAC;aACd;YACD,gCAAgC;YAChC,MAAM,OAAO,CAAC,YAAY,CAAC;gBACvB,uBAAuB,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI;aAC3C,CAAC,CAAC;YACH,gCAAgC;YAChC,OAAO,GAAG,CAAC;SACd;QAAC,OAAO,GAAG,EAAE;YACV,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACnB,MAAM,GAAG,CAAC;SACb;IACL,CAAC,CAAA,CACJ,CAAA;CAAA,CAAC"}
@@ -32,7 +32,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
32
32
  });
33
33
  };
34
34
  Object.defineProperty(exports, "__esModule", { value: true });
35
- const functions = __importStar(require("firebase-functions"));
35
+ const functions = __importStar(require("firebase-functions/v2"));
36
36
  const verifier = __importStar(require("../lib/verify_ios"));
37
37
  const updater = __importStar(require("../lib/update_unlock"));
38
38
  /**
@@ -40,7 +40,7 @@ const updater = __importStar(require("../lib/update_unlock"));
40
40
  *
41
41
  * 非消費型のアプリ内課金を行います。[path]に指定したドキュメント内のフィールドの値を`true`にすることでアンロックを行います。
42
42
  *
43
- * @param purchase.ios.shared_secret
43
+ * @param process.env.PURCHASE_IOS_SHAREDSECRET
44
44
  * SharedSecret for AppStore, obtained from [Apps]->[App Info]->[Shared Secret for App] in the AppStore.
45
45
  *
46
46
  * AppStoreのSharedSecret。AppStoreの[アプリ]->[App情報]->[App用共有シークレット]から取得します。
@@ -55,32 +55,42 @@ const updater = __importStar(require("../lib/update_unlock"));
55
55
  *
56
56
  * 購入の際のレシートデータ。
57
57
  */
58
- module.exports = (regions, timeoutSeconds, data) => functions.runWith({ timeoutSeconds: timeoutSeconds }).region(...regions).https.onCall((query) => __awaiter(void 0, void 0, void 0, function* () {
59
- try {
60
- const config = functions.config().purchase;
61
- /* ==== IOS検証ここから ==== */
62
- const res = yield verifier.verifyIOS({
63
- receiptData: query.receiptData,
64
- password: config.ios.shared_secret,
65
- });
66
- const status = res["status"];
67
- if (status !== 0) {
68
- throw new functions.https.HttpsError("unauthenticated", "Illegal receipt.");
69
- }
70
- /* ==== ここまでIOS検証 ==== */
71
- if (!query.path) {
58
+ module.exports = (regions, options, data) => {
59
+ var _a;
60
+ return functions.https.onCall({
61
+ region: regions,
62
+ timeoutSeconds: options.timeoutSeconds,
63
+ memory: options.memory,
64
+ minInstances: options.minInstances,
65
+ concurrency: options.concurrency,
66
+ maxInstances: (_a = options.maxInstances) !== null && _a !== void 0 ? _a : undefined,
67
+ }, (query) => __awaiter(void 0, void 0, void 0, function* () {
68
+ var _b;
69
+ try {
70
+ /* ==== IOS検証ここから ==== */
71
+ const res = yield verifier.verifyIOS({
72
+ receiptData: query.data.receiptData,
73
+ password: (_b = process.env.PURCHASE_IOS_SHAREDSECRET) !== null && _b !== void 0 ? _b : "",
74
+ });
75
+ const status = res["status"];
76
+ if (status !== 0) {
77
+ throw new functions.https.HttpsError("unauthenticated", "Illegal receipt.");
78
+ }
79
+ /* ==== ここまでIOS検証 ==== */
80
+ if (!query.data.path) {
81
+ return res;
82
+ }
83
+ /* ==== Firestoreの更新ここから ==== */
84
+ yield updater.updateUnlock({
85
+ targetDocumentFieldPath: query.data.path,
86
+ });
87
+ /* ==== ここまでFirestoreの更新 ==== */
72
88
  return res;
73
89
  }
74
- /* ==== Firestoreの更新ここから ==== */
75
- yield updater.updateUnlock({
76
- targetDocumentFieldPath: query.path,
77
- });
78
- /* ==== ここまでFirestoreの更新 ==== */
79
- return res;
80
- }
81
- catch (err) {
82
- console.error(err);
83
- throw err;
84
- }
85
- }));
90
+ catch (err) {
91
+ console.error(err);
92
+ throw err;
93
+ }
94
+ }));
95
+ };
86
96
  //# sourceMappingURL=nonconsumable_verify_ios.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nonconsumable_verify_ios.js","sourceRoot":"","sources":["../../src/functions/nonconsumable_verify_ios.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8DAAgD;AAChD,4DAA8C;AAC9C,8DAAgD;AAEhD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,OAAO,GAAG,CAAC,OAAiB,EAAE,cAAsB,EAAE,IAA+B,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,EAAC,cAAc,EAAE,cAAc,EAAC,CAAC,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,CAChL,CAAO,KAAK,EAAE,EAAE;IACZ,IAAI;QACA,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC;QAC3C,yBAAyB;QACzB,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,SAAS,CAAC;YACjC,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,aAAa;SACrC,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7B,IAAI,MAAM,KAAK,CAAC,EAAE;YACd,MAAM,IAAI,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,CAAC;SAC/E;QACD,yBAAyB;QACzB,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;YACb,OAAO,GAAG,CAAC;SACd;QACD,gCAAgC;QAChC,MAAM,OAAO,CAAC,YAAY,CAAC;YACvB,uBAAuB,EAAE,KAAK,CAAC,IAAI;SACtC,CAAC,CAAC;QACH,gCAAgC;QAChC,OAAO,GAAG,CAAC;KACd;IAAC,OAAO,GAAG,EAAE;QACV,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnB,MAAM,GAAG,CAAC;KACb;AACL,CAAC,CAAA,CACJ,CAAC"}
1
+ {"version":3,"file":"nonconsumable_verify_ios.js","sourceRoot":"","sources":["../../src/functions/nonconsumable_verify_ios.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iEAAmD;AACnD,4DAA8C;AAC9C,8DAAgD;AAGhD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,OAAO,GAAG,CACb,OAAiB,EACjB,OAAyB,EACzB,IAA+B,EACjC,EAAE;;IAAC,OAAA,SAAS,CAAC,KAAK,CAAC,MAAM,CACvB;QACI,MAAM,EAAE,OAAO;QACf,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,YAAY,EAAE,MAAA,OAAO,CAAC,YAAY,mCAAI,SAAS;KAClD,EACD,CAAO,KAAK,EAAE,EAAE;;QACZ,IAAI;YACA,yBAAyB;YACzB,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,SAAS,CAAC;gBACjC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW;gBACnC,QAAQ,EAAE,MAAA,OAAO,CAAC,GAAG,CAAC,yBAAyB,mCAAI,EAAE;aACxD,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC7B,IAAI,MAAM,KAAK,CAAC,EAAE;gBACd,MAAM,IAAI,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,CAAC;aAC/E;YACD,yBAAyB;YACzB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE;gBAClB,OAAO,GAAG,CAAC;aACd;YACD,gCAAgC;YAChC,MAAM,OAAO,CAAC,YAAY,CAAC;gBACvB,uBAAuB,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI;aAC3C,CAAC,CAAC;YACH,gCAAgC;YAChC,OAAO,GAAG,CAAC;SACd;QAAC,OAAO,GAAG,EAAE;YACV,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACnB,MAAM,GAAG,CAAC;SACb;IACL,CAAC,CAAA,CACJ,CAAA;CAAA,CAAC"}
@@ -32,14 +32,14 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
32
32
  });
33
33
  };
34
34
  Object.defineProperty(exports, "__esModule", { value: true });
35
- const functions = __importStar(require("firebase-functions"));
35
+ const functions = __importStar(require("firebase-functions/v2"));
36
36
  const api_1 = require("../lib/api");
37
37
  /**
38
38
  * The text is generated using Open AI's GPT.
39
39
  *
40
40
  * Open AIのChat GPTを利用して文章を生成します。
41
41
  *
42
- * @param openai.api_key
42
+ * @param process.env.OPENAI_APIKEY
43
43
  * Set the API key, which can be obtained from the following URL.
44
44
  *
45
45
  * 下記URLから取得できるAPIキーを設定します。
@@ -63,32 +63,42 @@ const api_1 = require("../lib/api");
63
63
  * サンプリング温度(※)を 0〜1 の間で指定します。
64
64
  * 値が低いほど、より関連性の高い単語が選ばれやすくなり、値が高いほど、より多様な単語が選ばれやすくなります。
65
65
  */
66
- module.exports = (regions, timeoutSeconds, data) => functions.runWith({ timeoutSeconds: timeoutSeconds }).region(...regions).https.onCall((query) => __awaiter(void 0, void 0, void 0, function* () {
67
- var _a, _b;
68
- try {
69
- const apiKey = functions.config().openai.api_key;
70
- const message = query.message;
71
- const model = (_a = query.model) !== null && _a !== void 0 ? _a : "gpt-3.5-turbo";
72
- const temperature = (_b = query.temperature) !== null && _b !== void 0 ? _b : 1;
73
- if (message.length <= 0) {
74
- throw new functions.https.HttpsError("invalid-argument", "No content specified in `message`.");
66
+ module.exports = (regions, options, data) => {
67
+ var _a;
68
+ return functions.https.onCall({
69
+ region: regions,
70
+ timeoutSeconds: options.timeoutSeconds,
71
+ memory: options.memory,
72
+ minInstances: options.minInstances,
73
+ concurrency: options.concurrency,
74
+ maxInstances: (_a = options.maxInstances) !== null && _a !== void 0 ? _a : undefined,
75
+ }, (query) => __awaiter(void 0, void 0, void 0, function* () {
76
+ var _b, _c, _d, _e;
77
+ try {
78
+ const apiKey = (_b = process.env.OPENAI_APIKEY) !== null && _b !== void 0 ? _b : "";
79
+ const message = (_c = query.data.message) !== null && _c !== void 0 ? _c : [];
80
+ const model = (_d = query.data.model) !== null && _d !== void 0 ? _d : "gpt-3.5-turbo";
81
+ const temperature = (_e = query.data.temperature) !== null && _e !== void 0 ? _e : 1;
82
+ if (message.length <= 0) {
83
+ throw new functions.https.HttpsError("invalid-argument", "No content specified in `message`.");
84
+ }
85
+ const res = yield api_1.Api.post("https://api.openai.com/v1/chat/completions", {
86
+ headers: {
87
+ "Content-Type": "application/json",
88
+ "Authorization": `Bearer ${apiKey}`,
89
+ },
90
+ data: JSON.stringify({
91
+ "model": model,
92
+ "messages": message,
93
+ "temperature": temperature,
94
+ }),
95
+ });
96
+ return (yield res.json());
75
97
  }
76
- const res = yield api_1.Api.post("https://api.openai.com/v1/chat/completions", {
77
- headers: {
78
- "Content-Type": "application/json",
79
- "Authorization": `Bearer ${apiKey}`,
80
- },
81
- data: JSON.stringify({
82
- "model": model,
83
- "messages": message,
84
- "temperature": temperature,
85
- }),
86
- });
87
- return (yield res.json());
88
- }
89
- catch (err) {
90
- console.log(err);
91
- throw err;
92
- }
93
- }));
98
+ catch (err) {
99
+ console.log(err);
100
+ throw err;
101
+ }
102
+ }));
103
+ };
94
104
  //# sourceMappingURL=openai_chat_gpt.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"openai_chat_gpt.js","sourceRoot":"","sources":["../../src/functions/openai_chat_gpt.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8DAAgD;AAChD,oCAAiC;AAEjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,CAAC,OAAO,GAAG,CAAC,OAAiB,EAAE,cAAsB,EAAE,IAA+B,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,EAAC,cAAc,EAAE,cAAc,EAAC,CAAC,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,CAChL,CAAO,KAAK,EAAE,EAAE;;IACZ,IAAI;QACA,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC;QACjD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAmC,CAAC;QAC1D,MAAM,KAAK,GAAG,MAAA,KAAK,CAAC,KAA2B,mCAAI,eAAe,CAAC;QACnE,MAAM,WAAW,GAAG,MAAA,KAAK,CAAC,WAAiC,mCAAI,CAAC,CAAC;QACjE,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE;YACrB,MAAM,IAAI,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,kBAAkB,EAAE,oCAAoC,CAAC,CAAC;SAClG;QACD,MAAM,GAAG,GAAG,MAAM,SAAG,CAAC,IAAI,CAAC,4CAA4C,EAAE;YACrE,OAAO,EAAE;gBACL,cAAc,EAAE,kBAAkB;gBAClC,eAAe,EAAE,UAAU,MAAM,EAAE;aACtC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACjB,OAAO,EAAE,KAAK;gBACd,UAAU,EAAE,OAAO;gBACnB,aAAa,EAAE,WAAW;aAC7B,CAAC;SACL,CAAC,CAAC;QAEH,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAA2B,CAAC;KACvD;IAAC,OAAO,GAAG,EAAE;QACV,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACjB,MAAM,GAAG,CAAC;KACb;AACL,CAAC,CAAA,CACJ,CAAC"}
1
+ {"version":3,"file":"openai_chat_gpt.js","sourceRoot":"","sources":["../../src/functions/openai_chat_gpt.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iEAAmD;AACnD,oCAAiC;AAGjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,CAAC,OAAO,GAAG,CACb,OAAiB,EACjB,OAAyB,EACzB,IAA+B,EACjC,EAAE;;IAAC,OAAA,SAAS,CAAC,KAAK,CAAC,MAAM,CACvB;QACI,MAAM,EAAE,OAAO;QACf,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,YAAY,EAAE,MAAA,OAAO,CAAC,YAAY,mCAAI,SAAS;KAClD,EACD,CAAO,KAAK,EAAE,EAAE;;QACZ,IAAI;YACA,MAAM,MAAM,GAAG,MAAA,OAAO,CAAC,GAAG,CAAC,aAAa,mCAAI,EAAE,CAAC;YAC/C,MAAM,OAAO,GAAG,MAAA,KAAK,CAAC,IAAI,CAAC,OAA+C,mCAAI,EAAE,CAAC;YACjF,MAAM,KAAK,GAAG,MAAA,KAAK,CAAC,IAAI,CAAC,KAA2B,mCAAI,eAAe,CAAC;YACxE,MAAM,WAAW,GAAG,MAAA,KAAK,CAAC,IAAI,CAAC,WAAiC,mCAAI,CAAC,CAAC;YACtE,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE;gBACrB,MAAM,IAAI,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,kBAAkB,EAAE,oCAAoC,CAAC,CAAC;aAClG;YACD,MAAM,GAAG,GAAG,MAAM,SAAG,CAAC,IAAI,CAAC,4CAA4C,EAAE;gBACrE,OAAO,EAAE;oBACL,cAAc,EAAE,kBAAkB;oBAClC,eAAe,EAAE,UAAU,MAAM,EAAE;iBACtC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACjB,OAAO,EAAE,KAAK;oBACd,UAAU,EAAE,OAAO;oBACnB,aAAa,EAAE,WAAW;iBAC7B,CAAC;aACL,CAAC,CAAC;YAEH,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAA2B,CAAC;SACvD;QAAC,OAAO,GAAG,EAAE;YACV,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACjB,MAAM,GAAG,CAAC;SACb;IACL,CAAC,CAAA,CACJ,CAAA;CAAA,CAAC"}