@mathrunet/masamune 0.5.3 → 0.6.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.
- package/CHANGELOG.md +13 -0
- package/dist/functions/agora_cloud_recording.js +1 -1
- package/dist/functions/agora_cloud_recording.js.map +1 -1
- package/dist/functions/agora_token.js +1 -1
- package/dist/functions/agora_token.js.map +1 -1
- package/dist/functions/android_auth_code.js +1 -1
- package/dist/functions/android_auth_code.js.map +1 -1
- package/dist/functions/android_token.js +1 -1
- package/dist/functions/android_token.js.map +1 -1
- package/dist/functions/consumable_verify_android.js +1 -1
- package/dist/functions/consumable_verify_android.js.map +1 -1
- package/dist/functions/consumable_verify_ios.js +1 -1
- package/dist/functions/consumable_verify_ios.js.map +1 -1
- package/dist/functions/gmail.js +1 -1
- package/dist/functions/gmail.js.map +1 -1
- package/dist/functions/nonconsumable_verify_android.js +1 -1
- package/dist/functions/nonconsumable_verify_android.js.map +1 -1
- package/dist/functions/nonconsumable_verify_ios.js +1 -1
- package/dist/functions/nonconsumable_verify_ios.js.map +1 -1
- package/dist/functions/openai_chat_gpt.js +1 -1
- package/dist/functions/openai_chat_gpt.js.map +1 -1
- package/dist/functions/{purchase_hook_android.js → purchase_webhook_android.js} +111 -108
- package/dist/functions/purchase_webhook_android.js.map +1 -0
- package/dist/functions/{purchase_hook_ios.js → purchase_webhook_ios.js} +3 -3
- package/dist/functions/purchase_webhook_ios.js.map +1 -0
- package/dist/functions/send_grid.js +1 -1
- package/dist/functions/send_grid.js.map +1 -1
- package/dist/functions/send_notification.js +1 -1
- package/dist/functions/send_notification.js.map +1 -1
- package/dist/functions/stripe.js +1 -1
- package/dist/functions/stripe.js.map +1 -1
- package/dist/functions/stripe_webhook.d.ts +1 -0
- package/dist/functions/stripe_webhook.js +573 -0
- package/dist/functions/stripe_webhook.js.map +1 -0
- package/dist/functions/stripe_webhook_connect.d.ts +1 -0
- package/dist/functions/stripe_webhook_connect.js +140 -0
- package/dist/functions/stripe_webhook_connect.js.map +1 -0
- package/dist/functions/stripe_webhook_secure.d.ts +1 -0
- package/dist/functions/stripe_webhook_secure.js +150 -0
- package/dist/functions/stripe_webhook_secure.js.map +1 -0
- package/dist/functions/subscription_verify_android.js +2 -2
- package/dist/functions/subscription_verify_android.js.map +1 -1
- package/dist/functions/subscription_verify_ios.js +2 -2
- package/dist/functions/subscription_verify_ios.js.map +1 -1
- package/dist/functions.d.ts +13 -13
- package/dist/functions.js +13 -13
- package/dist/functions.js.map +1 -1
- package/dist/index.d.ts +6 -1
- package/dist/index.js +5 -2
- package/dist/index.js.map +1 -1
- package/dist/lib/functions_data.d.ts +6 -2
- package/dist/lib/functions_data.js.map +1 -1
- package/package.json +1 -1
- package/dist/functions/purchase_hook_android.js.map +0 -1
- package/dist/functions/purchase_hook_ios.js.map +0 -1
- /package/dist/functions/{purchase_hook_android.d.ts → purchase_webhook_android.d.ts} +0 -0
- /package/dist/functions/{purchase_hook_ios.d.ts → purchase_webhook_ios.d.ts} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,16 @@
|
|
|
1
|
+
# [0.6.0](https://github.com/mathrunet/node_masamune/compare/v0.5.3...v0.6.0) (2023-06-23)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### docs
|
|
5
|
+
|
|
6
|
+
* Corrected variable names in the documentation. ([e17c24f](https://github.com/mathrunet/node_masamune/commit/e17c24f39ca0e578dbd846d034640caf4a6762cb))
|
|
7
|
+
|
|
8
|
+
### feat
|
|
9
|
+
|
|
10
|
+
* Topic is now configurable. ([36b70ec](https://github.com/mathrunet/node_masamune/commit/36b70ecd53db9d34a3fc19561158a08b1bb09e6e))
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
1
14
|
## [0.5.3](https://github.com/mathrunet/node_masamune/compare/v0.5.2...v0.5.3) (2023-06-22)
|
|
2
15
|
|
|
3
16
|
|
|
@@ -43,7 +43,7 @@ const admin = __importStar(require("firebase-admin"));
|
|
|
43
43
|
*
|
|
44
44
|
* FirebaseStorageにファイルが保存されたタイミングで実行されます。
|
|
45
45
|
*/
|
|
46
|
-
module.exports = () => functions.storage.object().onFinalize((object) => __awaiter(void 0, void 0, void 0, function* () {
|
|
46
|
+
module.exports = (regions, topics) => functions.storage.object().onFinalize((object) => __awaiter(void 0, void 0, void 0, function* () {
|
|
47
47
|
try {
|
|
48
48
|
const source = object.name;
|
|
49
49
|
if (!source) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agora_cloud_recording.js","sourceRoot":"","sources":["../../src/functions/agora_cloud_recording.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8DAAgD;AAChD,sDAAwC;AAExC;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,GAAG,
|
|
1
|
+
{"version":3,"file":"agora_cloud_recording.js","sourceRoot":"","sources":["../../src/functions/agora_cloud_recording.ts"],"names":[],"mappings":"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"}
|
|
@@ -74,7 +74,7 @@ const agora_token_1 = require("agora-token");
|
|
|
74
74
|
*
|
|
75
75
|
* 役割。"audience"か"broadcaster"が指定できます。
|
|
76
76
|
*/
|
|
77
|
-
module.exports = (regions) => functions.region(...regions).https.onCall((query) => __awaiter(void 0, void 0, void 0, function* () {
|
|
77
|
+
module.exports = (regions, topics) => functions.region(...regions).https.onCall((query) => __awaiter(void 0, void 0, void 0, function* () {
|
|
78
78
|
try {
|
|
79
79
|
const config = functions.config().agora;
|
|
80
80
|
const appId = config.app_id;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agora_token.js","sourceRoot":"","sources":["../../src/functions/agora_token.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8DAAgD;AAChD,6CAAuD;AAEvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,MAAM,CAAC,OAAO,GAAG,CAAC,OAAiB,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"agora_token.js","sourceRoot":"","sources":["../../src/functions/agora_token.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8DAAgD;AAChD,6CAAuD;AAEvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,MAAM,CAAC,OAAO,GAAG,CAAC,OAAiB,EAAE,MAAiC,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,CAChH,CAAO,KAAK,EAAE,EAAE;IACZ,IAAI;QACA,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC;QACxC,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,MAAM,cAAc,GAAG,MAAM,CAAC,eAAe,CAAC;QAC9C,MAAM,uBAAuB,GAAG,IAAI,CAAC;QACrC,IAAI,IAAI,GAAG,qBAAO,CAAC,SAAS,CAAC;QAC7B,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE;YAC3B,IAAI,GAAG,qBAAO,CAAC,UAAU,CAAC;SAC7B;QACD,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC;QAC/B,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,IAAI,KAAK,CAAC,GAAG,EAAE;YACX,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;SACnB;QACD,IAAI,CAAC,WAAW,EAAE;YACd,MAAM,IAAI,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,CAAC;SACnF;QACD,MAAM,KAAK,GAAG,6BAAe,CAAC,iBAAiB,CAC3C,KAAK,EACL,cAAc,EACd,WAAW,EACX,GAAG,EACH,IAAI,EACJ,uBAAuB,EACvB,uBAAuB,CAC1B,CAAC;QACF,OAAO;YACH,OAAO,EAAE,WAAW;YACpB,KAAK,EAAE,KAAK;SACf,CAAC;KACL;IAAC,OAAO,GAAG,EAAE;QACV,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnB,MAAM,GAAG,CAAC;KACb;AACL,CAAC,CAAA,CACJ,CAAC"}
|
|
@@ -60,7 +60,7 @@ const functions = __importStar(require("firebase-functions"));
|
|
|
60
60
|
* その後、認証情報からOAuth 2.0 クライアントIDを作成します。
|
|
61
61
|
* https://console.cloud.google.com/apis/credentials
|
|
62
62
|
*/
|
|
63
|
-
module.exports = (regions) => functions.region(...regions).https.onRequest((req, res) => __awaiter(void 0, void 0, void 0, function* () {
|
|
63
|
+
module.exports = (regions, topics) => functions.region(...regions).https.onRequest((req, res) => __awaiter(void 0, void 0, void 0, function* () {
|
|
64
64
|
try {
|
|
65
65
|
const config = functions.config().purchase;
|
|
66
66
|
if (!req.query.id || !config.android.redirect_uri) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"android_auth_code.js","sourceRoot":"","sources":["../../src/functions/android_auth_code.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8DAAgD;AAEhD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,CAAC,OAAO,GAAG,CAAC,OAAiB,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,KAAK,CAAC,SAAS,
|
|
1
|
+
{"version":3,"file":"android_auth_code.js","sourceRoot":"","sources":["../../src/functions/android_auth_code.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8DAAgD;AAEhD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,CAAC,OAAO,GAAG,CAAC,OAAiB,EAAE,MAAiC,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,KAAK,CAAC,SAAS,CACnH,CAAO,GAAG,EAAE,GAAG,EAAE,EAAE;IACf,IAAI;QACA,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC;QAC3C,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE;YAC/C,MAAM,IAAI,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,kBAAkB,EAAE,6BAA6B,CAAC,CAAC;SAC3F;QACD,GAAG,CAAC,QAAQ,CACR,0EAA0E,GAAG,CAAC,KAAK,CAAC,EAAE,iBAAiB,MAAM,CAAC,OAAO,CAAC,YAAY,mGAAmG,CACxO,CAAC;KACL;IAAC,OAAO,GAAG,EAAE;QACV,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnB,GAAG,CAAC,GAAG,EAAE,CAAC;KACb;AACL,CAAC,CAAA,CACJ,CAAC"}
|
|
@@ -78,7 +78,7 @@ const form_data_1 = __importDefault(require("form-data"));
|
|
|
78
78
|
* その後、認証情報からOAuth 2.0 クライアントIDを作成します。
|
|
79
79
|
* https://console.cloud.google.com/apis/credentials
|
|
80
80
|
*/
|
|
81
|
-
module.exports = (regions) => functions.region(...regions).https.onRequest((req, res) => __awaiter(void 0, void 0, void 0, function* () {
|
|
81
|
+
module.exports = (regions, topics) => functions.region(...regions).https.onRequest((req, res) => __awaiter(void 0, void 0, void 0, function* () {
|
|
82
82
|
try {
|
|
83
83
|
const config = functions.config().purchase;
|
|
84
84
|
if (!req.query.code || !config.android.client_id || !config.android.client_secret || !config.android.redirect_uri) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"android_token.js","sourceRoot":"","sources":["../../src/functions/android_token.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8DAAgD;AAChD,4DAA+B;AAC/B,0DAAiC;AAEjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,MAAM,CAAC,OAAO,GAAG,CAAC,OAAiB,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,KAAK,CAAC,SAAS,
|
|
1
|
+
{"version":3,"file":"android_token.js","sourceRoot":"","sources":["../../src/functions/android_token.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8DAAgD;AAChD,4DAA+B;AAC/B,0DAAiC;AAEjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,MAAM,CAAC,OAAO,GAAG,CAAC,OAAiB,EAAE,MAAiC,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,KAAK,CAAC,SAAS,CACnH,CAAO,GAAG,EAAE,GAAG,EAAE,EAAE;IACf,IAAI;QACA,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC;QAC3C,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE;YAC/G,MAAM,IAAI,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,kBAAkB,EAAE,6BAA6B,CAAC,CAAC;SAC3F;QACD,MAAM,QAAQ,GAAG,IAAI,mBAAQ,EAAE,CAAC;QAChC,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,oBAAoB,CAAC,CAAC;QACpD,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACvD,QAAQ,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAC/D,QAAQ,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC7D,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;QAC1C,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,IAAI,GAAG,MAAM,IAAA,oBAAK,EAAC,4CAA4C,EAAE;YACnE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,GAAG,IAAI;YAClB,IAAI,EAAE,QAAQ;SACjB,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,EAAE;YACP,MAAM,IAAI,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE,0BAA0B,CAAC,CAAC;SACjF;QACD,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAA2B,CAAC;QAC3D,IAAI,IAAI,KAAK,IAAI,EAAE;YACf,MAAM,IAAI,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE,0BAA0B,CAAC,CAAC;SACjF;QACD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClB,GAAG,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;KACrD;IAAC,OAAO,GAAG,EAAE;QACV,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnB,GAAG,CAAC,GAAG,EAAE,CAAC;KACb;AACL,CAAC,CAAA,CACJ,CAAC"}
|
|
@@ -96,7 +96,7 @@ const updater = __importStar(require("../lib/update_wallet"));
|
|
|
96
96
|
*
|
|
97
97
|
* 購入したときに発行された購入トークン。
|
|
98
98
|
*/
|
|
99
|
-
module.exports = (regions) => functions.region(...regions).https.onCall((query) => __awaiter(void 0, void 0, void 0, function* () {
|
|
99
|
+
module.exports = (regions, topics) => functions.region(...regions).https.onCall((query) => __awaiter(void 0, void 0, void 0, function* () {
|
|
100
100
|
try {
|
|
101
101
|
const config = functions.config().purchase;
|
|
102
102
|
/* ==== Android検証ここから ==== */
|
|
@@ -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,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,
|
|
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,MAAiC,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,CAChH,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"}
|
|
@@ -60,7 +60,7 @@ const updater = __importStar(require("../lib/update_wallet"));
|
|
|
60
60
|
*
|
|
61
61
|
* 購入の際のレシートデータ。
|
|
62
62
|
*/
|
|
63
|
-
module.exports = (regions) => functions.region(...regions).https.onCall((query) => __awaiter(void 0, void 0, void 0, function* () {
|
|
63
|
+
module.exports = (regions, topics) => functions.region(...regions).https.onCall((query) => __awaiter(void 0, void 0, void 0, function* () {
|
|
64
64
|
try {
|
|
65
65
|
const config = functions.config().purchase;
|
|
66
66
|
/* ==== IOS検証ここから ==== */
|
|
@@ -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,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,
|
|
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,MAAiC,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,CAChH,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"}
|
package/dist/functions/gmail.js
CHANGED
|
@@ -67,7 +67,7 @@ const gmail = __importStar(require("../lib/gmail"));
|
|
|
67
67
|
* Email content.
|
|
68
68
|
* メール本文。
|
|
69
69
|
*/
|
|
70
|
-
module.exports = (regions) => functions.region(...regions).https.onCall((query) => __awaiter(void 0, void 0, void 0, function* () {
|
|
70
|
+
module.exports = (regions, topics) => functions.region(...regions).https.onCall((query) => __awaiter(void 0, void 0, void 0, function* () {
|
|
71
71
|
try {
|
|
72
72
|
const from = query.from;
|
|
73
73
|
const to = query.to;
|
|
@@ -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,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,
|
|
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,MAAiC,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,CAChH,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"}
|
|
@@ -91,7 +91,7 @@ const updater = __importStar(require("../lib/update_unlock"));
|
|
|
91
91
|
*
|
|
92
92
|
* 購入したときに発行された購入トークン。
|
|
93
93
|
*/
|
|
94
|
-
module.exports = (regions) => functions.region(...regions).https.onCall((query) => __awaiter(void 0, void 0, void 0, function* () {
|
|
94
|
+
module.exports = (regions, topics) => functions.region(...regions).https.onCall((query) => __awaiter(void 0, void 0, void 0, function* () {
|
|
95
95
|
try {
|
|
96
96
|
const config = functions.config().purchase;
|
|
97
97
|
/* ==== Android検証ここから ==== */
|
|
@@ -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,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,
|
|
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,MAAiC,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,CAChH,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"}
|
|
@@ -55,7 +55,7 @@ const updater = __importStar(require("../lib/update_unlock"));
|
|
|
55
55
|
*
|
|
56
56
|
* 購入の際のレシートデータ。
|
|
57
57
|
*/
|
|
58
|
-
module.exports = (regions) => functions.region(...regions).https.onCall((query) => __awaiter(void 0, void 0, void 0, function* () {
|
|
58
|
+
module.exports = (regions, topics) => functions.region(...regions).https.onCall((query) => __awaiter(void 0, void 0, void 0, function* () {
|
|
59
59
|
try {
|
|
60
60
|
const config = functions.config().purchase;
|
|
61
61
|
/* ==== IOS検証ここから ==== */
|
|
@@ -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,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,
|
|
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,MAAiC,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,CAChH,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"}
|
|
@@ -66,7 +66,7 @@ const node_fetch_1 = __importDefault(require("node-fetch"));
|
|
|
66
66
|
* サンプリング温度(※)を 0〜1 の間で指定します。
|
|
67
67
|
* 値が低いほど、より関連性の高い単語が選ばれやすくなり、値が高いほど、より多様な単語が選ばれやすくなります。
|
|
68
68
|
*/
|
|
69
|
-
module.exports = (regions) => functions.region(...regions).https.onCall((query) => __awaiter(void 0, void 0, void 0, function* () {
|
|
69
|
+
module.exports = (regions, topics) => functions.region(...regions).https.onCall((query) => __awaiter(void 0, void 0, void 0, function* () {
|
|
70
70
|
var _a, _b;
|
|
71
71
|
try {
|
|
72
72
|
const apiKey = functions.config().openai.api_key;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai_chat_gpt.js","sourceRoot":"","sources":["../../src/functions/openai_chat_gpt.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8DAAgD;AAChD,4DAA+B;AAE/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,CAAC,OAAO,GAAG,CAAC,OAAiB,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"openai_chat_gpt.js","sourceRoot":"","sources":["../../src/functions/openai_chat_gpt.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8DAAgD;AAChD,4DAA+B;AAE/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,CAAC,OAAO,GAAG,CAAC,OAAiB,EAAE,MAAiC,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,CAChH,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;QAED,MAAM,GAAG,GAAG,MAAM,IAAA,oBAAK,EAAC,4CAA4C,EAAE;YAClE,MAAM,EAAE,MAAM;YACd,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"}
|
|
@@ -72,111 +72,45 @@ const utils = __importStar(require("../lib/utils"));
|
|
|
72
72
|
* その後、認証情報からOAuth 2.0 クライアントIDを作成します。
|
|
73
73
|
* https://console.cloud.google.com/apis/credentials
|
|
74
74
|
*
|
|
75
|
-
* @param purchase.
|
|
75
|
+
* @param purchase.subscription_path
|
|
76
76
|
* Describes the path to the collection of subscriptions.
|
|
77
77
|
*
|
|
78
78
|
* サブスクリプションのコレクションのパスを記述します。
|
|
79
79
|
*/
|
|
80
|
-
module.exports =
|
|
81
|
-
|
|
82
|
-
.
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
const { subscriptionNotification, packageName, } = messageBody;
|
|
95
|
-
if (subscriptionNotification) {
|
|
96
|
-
const { notificationType, purchaseToken, subscriptionId, } = subscriptionNotification;
|
|
97
|
-
if (!purchaseToken || !packageName || !subscriptionId) {
|
|
80
|
+
module.exports = (regions, topics) => {
|
|
81
|
+
var _a;
|
|
82
|
+
return functions.pubsub
|
|
83
|
+
.topic((_a = topics["purchase_webhook_android"]) !== null && _a !== void 0 ? _a : "purchasing")
|
|
84
|
+
.onPublish((message) => __awaiter(void 0, void 0, void 0, function* () {
|
|
85
|
+
try {
|
|
86
|
+
const messageBody = message.data ?
|
|
87
|
+
JSON.parse(Buffer.from(message.data, "base64").toString()) :
|
|
88
|
+
null;
|
|
89
|
+
if (messageBody) {
|
|
90
|
+
const firestoreInstance = admin.firestore();
|
|
91
|
+
const config = functions.config().purchase;
|
|
92
|
+
const targetPath = config.subscription_path;
|
|
93
|
+
if (!config.android.client_id || !config.android.client_secret || !config.android.refresh_token || !targetPath) {
|
|
98
94
|
throw new Error("The data is invalid.");
|
|
99
95
|
}
|
|
100
|
-
const
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
packageName: packageName,
|
|
106
|
-
productId: subscriptionId,
|
|
107
|
-
purchaseToken: purchaseToken,
|
|
108
|
-
});
|
|
109
|
-
const search = yield firestoreInstance.collection(targetPath).where("token", "==", purchaseToken).get();
|
|
110
|
-
if (search.empty) {
|
|
111
|
-
throw new Error("The purchased data is not found.");
|
|
112
|
-
}
|
|
113
|
-
const doc = search.docs[0];
|
|
114
|
-
const data = doc === null || doc === void 0 ? void 0 : doc.data();
|
|
115
|
-
const path = doc === null || doc === void 0 ? void 0 : doc.ref.path;
|
|
116
|
-
if (!data) {
|
|
117
|
-
throw new Error("The purchased data is not found.");
|
|
118
|
-
}
|
|
119
|
-
const user = data["userId"];
|
|
120
|
-
console.log(`notificationType: ${notificationType}`);
|
|
121
|
-
switch (notificationType) {
|
|
122
|
-
case SubscriptionNotificationTypes.SUBSCRIPTION_RECOVERED:
|
|
123
|
-
case SubscriptionNotificationTypes.SUBSCRIPTION_RESTARTED:
|
|
124
|
-
case SubscriptionNotificationTypes.SUBSCRIPTION_RENEWED:
|
|
125
|
-
case SubscriptionNotificationTypes.SUBSCRIPTION_IN_GRACE_PERIOD: {
|
|
126
|
-
for (const key in res) {
|
|
127
|
-
if (!data[key]) {
|
|
128
|
-
continue;
|
|
129
|
-
}
|
|
130
|
-
data[key] = utils.parse(res[key]);
|
|
131
|
-
}
|
|
132
|
-
data["expired"] = false;
|
|
133
|
-
data["expiredTime"] = parseInt(res["expiryTimeMillis"]);
|
|
134
|
-
data["orderId"] = res["orderId"];
|
|
135
|
-
data["@time"] = new Date();
|
|
136
|
-
yield firestoreInstance.doc(path).set(data);
|
|
137
|
-
console.log(`Updated subscription: ${data["productId"]}:${user}`);
|
|
138
|
-
break;
|
|
139
|
-
}
|
|
140
|
-
case SubscriptionNotificationTypes.SUBSCRIPTION_DEFERRED:
|
|
141
|
-
case SubscriptionNotificationTypes.SUBSCRIPTION_PRICE_CHANGE_CONFIRMED:
|
|
142
|
-
case SubscriptionNotificationTypes.SUBSCRIPTION_PAUSE_SCHEDULE_CHANGED: {
|
|
143
|
-
for (const key in res) {
|
|
144
|
-
if (!data[key]) {
|
|
145
|
-
continue;
|
|
146
|
-
}
|
|
147
|
-
data[key] = utils.parse(res[key]);
|
|
148
|
-
}
|
|
149
|
-
data["expiredTime"] = parseInt(res["expiryTimeMillis"]);
|
|
150
|
-
data["orderId"] = res["orderId"];
|
|
151
|
-
data["@time"] = new Date();
|
|
152
|
-
yield firestoreInstance.doc(path).set(data);
|
|
153
|
-
console.log(`Updated subscription: ${data["productId"]}:${user}`);
|
|
154
|
-
break;
|
|
155
|
-
}
|
|
156
|
-
case SubscriptionNotificationTypes.SUBSCRIPTION_REVOKED:
|
|
157
|
-
case SubscriptionNotificationTypes.SUBSCRIPTION_EXPIRED:
|
|
158
|
-
case SubscriptionNotificationTypes.SUBSCRIPTION_CANCELED:
|
|
159
|
-
case SubscriptionNotificationTypes.SUBSCRIPTION_PAUSED:
|
|
160
|
-
case SubscriptionNotificationTypes.SUBSCRIPTION_ON_HOLD: {
|
|
161
|
-
for (const key in res) {
|
|
162
|
-
if (!data[key]) {
|
|
163
|
-
continue;
|
|
164
|
-
}
|
|
165
|
-
data[key] = utils.parse(res[key]);
|
|
166
|
-
}
|
|
167
|
-
data["expired"] = true;
|
|
168
|
-
yield firestoreInstance.doc(path).set(data);
|
|
169
|
-
console.log(`Expired subscription: ${data["productId"]}:${user}`);
|
|
170
|
-
break;
|
|
96
|
+
const { subscriptionNotification, packageName, } = messageBody;
|
|
97
|
+
if (subscriptionNotification) {
|
|
98
|
+
const { notificationType, purchaseToken, subscriptionId, } = subscriptionNotification;
|
|
99
|
+
if (!purchaseToken || !packageName || !subscriptionId) {
|
|
100
|
+
throw new Error("The data is invalid.");
|
|
171
101
|
}
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
102
|
+
const res = yield verifier.verifyAndroid({
|
|
103
|
+
type: "subscriptions",
|
|
104
|
+
clientId: config.android.client_id,
|
|
105
|
+
clientSecret: config.android.client_secret,
|
|
106
|
+
refreshToken: config.android.refresh_token,
|
|
107
|
+
packageName: packageName,
|
|
108
|
+
productId: subscriptionId,
|
|
109
|
+
purchaseToken: purchaseToken,
|
|
110
|
+
});
|
|
111
|
+
const search = yield firestoreInstance.collection(targetPath).where("token", "==", purchaseToken).get();
|
|
178
112
|
if (search.empty) {
|
|
179
|
-
|
|
113
|
+
throw new Error("The purchased data is not found.");
|
|
180
114
|
}
|
|
181
115
|
const doc = search.docs[0];
|
|
182
116
|
const data = doc === null || doc === void 0 ? void 0 : doc.data();
|
|
@@ -185,19 +119,88 @@ module.exports = functions.pubsub
|
|
|
185
119
|
throw new Error("The purchased data is not found.");
|
|
186
120
|
}
|
|
187
121
|
const user = data["userId"];
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
122
|
+
console.log(`notificationType: ${notificationType}`);
|
|
123
|
+
switch (notificationType) {
|
|
124
|
+
case SubscriptionNotificationTypes.SUBSCRIPTION_RECOVERED:
|
|
125
|
+
case SubscriptionNotificationTypes.SUBSCRIPTION_RESTARTED:
|
|
126
|
+
case SubscriptionNotificationTypes.SUBSCRIPTION_RENEWED:
|
|
127
|
+
case SubscriptionNotificationTypes.SUBSCRIPTION_IN_GRACE_PERIOD: {
|
|
128
|
+
for (const key in res) {
|
|
129
|
+
if (!data[key]) {
|
|
130
|
+
continue;
|
|
131
|
+
}
|
|
132
|
+
data[key] = utils.parse(res[key]);
|
|
133
|
+
}
|
|
134
|
+
data["expired"] = false;
|
|
135
|
+
data["expiredTime"] = parseInt(res["expiryTimeMillis"]);
|
|
136
|
+
data["orderId"] = res["orderId"];
|
|
137
|
+
data["@time"] = new Date();
|
|
138
|
+
yield firestoreInstance.doc(path).set(data);
|
|
139
|
+
console.log(`Updated subscription: ${data["productId"]}:${user}`);
|
|
140
|
+
break;
|
|
141
|
+
}
|
|
142
|
+
case SubscriptionNotificationTypes.SUBSCRIPTION_DEFERRED:
|
|
143
|
+
case SubscriptionNotificationTypes.SUBSCRIPTION_PRICE_CHANGE_CONFIRMED:
|
|
144
|
+
case SubscriptionNotificationTypes.SUBSCRIPTION_PAUSE_SCHEDULE_CHANGED: {
|
|
145
|
+
for (const key in res) {
|
|
146
|
+
if (!data[key]) {
|
|
147
|
+
continue;
|
|
148
|
+
}
|
|
149
|
+
data[key] = utils.parse(res[key]);
|
|
150
|
+
}
|
|
151
|
+
data["expiredTime"] = parseInt(res["expiryTimeMillis"]);
|
|
152
|
+
data["orderId"] = res["orderId"];
|
|
153
|
+
data["@time"] = new Date();
|
|
154
|
+
yield firestoreInstance.doc(path).set(data);
|
|
155
|
+
console.log(`Updated subscription: ${data["productId"]}:${user}`);
|
|
156
|
+
break;
|
|
157
|
+
}
|
|
158
|
+
case SubscriptionNotificationTypes.SUBSCRIPTION_REVOKED:
|
|
159
|
+
case SubscriptionNotificationTypes.SUBSCRIPTION_EXPIRED:
|
|
160
|
+
case SubscriptionNotificationTypes.SUBSCRIPTION_CANCELED:
|
|
161
|
+
case SubscriptionNotificationTypes.SUBSCRIPTION_PAUSED:
|
|
162
|
+
case SubscriptionNotificationTypes.SUBSCRIPTION_ON_HOLD: {
|
|
163
|
+
for (const key in res) {
|
|
164
|
+
if (!data[key]) {
|
|
165
|
+
continue;
|
|
166
|
+
}
|
|
167
|
+
data[key] = utils.parse(res[key]);
|
|
168
|
+
}
|
|
169
|
+
data["expired"] = true;
|
|
170
|
+
yield firestoreInstance.doc(path).set(data);
|
|
171
|
+
console.log(`Expired subscription: ${data["productId"]}:${user}`);
|
|
172
|
+
break;
|
|
173
|
+
}
|
|
174
|
+
default:
|
|
175
|
+
break;
|
|
176
|
+
}
|
|
177
|
+
if (res["linkedPurchaseToken"]) {
|
|
178
|
+
const linkedPurchaseToken = res["linkedPurchaseToken"];
|
|
179
|
+
const search = yield firestoreInstance.collection(targetPath).where("token", "==", linkedPurchaseToken).get();
|
|
180
|
+
if (search.empty) {
|
|
181
|
+
return;
|
|
182
|
+
}
|
|
183
|
+
const doc = search.docs[0];
|
|
184
|
+
const data = doc === null || doc === void 0 ? void 0 : doc.data();
|
|
185
|
+
const path = doc === null || doc === void 0 ? void 0 : doc.ref.path;
|
|
186
|
+
if (!data) {
|
|
187
|
+
throw new Error("The purchased data is not found.");
|
|
188
|
+
}
|
|
189
|
+
const user = data["userId"];
|
|
190
|
+
data["expired"] = true;
|
|
191
|
+
data["@time"] = new Date();
|
|
192
|
+
yield firestoreInstance.doc(path).set(data);
|
|
193
|
+
console.log(`Expired subscription: ${data["productId"]}:${user}`);
|
|
194
|
+
}
|
|
192
195
|
}
|
|
193
196
|
}
|
|
194
197
|
}
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
}
|
|
200
|
-
}
|
|
198
|
+
catch (err) {
|
|
199
|
+
console.error(err);
|
|
200
|
+
throw new functions.https.HttpsError("unknown", "Unknown error.");
|
|
201
|
+
}
|
|
202
|
+
}));
|
|
203
|
+
};
|
|
201
204
|
/**
|
|
202
205
|
* Notification Type.
|
|
203
206
|
*
|
|
@@ -234,4 +237,4 @@ var SubscriptionNotificationTypes;
|
|
|
234
237
|
// 定期購入が期限切れになった。
|
|
235
238
|
SubscriptionNotificationTypes[SubscriptionNotificationTypes["SUBSCRIPTION_EXPIRED"] = 13] = "SUBSCRIPTION_EXPIRED";
|
|
236
239
|
})(SubscriptionNotificationTypes || (SubscriptionNotificationTypes = {}));
|
|
237
|
-
//# sourceMappingURL=
|
|
240
|
+
//# sourceMappingURL=purchase_webhook_android.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"purchase_webhook_android.js","sourceRoot":"","sources":["../../src/functions/purchase_webhook_android.ts"],"names":[],"mappings":"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"}
|
|
@@ -40,12 +40,12 @@ const utils = __importStar(require("../lib/utils"));
|
|
|
40
40
|
*
|
|
41
41
|
* IOS用のWebhookのエンドポイントです。AppStoreConnectの[App]->[App情報]->[App Storeサーバ通知]にエンドポイントを設定することで通知を受け取ることができるようになります。
|
|
42
42
|
*
|
|
43
|
-
* @param purchase.
|
|
43
|
+
* @param purchase.subscription_path
|
|
44
44
|
* Describes the path to the collection of subscriptions.
|
|
45
45
|
*
|
|
46
46
|
* サブスクリプションのコレクションのパスを記述します。
|
|
47
47
|
*/
|
|
48
|
-
module.exports = (regions) => functions.region(...regions).https.onRequest((req, res) => __awaiter(void 0, void 0, void 0, function* () {
|
|
48
|
+
module.exports = (regions, topics) => functions.region(...regions).https.onRequest((req, res) => __awaiter(void 0, void 0, void 0, function* () {
|
|
49
49
|
try {
|
|
50
50
|
const message = req.body;
|
|
51
51
|
const signedPayload = message.signedPayload;
|
|
@@ -132,4 +132,4 @@ module.exports = (regions) => functions.region(...regions).https.onRequest((req,
|
|
|
132
132
|
throw new functions.https.HttpsError("unknown", "Unknown error.");
|
|
133
133
|
}
|
|
134
134
|
}));
|
|
135
|
-
//# sourceMappingURL=
|
|
135
|
+
//# sourceMappingURL=purchase_webhook_ios.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"purchase_webhook_ios.js","sourceRoot":"","sources":["../../src/functions/purchase_webhook_ios.ts"],"names":[],"mappings":"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"}
|
|
@@ -61,7 +61,7 @@ const sendgrid = __importStar(require("../lib/send_grid"));
|
|
|
61
61
|
* Email content.
|
|
62
62
|
* メール本文。
|
|
63
63
|
*/
|
|
64
|
-
module.exports = (regions) => functions.region(...regions).https.onCall((query) => __awaiter(void 0, void 0, void 0, function* () {
|
|
64
|
+
module.exports = (regions, topics) => functions.region(...regions).https.onCall((query) => __awaiter(void 0, void 0, void 0, function* () {
|
|
65
65
|
try {
|
|
66
66
|
const from = query.from;
|
|
67
67
|
const to = query.to;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"send_grid.js","sourceRoot":"","sources":["../../src/functions/send_grid.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8DAAgD;AAChD,2DAA6C;AAE7C;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,CAAC,OAAO,GAAG,CAAC,OAAiB,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"send_grid.js","sourceRoot":"","sources":["../../src/functions/send_grid.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8DAAgD;AAChD,2DAA6C;AAE7C;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,CAAC,OAAO,GAAG,CAAC,OAAiB,EAAE,MAAiC,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,CAChH,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,QAAQ,CAAC,IAAI,CAAC;YAChB,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,KAAK,CAAC,GAAG,CAAC,CAAC;QACnB,MAAM,GAAG,CAAC;KACb;AACL,CAAC,CAAA,CACJ,CAAC"}
|
|
@@ -69,7 +69,7 @@ const admin = __importStar(require("firebase-admin"));
|
|
|
69
69
|
*
|
|
70
70
|
* FCMのトピックを指定します。
|
|
71
71
|
*/
|
|
72
|
-
module.exports = (regions) => functions.region(...regions).https.onCall((query) => __awaiter(void 0, void 0, void 0, function* () {
|
|
72
|
+
module.exports = (regions, topics) => functions.region(...regions).https.onCall((query) => __awaiter(void 0, void 0, void 0, function* () {
|
|
73
73
|
try {
|
|
74
74
|
const title = query.title;
|
|
75
75
|
const body = query.body;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"send_notification.js","sourceRoot":"","sources":["../../src/functions/send_notification.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8DAAgD;AAChD,sDAAwC;AAExC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,CAAC,OAAO,GAAG,CAAC,OAAiB,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"send_notification.js","sourceRoot":"","sources":["../../src/functions/send_notification.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8DAAgD;AAChD,sDAAwC;AAExC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,CAAC,OAAO,GAAG,CAAC,OAAiB,EAAE,MAAiC,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,CAChH,CAAO,KAAK,EAAE,EAAE;IACZ,IAAI;QACA,MAAM,KAAK,GAAG,KAAK,CAAC,KAAe,CAAC;QACpC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAc,CAAC;QAClC,MAAM,SAAS,GAAG,KAAK,CAAC,UAAgC,CAAC;QACzD,MAAM,IAAI,GAAG,KAAK,CAAC,IAA6C,CAAC;QACjE,MAAM,KAAK,GAAG,KAAK,CAAC,KAA2B,CAAC;QAChD,MAAM,KAAK,GAAG,KAAK,CAAC,KAA2B,CAAC;QAChD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,EAAE;YAC5C,MAAM,IAAI,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,kBAAkB,EAAE,8CAA8C,CAAC,CAAC;SAC5G;QAED,IAAI,KAAK,KAAK,SAAS,EAAE;YACrB,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,SAAS,EAAE,CAAC,IAAI,CACpC;gBACI,YAAY,EAAE;oBACV,KAAK,EAAE,KAAK;oBACZ,IAAI,EAAE,IAAI;iBACb;gBACD,OAAO,EAAE;oBACL,QAAQ,EAAE,MAAM;oBAChB,YAAY,EAAE;wBACV,KAAK,EAAE,KAAK;wBACZ,IAAI,EAAE,IAAI;wBACV,WAAW,EAAE,4BAA4B;wBACzC,SAAS,EAAE,SAAS;qBACvB;iBACJ;gBACD,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,KAAK;aACf,CACJ,CAAC;YACF,OAAO;gBACH,OAAO,EAAE,IAAI;gBACb,UAAU,EAAE,GAAG;aAClB,CAAC;SACL;aAAM,IAAI,KAAK,KAAK,SAAS,EAAG;YAC7B,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,SAAS,EAAE,CAAC,IAAI,CACpC;gBACI,YAAY,EAAE;oBACV,KAAK,EAAE,KAAK;oBACZ,IAAI,EAAE,IAAI;iBACb;gBACD,OAAO,EAAE;oBACL,QAAQ,EAAE,MAAM;oBAChB,YAAY,EAAE;wBACV,KAAK,EAAE,KAAK;wBACZ,IAAI,EAAE,IAAI;wBACV,WAAW,EAAE,4BAA4B;wBACzC,SAAS,EAAE,SAAS;qBACvB;iBACJ;gBACD,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,KAAK;aACf,CACJ,CAAC;YACF,OAAO;gBACH,OAAO,EAAE,IAAI;gBACb,UAAU,EAAE,GAAG;aAClB,CAAC;SACL;KACJ;IAAC,OAAO,GAAG,EAAE;QACV,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACjB,MAAM,GAAG,CAAC;KACb;IACD,OAAO;QACH,OAAO,EAAE,IAAI;KAChB,CAAC;AACN,CAAC,CAAA,CACJ,CAAC"}
|
package/dist/functions/stripe.js
CHANGED
|
@@ -206,7 +206,7 @@ const utils = __importStar(require("../lib/utils"));
|
|
|
206
206
|
* Specify the URL to redirect to after authentication.
|
|
207
207
|
* 認証後のリダイレクト先URLを指定します。
|
|
208
208
|
*/
|
|
209
|
-
module.exports = (regions) => functions.region(...regions).https.onCall((query) => __awaiter(void 0, void 0, void 0, function* () {
|
|
209
|
+
module.exports = (regions, topics) => functions.region(...regions).https.onCall((query) => __awaiter(void 0, void 0, void 0, function* () {
|
|
210
210
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26;
|
|
211
211
|
try {
|
|
212
212
|
const config = functions.config().purchase;
|