@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.
- package/CHANGELOG.md +18 -0
- package/LICENSE +19 -22
- package/dist/functions/agora_cloud_recording.js +48 -38
- package/dist/functions/agora_cloud_recording.js.map +1 -1
- package/dist/functions/agora_token.js +40 -30
- package/dist/functions/agora_token.js.map +1 -1
- package/dist/functions/android_auth_code.js +25 -15
- package/dist/functions/android_auth_code.js.map +1 -1
- package/dist/functions/android_token.js +46 -34
- package/dist/functions/android_token.js.map +1 -1
- package/dist/functions/consumable_verify_android.js +45 -35
- package/dist/functions/consumable_verify_android.js.map +1 -1
- package/dist/functions/consumable_verify_ios.js +39 -29
- package/dist/functions/consumable_verify_ios.js.map +1 -1
- package/dist/functions/geocoding.js +29 -19
- package/dist/functions/geocoding.js.map +1 -1
- package/dist/functions/gmail.js +36 -26
- package/dist/functions/gmail.js.map +1 -1
- package/dist/functions/nonconsumable_verify_android.js +44 -34
- package/dist/functions/nonconsumable_verify_android.js.map +1 -1
- package/dist/functions/nonconsumable_verify_ios.js +38 -28
- package/dist/functions/nonconsumable_verify_ios.js.map +1 -1
- package/dist/functions/openai_chat_gpt.js +39 -29
- package/dist/functions/openai_chat_gpt.js.map +1 -1
- package/dist/functions/purchase_webhook_android.js +26 -18
- package/dist/functions/purchase_webhook_android.js.map +1 -1
- package/dist/functions/purchase_webhook_ios.js +92 -78
- package/dist/functions/purchase_webhook_ios.js.map +1 -1
- package/dist/functions/scheduler.js +15 -9
- package/dist/functions/scheduler.js.map +1 -1
- package/dist/functions/send_grid.js +35 -25
- package/dist/functions/send_grid.js.map +1 -1
- package/dist/functions/send_notification.js +37 -24
- package/dist/functions/send_notification.js.map +1 -1
- package/dist/functions/stripe.js +866 -858
- package/dist/functions/stripe.js.map +1 -1
- package/dist/functions/stripe_webhook.js +370 -363
- package/dist/functions/stripe_webhook.js.map +1 -1
- package/dist/functions/stripe_webhook_connect.js +72 -63
- package/dist/functions/stripe_webhook_connect.js.map +1 -1
- package/dist/functions/stripe_webhook_secure.js +72 -63
- package/dist/functions/stripe_webhook_secure.js.map +1 -1
- package/dist/functions/subscription_verify_android.js +61 -52
- package/dist/functions/subscription_verify_android.js.map +1 -1
- package/dist/functions/subscription_verify_ios.js +59 -50
- package/dist/functions/subscription_verify_ios.js.map +1 -1
- package/dist/functions.d.ts +22 -68
- package/dist/functions.js +22 -22
- package/dist/functions.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/call_process_function_base.d.ts +2 -15
- package/dist/lib/call_process_function_base.js +13 -13
- package/dist/lib/call_process_function_base.js.map +1 -1
- package/dist/lib/functions_base.d.ts +97 -9
- package/dist/lib/functions_base.js +10 -7
- package/dist/lib/functions_base.js.map +1 -1
- package/dist/lib/functions_data.d.ts +2 -36
- package/dist/lib/functions_data.js +2 -29
- package/dist/lib/functions_data.js.map +1 -1
- package/dist/lib/gmail.d.ts +2 -2
- package/dist/lib/gmail.js +4 -29
- package/dist/lib/gmail.js.map +1 -1
- package/dist/lib/request_process_function_base.d.ts +4 -16
- package/dist/lib/request_process_function_base.js +13 -13
- package/dist/lib/request_process_function_base.js.map +1 -1
- package/dist/lib/schedule_process_function_base.d.ts +13 -11
- package/dist/lib/schedule_process_function_base.js +15 -9
- package/dist/lib/schedule_process_function_base.js.map +1 -1
- package/dist/lib/send_grid.d.ts +1 -1
- package/dist/lib/send_grid.js +3 -27
- package/dist/lib/send_grid.js.map +1 -1
- package/dist/lib/send_notification.js +1 -1
- package/dist/lib/send_notification.js.map +1 -1
- package/dist/lib/verify_android.js +1 -1
- package/dist/lib/verify_android.js.map +1 -1
- package/dist/lib/verify_ios.js +1 -1
- package/dist/lib/verify_ios.js.map +1 -1
- package/package.json +2 -2
|
@@ -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 admin = __importStar(require("firebase-admin"));
|
|
37
37
|
const verifier = __importStar(require("../lib/verify_android"));
|
|
38
38
|
const utils = __importStar(require("../lib/utils"));
|
|
@@ -41,12 +41,12 @@ const utils = __importStar(require("../lib/utils"));
|
|
|
41
41
|
*
|
|
42
42
|
* Android用のWebhookのエンドポイントです。GCPのpub/subに`purchasing`のトピックを作成しプリンシパルに「google-play-developer-notifications@system.gserviceaccount.com」を設定することで通知を受け取ることができるようになります。
|
|
43
43
|
*
|
|
44
|
-
* @param
|
|
44
|
+
* @param process.env.PURCHASE_ANDROID_REFRESHTOKEN
|
|
45
45
|
* Describe the refresh token that can be obtained by accessing [android_auth_code].
|
|
46
46
|
*
|
|
47
47
|
* [android_auth_code]にアクセスすることで取得できるリフレッシュトークンを記述します。
|
|
48
48
|
*
|
|
49
|
-
* @param
|
|
49
|
+
* @param process.env.PURCHASE_ANDROID_CLIENTID
|
|
50
50
|
* Google's OAuth 2.0 client ID.
|
|
51
51
|
* Create an OAuth consent screen from the URL below.
|
|
52
52
|
* https://console.cloud.google.com/apis/credentials/consent
|
|
@@ -59,7 +59,7 @@ const utils = __importStar(require("../lib/utils"));
|
|
|
59
59
|
* その後、認証情報からOAuth 2.0 クライアントIDを作成します。
|
|
60
60
|
* https://console.cloud.google.com/apis/credentials
|
|
61
61
|
*
|
|
62
|
-
* @param
|
|
62
|
+
* @param process.env.PURCHASE_ANDROID_CLIENTSECRET
|
|
63
63
|
* Google's OAuth 2.0 client secret.
|
|
64
64
|
* Create an OAuth consent screen from the URL below.
|
|
65
65
|
* https://console.cloud.google.com/apis/credentials/consent
|
|
@@ -72,25 +72,33 @@ 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
|
|
75
|
+
* @param process.env.PURCHASE_SUBSCRIPTIONPATH
|
|
76
76
|
* Describes the path to the collection of subscriptions.
|
|
77
77
|
*
|
|
78
78
|
* サブスクリプションのコレクションのパスを記述します。
|
|
79
79
|
*/
|
|
80
|
-
module.exports = (regions,
|
|
81
|
-
var _a;
|
|
82
|
-
return functions.
|
|
83
|
-
|
|
84
|
-
|
|
80
|
+
module.exports = (regions, options, data) => {
|
|
81
|
+
var _a, _b;
|
|
82
|
+
return functions.pubsub.onMessagePublished({
|
|
83
|
+
topic: (_a = options.topic) !== null && _a !== void 0 ? _a : "purchasing",
|
|
84
|
+
region: regions[0],
|
|
85
|
+
timeoutSeconds: options.timeoutSeconds,
|
|
86
|
+
memory: options.memory,
|
|
87
|
+
minInstances: options.minInstances,
|
|
88
|
+
concurrency: options.concurrency,
|
|
89
|
+
maxInstances: (_b = options.maxInstances) !== null && _b !== void 0 ? _b : undefined,
|
|
90
|
+
}, (message) => __awaiter(void 0, void 0, void 0, function* () {
|
|
85
91
|
try {
|
|
86
|
-
const messageBody = message.data ?
|
|
87
|
-
JSON.parse(Buffer.from(message.data, "base64").toString()) :
|
|
92
|
+
const messageBody = message.data.message.data ?
|
|
93
|
+
JSON.parse(Buffer.from(message.data.message.data, "base64").toString()) :
|
|
88
94
|
null;
|
|
89
95
|
if (messageBody) {
|
|
90
96
|
const firestoreInstance = admin.firestore();
|
|
91
|
-
const
|
|
92
|
-
const
|
|
93
|
-
|
|
97
|
+
const targetPath = process.env.PURCHASE_SUBSCRIPTIONPATH;
|
|
98
|
+
const androidClientId = process.env.PURCHASE_ANDROID_CLIENTID;
|
|
99
|
+
const androidClientSecret = process.env.PURCHASE_ANDROID_CLIENTSECRET;
|
|
100
|
+
const androidRefreshToken = process.env.PURCHASE_ANDROID_REFRESHTOKEN;
|
|
101
|
+
if (!androidClientId || !androidClientSecret || !androidRefreshToken || !targetPath) {
|
|
94
102
|
throw new Error("The data is invalid.");
|
|
95
103
|
}
|
|
96
104
|
const { subscriptionNotification, packageName, } = messageBody;
|
|
@@ -101,9 +109,9 @@ module.exports = (regions, timeoutSeconds, data) => {
|
|
|
101
109
|
}
|
|
102
110
|
const res = yield verifier.verifyAndroid({
|
|
103
111
|
type: "subscriptions",
|
|
104
|
-
clientId:
|
|
105
|
-
clientSecret:
|
|
106
|
-
refreshToken:
|
|
112
|
+
clientId: androidClientId,
|
|
113
|
+
clientSecret: androidClientSecret,
|
|
114
|
+
refreshToken: androidRefreshToken,
|
|
107
115
|
packageName: packageName,
|
|
108
116
|
productId: subscriptionId,
|
|
109
117
|
purchaseToken: purchaseToken,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"purchase_webhook_android.js","sourceRoot":"","sources":["../../src/functions/purchase_webhook_android.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"purchase_webhook_android.js","sourceRoot":"","sources":["../../src/functions/purchase_webhook_android.ts"],"names":[],"mappings":"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"}
|
|
@@ -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 admin = __importStar(require("firebase-admin"));
|
|
37
37
|
const utils = __importStar(require("../lib/utils"));
|
|
38
38
|
/**
|
|
@@ -40,96 +40,110 @@ const utils = __importStar(require("../lib/utils"));
|
|
|
40
40
|
*
|
|
41
41
|
* IOS用のWebhookのエンドポイントです。AppStoreConnectの[App]->[App情報]->[App Storeサーバ通知]にエンドポイントを設定することで通知を受け取ることができるようになります。
|
|
42
42
|
*
|
|
43
|
-
* @param
|
|
43
|
+
* @param process.env.PURCHASE_IOS_SHAREDSECRET
|
|
44
|
+
* SharedSecret for AppStore, obtained from [Apps]->[App Info]->[Shared Secret for App] in the AppStore.
|
|
45
|
+
*
|
|
46
|
+
* AppStoreのSharedSecret。AppStoreの[アプリ]->[App情報]->[App用共有シークレット]から取得します。
|
|
47
|
+
*
|
|
48
|
+
* @param process.env.PURCHASE_SUBSCRIPTIONPATH
|
|
44
49
|
* Describes the path to the collection of subscriptions.
|
|
45
50
|
*
|
|
46
51
|
* サブスクリプションのコレクションのパスを記述します。
|
|
47
52
|
*/
|
|
48
|
-
module.exports = (regions,
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
const
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
const
|
|
66
|
-
const
|
|
67
|
-
const
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
53
|
+
module.exports = (regions, options, data) => {
|
|
54
|
+
var _a;
|
|
55
|
+
return functions.https.onRequest({
|
|
56
|
+
region: regions,
|
|
57
|
+
timeoutSeconds: options.timeoutSeconds,
|
|
58
|
+
memory: options.memory,
|
|
59
|
+
minInstances: options.minInstances,
|
|
60
|
+
concurrency: options.concurrency,
|
|
61
|
+
maxInstances: (_a = options.maxInstances) !== null && _a !== void 0 ? _a : undefined,
|
|
62
|
+
}, (req, res) => __awaiter(void 0, void 0, void 0, function* () {
|
|
63
|
+
try {
|
|
64
|
+
const message = req.body;
|
|
65
|
+
const signedPayload = message.signedPayload;
|
|
66
|
+
if (signedPayload) {
|
|
67
|
+
const signedPayloadBody = signedPayload.replace(/-/g, "+").replace(/_/g, "/").split(".")[1];
|
|
68
|
+
const messageBody = JSON.parse(Buffer.from(signedPayloadBody, "base64").toString());
|
|
69
|
+
if (messageBody) {
|
|
70
|
+
const { notificationType, data, } = messageBody;
|
|
71
|
+
const { signedTransactionInfo, } = data;
|
|
72
|
+
const signedTransactionInfoBody = signedTransactionInfo.replace(/-/g, "+").replace(/_/g, "/").split(".")[1];
|
|
73
|
+
const transactionInfo = JSON.parse(Buffer.from(signedTransactionInfoBody, "base64").toString());
|
|
74
|
+
const firestoreInstance = admin.firestore();
|
|
75
|
+
const targetPath = process.env.PURCHASE_SUBSCRIPTIONPATH;
|
|
76
|
+
if (transactionInfo) {
|
|
77
|
+
const transactionId = transactionInfo.originalTransactionId;
|
|
78
|
+
const doc = yield firestoreInstance.doc(`${targetPath}/${transactionId}`).get();
|
|
79
|
+
const data = doc === null || doc === void 0 ? void 0 : doc.data();
|
|
80
|
+
const path = doc === null || doc === void 0 ? void 0 : doc.ref.path;
|
|
81
|
+
if (!data) {
|
|
82
|
+
throw new Error("The purchased data is not found.");
|
|
83
|
+
}
|
|
84
|
+
const user = data["userId"];
|
|
85
|
+
console.log(`notificationType: ${notificationType}`);
|
|
86
|
+
switch (notificationType) {
|
|
87
|
+
case "CONSUMPTION_REQUEST":
|
|
88
|
+
case "DID_CHANGE_RENEWAL_STATUS":
|
|
89
|
+
case "DID_FAIL_TO_RENEW":
|
|
90
|
+
case "PRICE_INCREASE":
|
|
91
|
+
case "REFUND_DECLINED": {
|
|
92
|
+
for (const key in transactionInfo) {
|
|
93
|
+
if (!data[key]) {
|
|
94
|
+
continue;
|
|
95
|
+
}
|
|
96
|
+
data[key] = utils.parse(transactionInfo[key]);
|
|
82
97
|
}
|
|
83
|
-
data[
|
|
98
|
+
data["expiredTime"] = parseInt(transactionInfo["expiresDate"]);
|
|
99
|
+
data["orderId"] = transactionInfo["transactionId"];
|
|
100
|
+
yield firestoreInstance.doc(path).set(data);
|
|
101
|
+
console.log(`Updated subscription: ${data["productId"]}:${user}`);
|
|
102
|
+
break;
|
|
84
103
|
}
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
case "RENEWAL_EXTENDED": {
|
|
95
|
-
for (const key in transactionInfo) {
|
|
96
|
-
if (!data[key]) {
|
|
97
|
-
continue;
|
|
104
|
+
case "DID_CHANGE_RENEWAL_PREF":
|
|
105
|
+
case "DID_RENEW":
|
|
106
|
+
case "OFFER_REDEEMED":
|
|
107
|
+
case "RENEWAL_EXTENDED": {
|
|
108
|
+
for (const key in transactionInfo) {
|
|
109
|
+
if (!data[key]) {
|
|
110
|
+
continue;
|
|
111
|
+
}
|
|
112
|
+
data[key] = utils.parse(transactionInfo[key]);
|
|
98
113
|
}
|
|
99
|
-
data[
|
|
114
|
+
data["expired"] = false;
|
|
115
|
+
data["expiredTime"] = parseInt(transactionInfo["expiresDate"]);
|
|
116
|
+
data["orderId"] = transactionInfo["transactionId"];
|
|
117
|
+
yield firestoreInstance.doc(path).set(data);
|
|
118
|
+
console.log(`Updated subscription: ${data["productId"]}:${user}`);
|
|
119
|
+
break;
|
|
100
120
|
}
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
case "GRACE_PERIOD_EXPIRED":
|
|
111
|
-
case "REFUND": {
|
|
112
|
-
for (const key in transactionInfo) {
|
|
113
|
-
if (!data[key]) {
|
|
114
|
-
continue;
|
|
121
|
+
case "EXPIRED":
|
|
122
|
+
case "REVOKE":
|
|
123
|
+
case "GRACE_PERIOD_EXPIRED":
|
|
124
|
+
case "REFUND": {
|
|
125
|
+
for (const key in transactionInfo) {
|
|
126
|
+
if (!data[key]) {
|
|
127
|
+
continue;
|
|
128
|
+
}
|
|
129
|
+
data[key] = utils.parse(transactionInfo[key]);
|
|
115
130
|
}
|
|
116
|
-
data[
|
|
131
|
+
data["expired"] = true;
|
|
132
|
+
yield firestoreInstance.doc(path).set(data);
|
|
133
|
+
console.log(`Expired subscription: ${data["productId"]}:${user}`);
|
|
134
|
+
break;
|
|
117
135
|
}
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
console.log(`Expired subscription: ${data["productId"]}:${user}`);
|
|
121
|
-
break;
|
|
136
|
+
default:
|
|
137
|
+
break;
|
|
122
138
|
}
|
|
123
|
-
default:
|
|
124
|
-
break;
|
|
125
139
|
}
|
|
126
140
|
}
|
|
127
141
|
}
|
|
128
142
|
}
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
}
|
|
134
|
-
}
|
|
143
|
+
catch (err) {
|
|
144
|
+
console.error(err);
|
|
145
|
+
throw new functions.https.HttpsError("unknown", "Unknown error.");
|
|
146
|
+
}
|
|
147
|
+
}));
|
|
148
|
+
};
|
|
135
149
|
//# sourceMappingURL=purchase_webhook_ios.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"purchase_webhook_ios.js","sourceRoot":"","sources":["../../src/functions/purchase_webhook_ios.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"purchase_webhook_ios.js","sourceRoot":"","sources":["../../src/functions/purchase_webhook_ios.ts"],"names":[],"mappings":"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"}
|
|
@@ -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 admin = __importStar(require("firebase-admin"));
|
|
37
37
|
const send_notification_1 = require("../lib/send_notification");
|
|
38
38
|
/**
|
|
@@ -40,16 +40,25 @@ const send_notification_1 = require("../lib/send_notification");
|
|
|
40
40
|
*
|
|
41
41
|
* DBを監視し未来のPUSH通知やデータの登録をするスケーリングしながら通知を行うための処理を定義します。
|
|
42
42
|
*
|
|
43
|
-
* @param
|
|
43
|
+
* @param process.env.SCHEDULER_COLLECTION_PATH
|
|
44
44
|
* Specify the path of the collection to be monitored.
|
|
45
45
|
*
|
|
46
46
|
* 監視するコレクションのパスを指定します。
|
|
47
47
|
*/
|
|
48
|
-
module.exports = (regions,
|
|
49
|
-
var _a;
|
|
50
|
-
return functions.
|
|
48
|
+
module.exports = (regions, options, data) => {
|
|
49
|
+
var _a, _b;
|
|
50
|
+
return functions.scheduler.onSchedule({
|
|
51
|
+
schedule: (_a = options.schedule) !== null && _a !== void 0 ? _a : "every 1 minutes",
|
|
52
|
+
region: regions[0],
|
|
53
|
+
timeoutSeconds: options.timeoutSeconds,
|
|
54
|
+
memory: options.memory,
|
|
55
|
+
minInstances: options.minInstances,
|
|
56
|
+
concurrency: options.concurrency,
|
|
57
|
+
maxInstances: (_b = options.maxInstances) !== null && _b !== void 0 ? _b : undefined,
|
|
58
|
+
}, (event) => __awaiter(void 0, void 0, void 0, function* () {
|
|
59
|
+
var _c;
|
|
51
60
|
try {
|
|
52
|
-
const collectionPath =
|
|
61
|
+
const collectionPath = (_c = process.env.SCHEDULER_COLLECTION_PATH) !== null && _c !== void 0 ? _c : "schedule";
|
|
53
62
|
const firestoreInstance = admin.firestore();
|
|
54
63
|
const collection = yield firestoreInstance.collection(collectionPath).where("_done", "==", false).where("_time", "<=", Date.now()).orderBy("_time", "asc").get();
|
|
55
64
|
for (var doc of collection.docs) {
|
|
@@ -111,9 +120,6 @@ module.exports = (regions, timeoutSeconds, data) => {
|
|
|
111
120
|
console.log(err);
|
|
112
121
|
throw err;
|
|
113
122
|
}
|
|
114
|
-
return {
|
|
115
|
-
success: true,
|
|
116
|
-
};
|
|
117
123
|
}));
|
|
118
124
|
};
|
|
119
125
|
//# sourceMappingURL=scheduler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../src/functions/scheduler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../src/functions/scheduler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iEAAmD;AACnD,sDAAwC;AACxC,gEAA4D;AAG5D;;;;;;;;;GASG;AACH,MAAM,CAAC,OAAO,GAAG,CACb,OAAiB,EACjB,OAAkC,EAClC,IAA+B,EACjC,EAAE;;IAAC,OAAA,SAAS,CAAC,SAAS,CAAC,UAAU,CAC/B;QACI,QAAQ,EAAE,MAAA,OAAO,CAAC,QAAQ,mCAAI,iBAAiB;QAC/C,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,MAAA,OAAO,CAAC,YAAY,mCAAI,SAAS;KAClD,EACD,CAAO,KAAK,EAAE,EAAE;;QACZ,IAAI;YACA,MAAM,cAAc,GAAG,MAAA,OAAO,CAAC,GAAG,CAAC,yBAAyB,mCAAI,UAAU,CAAC;YAC3E,MAAM,iBAAiB,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;YAC5C,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC;YACjK,KAAK,IAAI,GAAG,IAAI,UAAU,CAAC,IAAI,EAAE;gBAC7B,IAAI,GAAG,GAAkC,IAAI,CAAC;gBAC9C,MAAM,OAAO,GAAI,GAAG,CAAC,GAAG,CAAC,UAAU,CAA4B,CAAC,UAAU,CAAC,CAAC;gBAC5E,MAAM,SAAS,GAAI,GAAG,CAAC,GAAG,CAAC,UAAU,CAA4B,CAAC,UAAU,CAA2B,CAAC;gBACxG,QAAQ,OAAO,EAAE;oBACb,KAAK,cAAc;wBACf,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAW,CAAC;wBAC3C,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,CAAW,CAAC;wBACzC,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAA8B,CAAC;wBACpE,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,CAAuC,CAAC;wBACrE,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAyC,CAAC;wBACzE,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAA8B,CAAC;wBAC9D,MAAM,QAAQ,GAAG,MAAM,IAAA,oCAAgB,EAAC;4BACpC,KAAK,EAAE,KAAK;4BACZ,IAAI,EAAE,IAAI;4BACV,SAAS,EAAE,SAAS;4BACpB,IAAI,EAAE,IAAI;4BACV,KAAK,EAAE,KAAK;4BACZ,KAAK,EAAE,KAAK;yBACf,CAAC,CAAC;wBACH,GAAG,GAAG,QAAQ,CAAC,OAAwC,CAAC;wBACxD,MAAM;oBACV,KAAK,eAAe;wBAChB,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,CAAW,CAAC;wBACzC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBAC9B,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;wBACnC,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;wBAC3B,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;wBACrC,MAAM,MAAM,GAA2B,EAAE,CAAC;wBAC1C,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE;4BACvB,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,SAAS,IAAI,GAAG,IAAI,UAAU,IAAI,GAAG,IAAI,MAAM,EAAE;gCAC/E,SAAS;6BACZ;4BACD,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;yBAC9B;wBACD,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;wBACpB,MAAM,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CACjC,MAAM,EAAE;4BACR,KAAK,EAAE,IAAI;yBACd,CACA,CAAC;wBACF,MAAM;iBACb;gBACD,IAAI,GAAG,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC7C,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,iBACb,OAAO,EAAE,IAAI,IACV,GAAG,GACP;wBACC,KAAK,EAAE,IAAI;qBACd,CAAC,CAAC;iBACN;qBAAM;oBACH,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;wBACd,OAAO,EAAE,IAAI;qBAChB,EAAE;wBACC,KAAK,EAAE,IAAI;qBACd,CAAC,CAAC;iBACN;aACJ;SACJ;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,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 sendgrid = __importStar(require("../lib/send_grid"));
|
|
37
37
|
/**
|
|
38
38
|
* Send mail through SendGrid.
|
|
39
39
|
*
|
|
40
40
|
* SendGridでメールを送信します。
|
|
41
41
|
*
|
|
42
|
-
* @param {string}
|
|
42
|
+
* @param {string} process.env.MAIL_SENDGRID_APIKEY
|
|
43
43
|
* API key for SendGrid. Issue it according to the following procedure.
|
|
44
44
|
* https://mathru.notion.site/SendGrid-bb87b2ffa8174dbda944812f43856d6c
|
|
45
45
|
* SendGridのAPIキー。下記の手順で発行します。
|
|
@@ -61,28 +61,38 @@ const sendgrid = __importStar(require("../lib/send_grid"));
|
|
|
61
61
|
* Email content.
|
|
62
62
|
* メール本文。
|
|
63
63
|
*/
|
|
64
|
-
module.exports = (regions,
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
64
|
+
module.exports = (regions, options, data) => {
|
|
65
|
+
var _a;
|
|
66
|
+
return functions.https.onCall({
|
|
67
|
+
region: regions,
|
|
68
|
+
timeoutSeconds: options.timeoutSeconds,
|
|
69
|
+
memory: options.memory,
|
|
70
|
+
minInstances: options.minInstances,
|
|
71
|
+
concurrency: options.concurrency,
|
|
72
|
+
maxInstances: (_a = options.maxInstances) !== null && _a !== void 0 ? _a : undefined,
|
|
73
|
+
}, (query) => __awaiter(void 0, void 0, void 0, function* () {
|
|
74
|
+
try {
|
|
75
|
+
const from = query.data.from;
|
|
76
|
+
const to = query.data.to;
|
|
77
|
+
const title = query.data.title;
|
|
78
|
+
const content = query.data.content;
|
|
79
|
+
if (!from || !to || !title || !content) {
|
|
80
|
+
throw new functions.https.HttpsError("invalid-argument", "Query parameter is invalid.");
|
|
81
|
+
}
|
|
82
|
+
yield sendgrid.send({
|
|
83
|
+
from: from,
|
|
84
|
+
to: to,
|
|
85
|
+
title: title,
|
|
86
|
+
content: content,
|
|
87
|
+
});
|
|
88
|
+
return {
|
|
89
|
+
success: true,
|
|
90
|
+
};
|
|
72
91
|
}
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
return {
|
|
80
|
-
success: true,
|
|
81
|
-
};
|
|
82
|
-
}
|
|
83
|
-
catch (err) {
|
|
84
|
-
console.error(err);
|
|
85
|
-
throw err;
|
|
86
|
-
}
|
|
87
|
-
}));
|
|
92
|
+
catch (err) {
|
|
93
|
+
console.error(err);
|
|
94
|
+
throw err;
|
|
95
|
+
}
|
|
96
|
+
}));
|
|
97
|
+
};
|
|
88
98
|
//# sourceMappingURL=send_grid.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"send_grid.js","sourceRoot":"","sources":["../../src/functions/send_grid.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"send_grid.js","sourceRoot":"","sources":["../../src/functions/send_grid.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iEAAmD;AACnD,2DAA6C;AAG7C;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;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,QAAQ,CAAC,IAAI,CAAC;gBAChB,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,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 send_notification_1 = require("../lib/send_notification");
|
|
37
37
|
/**
|
|
38
38
|
* Define the process for PUSH notification.
|
|
@@ -69,27 +69,40 @@ const send_notification_1 = require("../lib/send_notification");
|
|
|
69
69
|
*
|
|
70
70
|
* FCMのトピックを指定します。
|
|
71
71
|
*/
|
|
72
|
-
module.exports = (regions,
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
72
|
+
module.exports = (regions, options, data) => {
|
|
73
|
+
var _a;
|
|
74
|
+
return functions.https.onCall({
|
|
75
|
+
region: regions,
|
|
76
|
+
timeoutSeconds: options.timeoutSeconds,
|
|
77
|
+
memory: options.memory,
|
|
78
|
+
minInstances: options.minInstances,
|
|
79
|
+
concurrency: options.concurrency,
|
|
80
|
+
maxInstances: (_a = options.maxInstances) !== null && _a !== void 0 ? _a : undefined,
|
|
81
|
+
}, (query) => __awaiter(void 0, void 0, void 0, function* () {
|
|
82
|
+
try {
|
|
83
|
+
const title = query.data.title;
|
|
84
|
+
const body = query.data.body;
|
|
85
|
+
const channelId = query.data.channel_id;
|
|
86
|
+
const data = query.data.data;
|
|
87
|
+
const token = query.data.token;
|
|
88
|
+
const topic = query.data.topic;
|
|
89
|
+
if (!title || !body) {
|
|
90
|
+
throw new functions.https.HttpsError("invalid-argument", "Query parameter is invalid.");
|
|
91
|
+
}
|
|
92
|
+
const res = yield (0, send_notification_1.sendNotification)({
|
|
93
|
+
title: title,
|
|
94
|
+
body: body,
|
|
95
|
+
channelId: channelId,
|
|
96
|
+
data: data,
|
|
97
|
+
token: token,
|
|
98
|
+
topic: topic,
|
|
99
|
+
});
|
|
100
|
+
return res;
|
|
101
|
+
}
|
|
102
|
+
catch (err) {
|
|
103
|
+
console.log(err);
|
|
104
|
+
throw err;
|
|
105
|
+
}
|
|
106
|
+
}));
|
|
107
|
+
};
|
|
95
108
|
//# sourceMappingURL=send_notification.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"send_notification.js","sourceRoot":"","sources":["../../src/functions/send_notification.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"send_notification.js","sourceRoot":"","sources":["../../src/functions/send_notification.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iEAAmD;AACnD,gEAA4D;AAG5D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;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,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAkC,CAAC;YAC5D,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAiC,CAAC;YAC1D,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,UAAuC,CAAC;YACrE,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAA6C,CAAC;YACtE,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAA6C,CAAC;YACvE,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAkC,CAAC;YAC5D,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,EAAE;gBACjB,MAAM,IAAI,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,kBAAkB,EAAE,6BAA6B,CAAC,CAAC;aAC3F;YACD,MAAM,GAAG,GAAG,MAAM,IAAA,oCAAgB,EAAC;gBAC/B,KAAK,EAAE,KAAK;gBACZ,IAAI,EAAE,IAAI;gBACV,SAAS,EAAE,SAAS;gBACpB,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,KAAK;aACf,CAAC,CAAC;YACH,OAAO,GAAG,CAAC;SACd;QAAC,OAAO,GAAG,EAAE;YACV,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACjB,MAAM,GAAG,CAAC;SACb;IACL,CAAC,CAAA,CACJ,CAAA;CAAA,CAAC"}
|