@mathrunet/masamune 2.0.0 → 2.1.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 +18 -0
- package/dist/functions/agora_cloud_recording.js +44 -47
- package/dist/functions/agora_cloud_recording.js.map +1 -1
- package/dist/functions/agora_token.js +34 -37
- package/dist/functions/agora_token.js.map +1 -1
- package/dist/functions/algolia.d.ts +1 -0
- package/dist/functions/algolia.js +115 -0
- package/dist/functions/algolia.js.map +1 -0
- package/dist/functions/android_auth_code.js +19 -22
- package/dist/functions/android_auth_code.js.map +1 -1
- package/dist/functions/android_token.js +39 -42
- package/dist/functions/android_token.js.map +1 -1
- package/dist/functions/consumable_verify_android.js +38 -41
- package/dist/functions/consumable_verify_android.js.map +1 -1
- package/dist/functions/consumable_verify_ios.js +33 -36
- package/dist/functions/consumable_verify_ios.js.map +1 -1
- package/dist/functions/geocoding.js +23 -26
- package/dist/functions/geocoding.js.map +1 -1
- package/dist/functions/gmail.js +30 -33
- package/dist/functions/gmail.js.map +1 -1
- package/dist/functions/nonconsumable_verify_android.js +37 -40
- package/dist/functions/nonconsumable_verify_android.js.map +1 -1
- package/dist/functions/nonconsumable_verify_ios.js +32 -35
- package/dist/functions/nonconsumable_verify_ios.js.map +1 -1
- package/dist/functions/openai_chat_gpt.js +34 -37
- package/dist/functions/openai_chat_gpt.js.map +1 -1
- package/dist/functions/purchase_webhook_android.js +2 -2
- package/dist/functions/purchase_webhook_android.js.map +1 -1
- package/dist/functions/purchase_webhook_ios.js +82 -85
- package/dist/functions/purchase_webhook_ios.js.map +1 -1
- package/dist/functions/scheduler.js +4 -4
- package/dist/functions/scheduler.js.map +1 -1
- package/dist/functions/send_grid.js +30 -33
- package/dist/functions/send_grid.js.map +1 -1
- package/dist/functions/send_notification.js +32 -35
- package/dist/functions/send_notification.js.map +1 -1
- package/dist/functions/stripe.js +853 -856
- package/dist/functions/stripe.js.map +1 -1
- package/dist/functions/stripe_webhook.js +355 -358
- package/dist/functions/stripe_webhook.js.map +1 -1
- package/dist/functions/stripe_webhook_connect.js +65 -68
- package/dist/functions/stripe_webhook_connect.js.map +1 -1
- package/dist/functions/stripe_webhook_secure.js +63 -66
- package/dist/functions/stripe_webhook_secure.js.map +1 -1
- package/dist/functions/subscription_verify_android.js +54 -57
- package/dist/functions/subscription_verify_android.js.map +1 -1
- package/dist/functions/subscription_verify_ios.js +54 -57
- package/dist/functions/subscription_verify_ios.js.map +1 -1
- package/dist/functions.d.ts +6 -0
- package/dist/functions.js +6 -0
- package/dist/functions.js.map +1 -1
- package/dist/lib/call_process_function_base.d.ts +3 -1
- package/dist/lib/call_process_function_base.js +1 -2
- package/dist/lib/call_process_function_base.js.map +1 -1
- package/dist/lib/functions_base.d.ts +14 -1
- package/dist/lib/functions_base.js +1 -0
- package/dist/lib/functions_base.js.map +1 -1
- package/dist/lib/functions_data.d.ts +1 -1
- package/dist/lib/request_process_function_base.d.ts +2 -0
- package/dist/lib/request_process_function_base.js +1 -2
- package/dist/lib/request_process_function_base.js.map +1 -1
- package/dist/lib/schedule_process_function_base.js +2 -2
- package/dist/lib/schedule_process_function_base.js.map +1 -1
- package/package.json +2 -1
|
@@ -60,43 +60,40 @@ const updater = __importStar(require("../lib/update_wallet"));
|
|
|
60
60
|
*
|
|
61
61
|
* 購入の際のレシートデータ。
|
|
62
62
|
*/
|
|
63
|
-
module.exports = (regions, options, data) => {
|
|
63
|
+
module.exports = (regions, options, data) => functions.https.onCall({
|
|
64
|
+
region: regions,
|
|
65
|
+
timeoutSeconds: options.timeoutSeconds,
|
|
66
|
+
memory: options.memory,
|
|
67
|
+
minInstances: options.minInstances,
|
|
68
|
+
concurrency: options.concurrency,
|
|
69
|
+
maxInstances: options.maxInstances,
|
|
70
|
+
}, (query) => __awaiter(void 0, void 0, void 0, function* () {
|
|
64
71
|
var _a;
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
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の更新 ==== */
|
|
94
|
-
return res;
|
|
72
|
+
try {
|
|
73
|
+
/* ==== IOS検証ここから ==== */
|
|
74
|
+
const res = yield verifier.verifyIOS({
|
|
75
|
+
receiptData: query.data.receiptData,
|
|
76
|
+
password: (_a = process.env.PURCHASE_IOS_SHAREDSECRET) !== null && _a !== void 0 ? _a : "",
|
|
77
|
+
});
|
|
78
|
+
const status = res["status"];
|
|
79
|
+
if (status !== 0) {
|
|
80
|
+
throw new functions.https.HttpsError("unauthenticated", "Illegal receipt.");
|
|
95
81
|
}
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
82
|
+
/* ==== ここまでIOS検証 ==== */
|
|
83
|
+
if (!query.data.path || !query.data.value) {
|
|
84
|
+
return res;
|
|
99
85
|
}
|
|
100
|
-
|
|
101
|
-
|
|
86
|
+
/* ==== Firestoreの更新ここから ==== */
|
|
87
|
+
yield updater.updateWallet({
|
|
88
|
+
targetDocumentFieldPath: query.data.path,
|
|
89
|
+
value: query.data.value,
|
|
90
|
+
});
|
|
91
|
+
/* ==== ここまでFirestoreの更新 ==== */
|
|
92
|
+
return res;
|
|
93
|
+
}
|
|
94
|
+
catch (err) {
|
|
95
|
+
console.error(err);
|
|
96
|
+
throw err;
|
|
97
|
+
}
|
|
98
|
+
}));
|
|
102
99
|
//# 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,iEAAmD;AACnD,4DAA8C;AAC9C,8DAAgD;AAGhD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,OAAO,GAAG,CACb,OAAiB,EACjB,OAAyB,EACzB,IAA+B,EACjC,EAAE
|
|
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,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CACvB;IACI,MAAM,EAAE,OAAO;IACf,cAAc,EAAE,OAAO,CAAC,cAAc;IACtC,MAAM,EAAE,OAAO,CAAC,MAAM;IACtB,YAAY,EAAE,OAAO,CAAC,YAAY;IAClC,WAAW,EAAE,OAAO,CAAC,WAAW;IAChC,YAAY,EAAE,OAAO,CAAC,YAAY;CACrC,EACD,CAAO,KAAK,EAAE,EAAE;;IACZ,IAAI;QACA,yBAAyB;QACzB,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,SAAS,CAAC;YACjC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW;YACnC,QAAQ,EAAE,MAAA,OAAO,CAAC,GAAG,CAAC,yBAAyB,mCAAI,EAAE;SACxD,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,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE;YACvC,OAAO,GAAG,CAAC;SACd;QACD,gCAAgC;QAChC,MAAM,OAAO,CAAC,YAAY,CAAC;YACvB,uBAAuB,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI;YACxC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK;SAC1B,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"}
|
|
@@ -49,32 +49,29 @@ const api_1 = require("../lib/api");
|
|
|
49
49
|
* Address or postal code.
|
|
50
50
|
* アドレスもしくは郵便番号。
|
|
51
51
|
*/
|
|
52
|
-
module.exports = (regions, options, data) => {
|
|
52
|
+
module.exports = (regions, options, data) => functions.https.onCall({
|
|
53
|
+
region: regions,
|
|
54
|
+
timeoutSeconds: options.timeoutSeconds,
|
|
55
|
+
memory: options.memory,
|
|
56
|
+
minInstances: options.minInstances,
|
|
57
|
+
concurrency: options.concurrency,
|
|
58
|
+
maxInstances: options.maxInstances,
|
|
59
|
+
}, (query) => __awaiter(void 0, void 0, void 0, function* () {
|
|
53
60
|
var _a;
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
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);
|
|
61
|
+
try {
|
|
62
|
+
const address = query.data.address;
|
|
63
|
+
const apiKey = (_a = process.env.MAP_GEOCODING_APIKEY) !== null && _a !== void 0 ? _a : "";
|
|
64
|
+
if (!address) {
|
|
65
|
+
throw new functions.https.HttpsError("invalid-argument", "Query parameter is invalid.");
|
|
73
66
|
}
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
|
|
67
|
+
const res = yield api_1.Api.get(`https://maps.googleapis.com/maps/api/geocode/json?address=${encodeURIComponent(address)}&key=${apiKey}`);
|
|
68
|
+
const json = (yield res.json());
|
|
69
|
+
console.log(json);
|
|
70
|
+
return Object.assign({ success: true }, json);
|
|
71
|
+
}
|
|
72
|
+
catch (err) {
|
|
73
|
+
console.error(err);
|
|
74
|
+
throw err;
|
|
75
|
+
}
|
|
76
|
+
}));
|
|
80
77
|
//# sourceMappingURL=geocoding.js.map
|
|
@@ -1 +1 @@
|
|
|
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
|
|
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,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CACvB;IACI,MAAM,EAAE,OAAO;IACf,cAAc,EAAE,OAAO,CAAC,cAAc;IACtC,MAAM,EAAE,OAAO,CAAC,MAAM;IACtB,YAAY,EAAE,OAAO,CAAC,YAAY;IAClC,WAAW,EAAE,OAAO,CAAC,WAAW;IAChC,YAAY,EAAE,OAAO,CAAC,YAAY;CACrC,EACD,CAAO,KAAK,EAAE,EAAE;;IACZ,IAAI;QACA,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,OAAoC,CAAC;QAChE,MAAM,MAAM,GAAG,MAAA,OAAO,CAAC,GAAG,CAAC,oBAAoB,mCAAI,EAAE,CAAC;QACtD,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"}
|
package/dist/functions/gmail.js
CHANGED
|
@@ -67,38 +67,35 @@ const gmail = __importStar(require("../lib/gmail"));
|
|
|
67
67
|
* Email content.
|
|
68
68
|
* メール本文。
|
|
69
69
|
*/
|
|
70
|
-
module.exports = (regions, options, data) => {
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
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
|
-
};
|
|
70
|
+
module.exports = (regions, options, data) => functions.https.onCall({
|
|
71
|
+
region: regions,
|
|
72
|
+
timeoutSeconds: options.timeoutSeconds,
|
|
73
|
+
memory: options.memory,
|
|
74
|
+
minInstances: options.minInstances,
|
|
75
|
+
concurrency: options.concurrency,
|
|
76
|
+
maxInstances: options.maxInstances,
|
|
77
|
+
}, (query) => __awaiter(void 0, void 0, void 0, function* () {
|
|
78
|
+
try {
|
|
79
|
+
const from = query.data.from;
|
|
80
|
+
const to = query.data.to;
|
|
81
|
+
const title = query.data.title;
|
|
82
|
+
const content = query.data.content;
|
|
83
|
+
if (!from || !to || !title || !content) {
|
|
84
|
+
throw new functions.https.HttpsError("invalid-argument", "Query parameter is invalid.");
|
|
97
85
|
}
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
};
|
|
86
|
+
yield gmail.send({
|
|
87
|
+
from: from,
|
|
88
|
+
to: to,
|
|
89
|
+
title: title,
|
|
90
|
+
content: content,
|
|
91
|
+
});
|
|
92
|
+
return {
|
|
93
|
+
success: true,
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
catch (err) {
|
|
97
|
+
console.log(err);
|
|
98
|
+
throw err;
|
|
99
|
+
}
|
|
100
|
+
}));
|
|
104
101
|
//# sourceMappingURL=gmail.js.map
|
|
@@ -1 +1 @@
|
|
|
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
|
|
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,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CACvB;IACI,MAAM,EAAE,OAAO;IACf,cAAc,EAAE,OAAO,CAAC,cAAc;IACtC,MAAM,EAAE,OAAO,CAAC,MAAM;IACtB,YAAY,EAAE,OAAO,CAAC,YAAY;IAClC,WAAW,EAAE,OAAO,CAAC,WAAW;IAChC,YAAY,EAAE,OAAO,CAAC,YAAY;CACrC,EACD,CAAO,KAAK,EAAE,EAAE;IACZ,IAAI;QACA,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAiC,CAAC;QAC1D,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,EAA+B,CAAC;QACtD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAkC,CAAC;QAC5D,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,OAAoC,CAAC;QAChE,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,46 +91,43 @@ const updater = __importStar(require("../lib/update_unlock"));
|
|
|
91
91
|
*
|
|
92
92
|
* 購入したときに発行された購入トークン。
|
|
93
93
|
*/
|
|
94
|
-
module.exports = (regions, options, data) => {
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
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の更新 ==== */
|
|
128
|
-
return res;
|
|
94
|
+
module.exports = (regions, options, data) => functions.https.onCall({
|
|
95
|
+
region: regions,
|
|
96
|
+
timeoutSeconds: options.timeoutSeconds,
|
|
97
|
+
memory: options.memory,
|
|
98
|
+
minInstances: options.minInstances,
|
|
99
|
+
concurrency: options.concurrency,
|
|
100
|
+
maxInstances: options.maxInstances,
|
|
101
|
+
}, (query) => __awaiter(void 0, void 0, void 0, function* () {
|
|
102
|
+
var _a, _b, _c;
|
|
103
|
+
try {
|
|
104
|
+
/* ==== Android検証ここから ==== */
|
|
105
|
+
const res = yield verifier.verifyAndroid({
|
|
106
|
+
type: "products",
|
|
107
|
+
clientId: (_a = process.env.PURCHASE_ANDROID_CLIENTID) !== null && _a !== void 0 ? _a : "",
|
|
108
|
+
clientSecret: (_b = process.env.PURCHASE_ANDROID_CLIENTSECRET) !== null && _b !== void 0 ? _b : "",
|
|
109
|
+
refreshToken: (_c = process.env.PURCHASE_ANDROID_REFRESHTOKEN) !== null && _c !== void 0 ? _c : "",
|
|
110
|
+
packageName: query.data.packageName,
|
|
111
|
+
productId: query.data.productId,
|
|
112
|
+
purchaseToken: query.data.purchaseToken
|
|
113
|
+
});
|
|
114
|
+
if (res["purchaseState"] !== 0) {
|
|
115
|
+
throw new functions.https.HttpsError("unauthenticated", "Illegal receipt.");
|
|
129
116
|
}
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
117
|
+
/* ==== ここまでAndroid検証 ==== */
|
|
118
|
+
if (!query.data.path) {
|
|
119
|
+
return res;
|
|
133
120
|
}
|
|
134
|
-
|
|
135
|
-
|
|
121
|
+
/* ==== Firestoreの更新ここから ==== */
|
|
122
|
+
yield updater.updateUnlock({
|
|
123
|
+
targetDocumentFieldPath: query.data.path,
|
|
124
|
+
});
|
|
125
|
+
/* ==== ここまでFirestoreの更新 ==== */
|
|
126
|
+
return res;
|
|
127
|
+
}
|
|
128
|
+
catch (err) {
|
|
129
|
+
console.error(err);
|
|
130
|
+
throw err;
|
|
131
|
+
}
|
|
132
|
+
}));
|
|
136
133
|
//# 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,iEAAmD;AACnD,gEAAkD;AAClD,8DAAgD;AAGhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AACH,MAAM,CAAC,OAAO,GAAG,CACb,OAAiB,EACjB,OAAyB,EACzB,IAA+B,EACjC,EAAE
|
|
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,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CACvB;IACI,MAAM,EAAE,OAAO;IACf,cAAc,EAAE,OAAO,CAAC,cAAc;IACtC,MAAM,EAAE,OAAO,CAAC,MAAM;IACtB,YAAY,EAAE,OAAO,CAAC,YAAY;IAClC,WAAW,EAAE,OAAO,CAAC,WAAW;IAChC,YAAY,EAAE,OAAO,CAAC,YAAY;CACrC,EACD,CAAO,KAAK,EAAE,EAAE;;IACZ,IAAI;QACA,6BAA6B;QAC7B,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,aAAa,CAAC;YACrC,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE,MAAA,OAAO,CAAC,GAAG,CAAC,yBAAyB,mCAAI,EAAE;YACrD,YAAY,EAAE,MAAA,OAAO,CAAC,GAAG,CAAC,6BAA6B,mCAAI,EAAE;YAC7D,YAAY,EAAE,MAAA,OAAO,CAAC,GAAG,CAAC,6BAA6B,mCAAI,EAAE;YAC7D,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW;YACnC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS;YAC/B,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC,aAAa;SAC1C,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,CAAC,IAAI,EAAE;YAClB,OAAO,GAAG,CAAC;SACd;QACD,gCAAgC;QAChC,MAAM,OAAO,CAAC,YAAY,CAAC;YACvB,uBAAuB,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI;SAC3C,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,42 +55,39 @@ const updater = __importStar(require("../lib/update_unlock"));
|
|
|
55
55
|
*
|
|
56
56
|
* 購入の際のレシートデータ。
|
|
57
57
|
*/
|
|
58
|
-
module.exports = (regions, options, data) => {
|
|
58
|
+
module.exports = (regions, options, data) => functions.https.onCall({
|
|
59
|
+
region: regions,
|
|
60
|
+
timeoutSeconds: options.timeoutSeconds,
|
|
61
|
+
memory: options.memory,
|
|
62
|
+
minInstances: options.minInstances,
|
|
63
|
+
concurrency: options.concurrency,
|
|
64
|
+
maxInstances: options.maxInstances,
|
|
65
|
+
}, (query) => __awaiter(void 0, void 0, void 0, function* () {
|
|
59
66
|
var _a;
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
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の更新 ==== */
|
|
88
|
-
return res;
|
|
67
|
+
try {
|
|
68
|
+
/* ==== IOS検証ここから ==== */
|
|
69
|
+
const res = yield verifier.verifyIOS({
|
|
70
|
+
receiptData: query.data.receiptData,
|
|
71
|
+
password: (_a = process.env.PURCHASE_IOS_SHAREDSECRET) !== null && _a !== void 0 ? _a : "",
|
|
72
|
+
});
|
|
73
|
+
const status = res["status"];
|
|
74
|
+
if (status !== 0) {
|
|
75
|
+
throw new functions.https.HttpsError("unauthenticated", "Illegal receipt.");
|
|
89
76
|
}
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
77
|
+
/* ==== ここまでIOS検証 ==== */
|
|
78
|
+
if (!query.data.path) {
|
|
79
|
+
return res;
|
|
93
80
|
}
|
|
94
|
-
|
|
95
|
-
|
|
81
|
+
/* ==== Firestoreの更新ここから ==== */
|
|
82
|
+
yield updater.updateUnlock({
|
|
83
|
+
targetDocumentFieldPath: query.data.path,
|
|
84
|
+
});
|
|
85
|
+
/* ==== ここまでFirestoreの更新 ==== */
|
|
86
|
+
return res;
|
|
87
|
+
}
|
|
88
|
+
catch (err) {
|
|
89
|
+
console.error(err);
|
|
90
|
+
throw err;
|
|
91
|
+
}
|
|
92
|
+
}));
|
|
96
93
|
//# 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,iEAAmD;AACnD,4DAA8C;AAC9C,8DAAgD;AAGhD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,OAAO,GAAG,CACb,OAAiB,EACjB,OAAyB,EACzB,IAA+B,EACjC,EAAE
|
|
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,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CACvB;IACI,MAAM,EAAE,OAAO;IACf,cAAc,EAAE,OAAO,CAAC,cAAc;IACtC,MAAM,EAAE,OAAO,CAAC,MAAM;IACtB,YAAY,EAAE,OAAO,CAAC,YAAY;IAClC,WAAW,EAAE,OAAO,CAAC,WAAW;IAChC,YAAY,EAAE,OAAO,CAAC,YAAY;CACrC,EACD,CAAO,KAAK,EAAE,EAAE;;IACZ,IAAI;QACA,yBAAyB;QACzB,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,SAAS,CAAC;YACjC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW;YACnC,QAAQ,EAAE,MAAA,OAAO,CAAC,GAAG,CAAC,yBAAyB,mCAAI,EAAE;SACxD,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,CAAC,IAAI,EAAE;YAClB,OAAO,GAAG,CAAC;SACd;QACD,gCAAgC;QAChC,MAAM,OAAO,CAAC,YAAY,CAAC;YACvB,uBAAuB,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI;SAC3C,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"}
|
|
@@ -63,42 +63,39 @@ const api_1 = require("../lib/api");
|
|
|
63
63
|
* サンプリング温度(※)を 0〜1 の間で指定します。
|
|
64
64
|
* 値が低いほど、より関連性の高い単語が選ばれやすくなり、値が高いほど、より多様な単語が選ばれやすくなります。
|
|
65
65
|
*/
|
|
66
|
-
module.exports = (regions, options, data) => {
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
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());
|
|
66
|
+
module.exports = (regions, options, data) => functions.https.onCall({
|
|
67
|
+
region: regions,
|
|
68
|
+
timeoutSeconds: options.timeoutSeconds,
|
|
69
|
+
memory: options.memory,
|
|
70
|
+
minInstances: options.minInstances,
|
|
71
|
+
concurrency: options.concurrency,
|
|
72
|
+
maxInstances: options.maxInstances,
|
|
73
|
+
}, (query) => __awaiter(void 0, void 0, void 0, function* () {
|
|
74
|
+
var _a, _b, _c, _d;
|
|
75
|
+
try {
|
|
76
|
+
const apiKey = (_a = process.env.OPENAI_APIKEY) !== null && _a !== void 0 ? _a : "";
|
|
77
|
+
const message = (_b = query.data.message) !== null && _b !== void 0 ? _b : [];
|
|
78
|
+
const model = (_c = query.data.model) !== null && _c !== void 0 ? _c : "gpt-3.5-turbo";
|
|
79
|
+
const temperature = (_d = query.data.temperature) !== null && _d !== void 0 ? _d : 1;
|
|
80
|
+
if (message.length <= 0) {
|
|
81
|
+
throw new functions.https.HttpsError("invalid-argument", "No content specified in `message`.");
|
|
97
82
|
}
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
83
|
+
const res = yield api_1.Api.post("https://api.openai.com/v1/chat/completions", {
|
|
84
|
+
headers: {
|
|
85
|
+
"Content-Type": "application/json",
|
|
86
|
+
"Authorization": `Bearer ${apiKey}`,
|
|
87
|
+
},
|
|
88
|
+
data: JSON.stringify({
|
|
89
|
+
"model": model,
|
|
90
|
+
"messages": message,
|
|
91
|
+
"temperature": temperature,
|
|
92
|
+
}),
|
|
93
|
+
});
|
|
94
|
+
return (yield res.json());
|
|
95
|
+
}
|
|
96
|
+
catch (err) {
|
|
97
|
+
console.log(err);
|
|
98
|
+
throw err;
|
|
99
|
+
}
|
|
100
|
+
}));
|
|
104
101
|
//# 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,iEAAmD;AACnD,oCAAiC;AAGjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,CAAC,OAAO,GAAG,CACb,OAAiB,EACjB,OAAyB,EACzB,IAA+B,EACjC,EAAE
|
|
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,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CACvB;IACI,MAAM,EAAE,OAAO;IACf,cAAc,EAAE,OAAO,CAAC,cAAc;IACtC,MAAM,EAAE,OAAO,CAAC,MAAM;IACtB,YAAY,EAAE,OAAO,CAAC,YAAY;IAClC,WAAW,EAAE,OAAO,CAAC,WAAW;IAChC,YAAY,EAAE,OAAO,CAAC,YAAY;CACrC,EACD,CAAO,KAAK,EAAE,EAAE;;IACZ,IAAI;QACA,MAAM,MAAM,GAAG,MAAA,OAAO,CAAC,GAAG,CAAC,aAAa,mCAAI,EAAE,CAAC;QAC/C,MAAM,OAAO,GAAG,MAAA,KAAK,CAAC,IAAI,CAAC,OAA+C,mCAAI,EAAE,CAAC;QACjF,MAAM,KAAK,GAAG,MAAA,KAAK,CAAC,IAAI,CAAC,KAA2B,mCAAI,eAAe,CAAC;QACxE,MAAM,WAAW,GAAG,MAAA,KAAK,CAAC,IAAI,CAAC,WAAiC,mCAAI,CAAC,CAAC;QACtE,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"}
|
|
@@ -78,7 +78,7 @@ const utils = __importStar(require("../lib/utils"));
|
|
|
78
78
|
* サブスクリプションのコレクションのパスを記述します。
|
|
79
79
|
*/
|
|
80
80
|
module.exports = (regions, options, data) => {
|
|
81
|
-
var _a
|
|
81
|
+
var _a;
|
|
82
82
|
return functions.pubsub.onMessagePublished({
|
|
83
83
|
topic: (_a = options.topic) !== null && _a !== void 0 ? _a : "purchasing",
|
|
84
84
|
region: regions[0],
|
|
@@ -86,7 +86,7 @@ module.exports = (regions, options, data) => {
|
|
|
86
86
|
memory: options.memory,
|
|
87
87
|
minInstances: options.minInstances,
|
|
88
88
|
concurrency: options.concurrency,
|
|
89
|
-
maxInstances:
|
|
89
|
+
maxInstances: options.maxInstances,
|
|
90
90
|
}, (message) => __awaiter(void 0, void 0, void 0, function* () {
|
|
91
91
|
try {
|
|
92
92
|
const messageBody = message.data.message.data ?
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"purchase_webhook_android.js","sourceRoot":"","sources":["../../src/functions/purchase_webhook_android.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iEAAmD;AACnD,sDAAwC;AACxC,gEAAkD;AAClD,oDAAsC;AAGtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,MAAM,CAAC,OAAO,GAAG,CACb,OAAiB,EACjB,OAA+B,EAC/B,IAA+B,EACjC,EAAE;;IAAC,OAAA,SAAS,CAAC,MAAM,CAAC,kBAAkB,CACpC;QACI,KAAK,EAAE,MAAA,OAAO,CAAC,KAAK,mCAAI,YAAY;QACpC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QAClB,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,
|
|
1
|
+
{"version":3,"file":"purchase_webhook_android.js","sourceRoot":"","sources":["../../src/functions/purchase_webhook_android.ts"],"names":[],"mappings":"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"}
|