@mathrunet/masamune 2.4.3 → 2.5.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_token.js +26 -11
- package/dist/functions/agora_token.js.map +1 -1
- package/dist/functions/algolia.js +1 -1
- package/dist/functions/algolia.js.map +1 -1
- package/dist/functions/consumable_verify_android.js +2 -2
- package/dist/functions/consumable_verify_android.js.map +1 -1
- package/dist/functions/consumable_verify_ios.js +2 -2
- 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 +2 -2
- package/dist/functions/nonconsumable_verify_android.js.map +1 -1
- package/dist/functions/nonconsumable_verify_ios.js +2 -2
- package/dist/functions/nonconsumable_verify_ios.js.map +1 -1
- package/dist/functions/purchase_webhook_android.js +1 -1
- package/dist/functions/purchase_webhook_android.js.map +1 -1
- package/dist/functions/scheduler.js +9 -1
- package/dist/functions/scheduler.js.map +1 -1
- package/dist/functions/send_grid.js +1 -1
- package/dist/functions/send_grid.js.map +1 -1
- package/dist/functions/send_notification.js +29 -1
- package/dist/functions/send_notification.js.map +1 -1
- package/dist/functions/stripe.d.ts +1 -1
- package/dist/functions/stripe.js +3 -3
- package/dist/functions/stripe.js.map +1 -1
- package/dist/functions/stripe_webhook_secure.d.ts +1 -1
- package/dist/functions/stripe_webhook_secure.js +1 -1
- package/dist/functions/stripe_webhook_secure.js.map +1 -1
- 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 +1 -1
- package/dist/functions.js +1 -1
- package/dist/functions.js.map +1 -1
- package/dist/index.d.ts +10 -10
- package/dist/index.js +9 -9
- package/dist/index.js.map +1 -1
- package/dist/lib/exntensions/string.extension.d.ts +179 -0
- package/dist/lib/exntensions/string.extension.js +190 -0
- package/dist/lib/exntensions/string.extension.js.map +1 -0
- package/dist/lib/functions/firestore.d.ts +15 -0
- package/dist/lib/functions/firestore.js +216 -0
- package/dist/lib/functions/firestore.js.map +1 -0
- package/dist/lib/functions/gmail.d.ts +39 -0
- package/dist/lib/functions/gmail.js +65 -0
- package/dist/lib/functions/gmail.js.map +1 -0
- package/dist/lib/functions/send_grid.d.ts +33 -0
- package/dist/lib/functions/send_grid.js +58 -0
- package/dist/lib/functions/send_grid.js.map +1 -0
- package/dist/lib/functions/send_notification.d.ts +87 -0
- package/dist/lib/functions/send_notification.js +270 -0
- package/dist/lib/functions/send_notification.js.map +1 -0
- package/dist/lib/functions/update_subscription.d.ts +83 -0
- package/dist/lib/functions/update_subscription.js +143 -0
- package/dist/lib/functions/update_subscription.js.map +1 -0
- package/dist/lib/functions/update_unlock.d.ts +13 -0
- package/dist/lib/functions/update_unlock.js +64 -0
- package/dist/lib/functions/update_unlock.js.map +1 -0
- package/dist/lib/functions/update_wallet.d.ts +19 -0
- package/dist/lib/functions/update_wallet.js +70 -0
- package/dist/lib/functions/update_wallet.js.map +1 -0
- package/dist/lib/functions/verify_android.d.ts +50 -0
- package/dist/lib/functions/verify_android.js +121 -0
- package/dist/lib/functions/verify_android.js.map +1 -0
- package/dist/lib/functions/verify_ios.d.ts +26 -0
- package/dist/lib/functions/verify_ios.js +110 -0
- package/dist/lib/functions/verify_ios.js.map +1 -0
- package/dist/lib/model_field_value/converters/firestore_basic_converter.d.ts +20 -0
- package/dist/lib/model_field_value/converters/firestore_basic_converter.js +25 -0
- package/dist/lib/model_field_value/converters/firestore_basic_converter.js.map +1 -0
- package/dist/lib/model_field_value/converters/firestore_enum_converter.d.ts +20 -0
- package/dist/lib/model_field_value/converters/firestore_enum_converter.js +25 -0
- package/dist/lib/model_field_value/converters/firestore_enum_converter.js.map +1 -0
- package/dist/lib/model_field_value/converters/firestore_model_command_base_converter.d.ts +20 -0
- package/dist/lib/model_field_value/converters/firestore_model_command_base_converter.js +38 -0
- package/dist/lib/model_field_value/converters/firestore_model_command_base_converter.js.map +1 -0
- package/dist/lib/model_field_value/converters/firestore_model_counter_converter.d.ts +20 -0
- package/dist/lib/model_field_value/converters/firestore_model_counter_converter.js +78 -0
- package/dist/lib/model_field_value/converters/firestore_model_counter_converter.js.map +1 -0
- package/dist/lib/model_field_value/converters/firestore_model_date_converter.d.ts +20 -0
- package/dist/lib/model_field_value/converters/firestore_model_date_converter.js +95 -0
- package/dist/lib/model_field_value/converters/firestore_model_date_converter.js.map +1 -0
- package/dist/lib/model_field_value/converters/firestore_model_geo_value_converter.d.ts +20 -0
- package/dist/lib/model_field_value/converters/firestore_model_geo_value_converter.js +77 -0
- package/dist/lib/model_field_value/converters/firestore_model_geo_value_converter.js.map +1 -0
- package/dist/lib/model_field_value/converters/firestore_model_image_uri_converter.d.ts +20 -0
- package/dist/lib/model_field_value/converters/firestore_model_image_uri_converter.js +74 -0
- package/dist/lib/model_field_value/converters/firestore_model_image_uri_converter.js.map +1 -0
- package/dist/lib/model_field_value/converters/firestore_model_locale_converter.d.ts +20 -0
- package/dist/lib/model_field_value/converters/firestore_model_locale_converter.js +74 -0
- package/dist/lib/model_field_value/converters/firestore_model_locale_converter.js.map +1 -0
- package/dist/lib/model_field_value/converters/firestore_model_localized_value_converter.d.ts +20 -0
- package/dist/lib/model_field_value/converters/firestore_model_localized_value_converter.js +36 -0
- package/dist/lib/model_field_value/converters/firestore_model_localized_value_converter.js.map +1 -0
- package/dist/lib/model_field_value/converters/firestore_model_ref_converter.d.ts +20 -0
- package/dist/lib/model_field_value/converters/firestore_model_ref_converter.js +60 -0
- package/dist/lib/model_field_value/converters/firestore_model_ref_converter.js.map +1 -0
- package/dist/lib/model_field_value/converters/firestore_model_search_converter.d.ts +20 -0
- package/dist/lib/model_field_value/converters/firestore_model_search_converter.js +36 -0
- package/dist/lib/model_field_value/converters/firestore_model_search_converter.js.map +1 -0
- package/dist/lib/model_field_value/converters/firestore_model_timestamp_converter.d.ts +20 -0
- package/dist/lib/model_field_value/converters/firestore_model_timestamp_converter.js +95 -0
- package/dist/lib/model_field_value/converters/firestore_model_timestamp_converter.js.map +1 -0
- package/dist/lib/model_field_value/converters/firestore_model_token_converter.d.ts +20 -0
- package/dist/lib/model_field_value/converters/firestore_model_token_converter.js +36 -0
- package/dist/lib/model_field_value/converters/firestore_model_token_converter.js.map +1 -0
- package/dist/lib/model_field_value/converters/firestore_model_uri_converter.d.ts +20 -0
- package/dist/lib/model_field_value/converters/firestore_model_uri_converter.js +74 -0
- package/dist/lib/model_field_value/converters/firestore_model_uri_converter.js.map +1 -0
- package/dist/lib/model_field_value/converters/firestore_model_video_uri_converter.d.ts +20 -0
- package/dist/lib/model_field_value/converters/firestore_model_video_uri_converter.js +74 -0
- package/dist/lib/model_field_value/converters/firestore_model_video_uri_converter.js.map +1 -0
- package/dist/lib/model_field_value/converters/firestore_null_converter.d.ts +20 -0
- package/dist/lib/model_field_value/converters/firestore_null_converter.js +25 -0
- package/dist/lib/model_field_value/converters/firestore_null_converter.js.map +1 -0
- package/dist/lib/model_field_value/default_firestore_model_field_value_converter.d.ts +8 -0
- package/dist/lib/model_field_value/default_firestore_model_field_value_converter.js +44 -0
- package/dist/lib/model_field_value/default_firestore_model_field_value_converter.js.map +1 -0
- package/dist/lib/model_field_value/firestore_model_field_value_converter.d.ts +140 -0
- package/dist/lib/model_field_value/firestore_model_field_value_converter.js +127 -0
- package/dist/lib/model_field_value/firestore_model_field_value_converter.js.map +1 -0
- package/dist/lib/model_field_value/model_field_value.d.ts +82 -0
- package/dist/lib/model_field_value/model_field_value.js +104 -0
- package/dist/lib/model_field_value/model_field_value.js.map +1 -0
- package/dist/lib/src/call_process_function_base.d.ts +39 -0
- package/dist/lib/src/call_process_function_base.js +69 -0
- package/dist/lib/src/call_process_function_base.js.map +1 -0
- package/dist/lib/src/functions_base.d.ts +195 -0
- package/dist/lib/src/functions_base.js +37 -0
- package/dist/lib/src/functions_base.js.map +1 -0
- package/dist/lib/src/functions_data.d.ts +10 -0
- package/dist/lib/src/functions_data.js +19 -0
- package/dist/lib/src/functions_data.js.map +1 -0
- package/dist/lib/src/request_process_function_base.d.ts +39 -0
- package/dist/lib/src/request_process_function_base.js +69 -0
- package/dist/lib/src/request_process_function_base.js.map +1 -0
- package/dist/lib/src/schedule_process_function_base.d.ts +33 -0
- package/dist/lib/src/schedule_process_function_base.js +70 -0
- package/dist/lib/src/schedule_process_function_base.js.map +1 -0
- package/dist/lib/src/sql_api_base.d.ts +185 -0
- package/dist/lib/src/sql_api_base.js +94 -0
- package/dist/lib/src/sql_api_base.js.map +1 -0
- package/dist/lib/utils.d.ts +21 -0
- package/dist/lib/utils.js +32 -1
- package/dist/lib/utils.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Define the process for PUSH notification.
|
|
3
|
+
*
|
|
4
|
+
* PUSH通知を行うための処理を定義します。
|
|
5
|
+
*
|
|
6
|
+
* @param title
|
|
7
|
+
* The title of the notice should be listed.
|
|
8
|
+
*
|
|
9
|
+
* 通知タイトルを記載します。
|
|
10
|
+
*
|
|
11
|
+
* @param body
|
|
12
|
+
* The contents of the notice will be described.
|
|
13
|
+
*
|
|
14
|
+
* 通知内容を記載します。
|
|
15
|
+
*
|
|
16
|
+
* @param channel_id
|
|
17
|
+
* Describe ChannelId for Android.
|
|
18
|
+
*
|
|
19
|
+
* Android向けのChannelIdを記載します。
|
|
20
|
+
*
|
|
21
|
+
* @param data
|
|
22
|
+
* Specify the data to be placed on the notification.
|
|
23
|
+
*
|
|
24
|
+
* 通知に乗せるデータを指定します。
|
|
25
|
+
*
|
|
26
|
+
* @param token
|
|
27
|
+
* Specifies the FCM token.
|
|
28
|
+
*
|
|
29
|
+
* FCMトークンを指定します。
|
|
30
|
+
*
|
|
31
|
+
* @param topic
|
|
32
|
+
* Specifies the topic of the FCM.
|
|
33
|
+
*
|
|
34
|
+
* FCMのトピックを指定します。
|
|
35
|
+
*
|
|
36
|
+
* @param badgeCount
|
|
37
|
+
* Specifies the badge count of the notification.
|
|
38
|
+
*
|
|
39
|
+
* 通知のバッジカウントを指定します。
|
|
40
|
+
*
|
|
41
|
+
* @param sound
|
|
42
|
+
* Specifies the sound of the notification.
|
|
43
|
+
*
|
|
44
|
+
* 通知のサウンドを指定します。
|
|
45
|
+
*
|
|
46
|
+
* @param targetCollectionPath
|
|
47
|
+
* Specifies the path of the collection to be notified.
|
|
48
|
+
*
|
|
49
|
+
* 通知対象のコレクションのパスを指定します。
|
|
50
|
+
*
|
|
51
|
+
* @param targetTokenFieldKey
|
|
52
|
+
* Specifies the key of the field used to retrieve the token to be notified.
|
|
53
|
+
*
|
|
54
|
+
* 通知対象のトークンを取得する際のフィールドのキーを指定します。
|
|
55
|
+
*
|
|
56
|
+
* @param targetWhere
|
|
57
|
+
* Specify the conditions for retrieving the collections to be notified.
|
|
58
|
+
*
|
|
59
|
+
* 通知対象のコレクションを取得する際の条件を指定します。
|
|
60
|
+
*
|
|
61
|
+
* @param targetConditions
|
|
62
|
+
* Specify the conditions under which data is to be notified.
|
|
63
|
+
*
|
|
64
|
+
* データを通知対象とする条件を指定します。
|
|
65
|
+
*/
|
|
66
|
+
export declare function sendNotification({ title, body, data, channelId, token, topic, badgeCount, sound, targetCollectionPath, targetTokenFieldKey, targetWhere, targetConditions, }: {
|
|
67
|
+
title: string;
|
|
68
|
+
body: string;
|
|
69
|
+
channelId?: string | undefined | null;
|
|
70
|
+
data?: {
|
|
71
|
+
[key: string]: string;
|
|
72
|
+
} | undefined;
|
|
73
|
+
token?: string | string[] | undefined | null;
|
|
74
|
+
topic?: string | undefined | null;
|
|
75
|
+
badgeCount?: number | undefined | null;
|
|
76
|
+
sound?: string | undefined | null;
|
|
77
|
+
targetCollectionPath?: string | undefined | null;
|
|
78
|
+
targetTokenFieldKey?: string | undefined | null;
|
|
79
|
+
targetWhere?: {
|
|
80
|
+
[key: string]: string;
|
|
81
|
+
}[] | undefined;
|
|
82
|
+
targetConditions?: {
|
|
83
|
+
[key: string]: string;
|
|
84
|
+
}[] | undefined;
|
|
85
|
+
}): Promise<{
|
|
86
|
+
[key: string]: any;
|
|
87
|
+
}>;
|
|
@@ -0,0 +1,270 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
27
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
28
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
29
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
30
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
31
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
35
|
+
exports.sendNotification = void 0;
|
|
36
|
+
const functions = __importStar(require("firebase-functions/v2"));
|
|
37
|
+
const admin = __importStar(require("firebase-admin"));
|
|
38
|
+
const firestore = __importStar(require("./firestore"));
|
|
39
|
+
const utils_1 = require("../utils");
|
|
40
|
+
/**
|
|
41
|
+
* Define the process for PUSH notification.
|
|
42
|
+
*
|
|
43
|
+
* PUSH通知を行うための処理を定義します。
|
|
44
|
+
*
|
|
45
|
+
* @param title
|
|
46
|
+
* The title of the notice should be listed.
|
|
47
|
+
*
|
|
48
|
+
* 通知タイトルを記載します。
|
|
49
|
+
*
|
|
50
|
+
* @param body
|
|
51
|
+
* The contents of the notice will be described.
|
|
52
|
+
*
|
|
53
|
+
* 通知内容を記載します。
|
|
54
|
+
*
|
|
55
|
+
* @param channel_id
|
|
56
|
+
* Describe ChannelId for Android.
|
|
57
|
+
*
|
|
58
|
+
* Android向けのChannelIdを記載します。
|
|
59
|
+
*
|
|
60
|
+
* @param data
|
|
61
|
+
* Specify the data to be placed on the notification.
|
|
62
|
+
*
|
|
63
|
+
* 通知に乗せるデータを指定します。
|
|
64
|
+
*
|
|
65
|
+
* @param token
|
|
66
|
+
* Specifies the FCM token.
|
|
67
|
+
*
|
|
68
|
+
* FCMトークンを指定します。
|
|
69
|
+
*
|
|
70
|
+
* @param topic
|
|
71
|
+
* Specifies the topic of the FCM.
|
|
72
|
+
*
|
|
73
|
+
* FCMのトピックを指定します。
|
|
74
|
+
*
|
|
75
|
+
* @param badgeCount
|
|
76
|
+
* Specifies the badge count of the notification.
|
|
77
|
+
*
|
|
78
|
+
* 通知のバッジカウントを指定します。
|
|
79
|
+
*
|
|
80
|
+
* @param sound
|
|
81
|
+
* Specifies the sound of the notification.
|
|
82
|
+
*
|
|
83
|
+
* 通知のサウンドを指定します。
|
|
84
|
+
*
|
|
85
|
+
* @param targetCollectionPath
|
|
86
|
+
* Specifies the path of the collection to be notified.
|
|
87
|
+
*
|
|
88
|
+
* 通知対象のコレクションのパスを指定します。
|
|
89
|
+
*
|
|
90
|
+
* @param targetTokenFieldKey
|
|
91
|
+
* Specifies the key of the field used to retrieve the token to be notified.
|
|
92
|
+
*
|
|
93
|
+
* 通知対象のトークンを取得する際のフィールドのキーを指定します。
|
|
94
|
+
*
|
|
95
|
+
* @param targetWhere
|
|
96
|
+
* Specify the conditions for retrieving the collections to be notified.
|
|
97
|
+
*
|
|
98
|
+
* 通知対象のコレクションを取得する際の条件を指定します。
|
|
99
|
+
*
|
|
100
|
+
* @param targetConditions
|
|
101
|
+
* Specify the conditions under which data is to be notified.
|
|
102
|
+
*
|
|
103
|
+
* データを通知対象とする条件を指定します。
|
|
104
|
+
*/
|
|
105
|
+
function sendNotification(_a) {
|
|
106
|
+
return __awaiter(this, arguments, void 0, function* ({ title, body, data, channelId, token, topic, badgeCount, sound, targetCollectionPath, targetTokenFieldKey, targetWhere, targetConditions, }) {
|
|
107
|
+
const res = {};
|
|
108
|
+
try {
|
|
109
|
+
if ((token === undefined || token === null) && (topic === undefined || topic === null) && (targetCollectionPath === undefined || targetCollectionPath === null)) {
|
|
110
|
+
throw new functions.https.HttpsError("invalid-argument", "Either [token] or [topic], [targetCollectionPath] must be specified.");
|
|
111
|
+
}
|
|
112
|
+
if (token !== undefined && token !== null) {
|
|
113
|
+
if (typeof token === "string") {
|
|
114
|
+
token = [token];
|
|
115
|
+
}
|
|
116
|
+
const tokenList = (0, utils_1.splitArray)([...new Set(token)], 450);
|
|
117
|
+
for (let t in tokenList) {
|
|
118
|
+
try {
|
|
119
|
+
const messageId = yield admin.messaging().sendEachForMulticast({
|
|
120
|
+
notification: {
|
|
121
|
+
title: title,
|
|
122
|
+
body: body,
|
|
123
|
+
},
|
|
124
|
+
android: {
|
|
125
|
+
priority: "high",
|
|
126
|
+
notification: {
|
|
127
|
+
title: title,
|
|
128
|
+
body: body,
|
|
129
|
+
clickAction: "FLUTTER_NOTIFICATION_CLICK",
|
|
130
|
+
channelId: channelId !== null && channelId !== void 0 ? channelId : undefined,
|
|
131
|
+
sound: sound !== null && sound !== void 0 ? sound : undefined,
|
|
132
|
+
},
|
|
133
|
+
},
|
|
134
|
+
apns: {
|
|
135
|
+
payload: {
|
|
136
|
+
aps: {
|
|
137
|
+
sound: sound !== null && sound !== void 0 ? sound : undefined,
|
|
138
|
+
badge: badgeCount !== null && badgeCount !== void 0 ? badgeCount : undefined,
|
|
139
|
+
},
|
|
140
|
+
}
|
|
141
|
+
},
|
|
142
|
+
data: data,
|
|
143
|
+
tokens: tokenList[t],
|
|
144
|
+
});
|
|
145
|
+
res[t] = messageId;
|
|
146
|
+
}
|
|
147
|
+
catch (e) {
|
|
148
|
+
console.log(e);
|
|
149
|
+
console.log({
|
|
150
|
+
notification: {
|
|
151
|
+
title: title,
|
|
152
|
+
body: body,
|
|
153
|
+
},
|
|
154
|
+
android: {
|
|
155
|
+
priority: "high",
|
|
156
|
+
notification: {
|
|
157
|
+
title: title,
|
|
158
|
+
body: body,
|
|
159
|
+
clickAction: "FLUTTER_NOTIFICATION_CLICK",
|
|
160
|
+
channelId: channelId !== null && channelId !== void 0 ? channelId : undefined,
|
|
161
|
+
sound: sound !== null && sound !== void 0 ? sound : undefined,
|
|
162
|
+
},
|
|
163
|
+
},
|
|
164
|
+
apns: {
|
|
165
|
+
payload: {
|
|
166
|
+
aps: {
|
|
167
|
+
sound: sound !== null && sound !== void 0 ? sound : undefined,
|
|
168
|
+
badge: badgeCount !== null && badgeCount !== void 0 ? badgeCount : undefined,
|
|
169
|
+
},
|
|
170
|
+
}
|
|
171
|
+
},
|
|
172
|
+
data: data,
|
|
173
|
+
tokens: tokenList[t],
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
return {
|
|
178
|
+
success: true,
|
|
179
|
+
results: res,
|
|
180
|
+
};
|
|
181
|
+
}
|
|
182
|
+
else if (topic !== undefined && topic !== null) {
|
|
183
|
+
try {
|
|
184
|
+
const messageId = yield admin.messaging().send({
|
|
185
|
+
notification: {
|
|
186
|
+
title: title,
|
|
187
|
+
body: body,
|
|
188
|
+
},
|
|
189
|
+
android: {
|
|
190
|
+
priority: "high",
|
|
191
|
+
notification: {
|
|
192
|
+
title: title,
|
|
193
|
+
body: body,
|
|
194
|
+
clickAction: "FLUTTER_NOTIFICATION_CLICK",
|
|
195
|
+
channelId: channelId !== null && channelId !== void 0 ? channelId : undefined,
|
|
196
|
+
},
|
|
197
|
+
},
|
|
198
|
+
data: data,
|
|
199
|
+
topic: topic,
|
|
200
|
+
});
|
|
201
|
+
res[topic] = messageId;
|
|
202
|
+
}
|
|
203
|
+
catch (e) {
|
|
204
|
+
console.log(e);
|
|
205
|
+
console.log({
|
|
206
|
+
notification: {
|
|
207
|
+
title: title,
|
|
208
|
+
body: body,
|
|
209
|
+
},
|
|
210
|
+
android: {
|
|
211
|
+
priority: "high",
|
|
212
|
+
notification: {
|
|
213
|
+
title: title,
|
|
214
|
+
body: body,
|
|
215
|
+
clickAction: "FLUTTER_NOTIFICATION_CLICK",
|
|
216
|
+
channelId: channelId !== null && channelId !== void 0 ? channelId : undefined,
|
|
217
|
+
},
|
|
218
|
+
},
|
|
219
|
+
data: data,
|
|
220
|
+
topic: topic,
|
|
221
|
+
});
|
|
222
|
+
}
|
|
223
|
+
return {
|
|
224
|
+
success: true,
|
|
225
|
+
results: res,
|
|
226
|
+
};
|
|
227
|
+
}
|
|
228
|
+
else if (targetCollectionPath !== undefined && targetCollectionPath !== null && targetTokenFieldKey != undefined && targetTokenFieldKey !== null) {
|
|
229
|
+
const firestoreInstance = admin.firestore();
|
|
230
|
+
const collectionRef = firestore.where({
|
|
231
|
+
query: firestoreInstance.collection(targetCollectionPath),
|
|
232
|
+
wheres: targetWhere,
|
|
233
|
+
});
|
|
234
|
+
const tokens = [];
|
|
235
|
+
const collection = yield collectionRef.get();
|
|
236
|
+
for (let doc of collection.docs) {
|
|
237
|
+
const data = doc.data();
|
|
238
|
+
if (!(yield firestore.hasMatch({ data, conditions: targetConditions }))) {
|
|
239
|
+
continue;
|
|
240
|
+
}
|
|
241
|
+
const token = data[targetTokenFieldKey];
|
|
242
|
+
if (typeof token === "string") {
|
|
243
|
+
tokens.push(token);
|
|
244
|
+
}
|
|
245
|
+
else if (Array.isArray(token)) {
|
|
246
|
+
tokens.push(...token);
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
yield sendNotification({
|
|
250
|
+
title: title,
|
|
251
|
+
body: body,
|
|
252
|
+
data: data,
|
|
253
|
+
channelId: channelId,
|
|
254
|
+
token: tokens,
|
|
255
|
+
badgeCount: badgeCount,
|
|
256
|
+
sound: sound,
|
|
257
|
+
});
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
catch (err) {
|
|
261
|
+
throw err;
|
|
262
|
+
}
|
|
263
|
+
return {
|
|
264
|
+
success: true,
|
|
265
|
+
results: res,
|
|
266
|
+
};
|
|
267
|
+
});
|
|
268
|
+
}
|
|
269
|
+
exports.sendNotification = sendNotification;
|
|
270
|
+
//# sourceMappingURL=send_notification.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"send_notification.js","sourceRoot":"","sources":["../../../src/lib/functions/send_notification.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Processes subscription updates.
|
|
3
|
+
*
|
|
4
|
+
* サブスクリプションのアップデート処理を行います。
|
|
5
|
+
*
|
|
6
|
+
* @param {String} targetCollectionPath
|
|
7
|
+
* Specify the path of the collection to be updated.
|
|
8
|
+
*
|
|
9
|
+
* アップデートを行うコレクションのパスを指定します。
|
|
10
|
+
*
|
|
11
|
+
* @param {String} targetDocumentId
|
|
12
|
+
* Specifies the ID of the document to be updated.
|
|
13
|
+
*
|
|
14
|
+
* アップデートを行うドキュメントのIDを指定します。
|
|
15
|
+
*
|
|
16
|
+
* @param {[key: string]: any} data
|
|
17
|
+
* Document data to be updated.
|
|
18
|
+
*
|
|
19
|
+
* 更新するドキュメントデータ。
|
|
20
|
+
*
|
|
21
|
+
* @param {[key: string]: any} additionalData
|
|
22
|
+
* Additional documentation data.
|
|
23
|
+
*
|
|
24
|
+
* 追加のドキュメントデータ。
|
|
25
|
+
*
|
|
26
|
+
* @param {String} userId
|
|
27
|
+
* ID of the user who purchased the subscription.
|
|
28
|
+
*
|
|
29
|
+
* サブスクリプションを購入したユーザーのID。
|
|
30
|
+
*
|
|
31
|
+
* @param {String} platform
|
|
32
|
+
* Subscription-based platform.
|
|
33
|
+
*
|
|
34
|
+
* サブスクリプションを利用するプラットフォーム。
|
|
35
|
+
*
|
|
36
|
+
* @param {String} orderId
|
|
37
|
+
* Subscription Order ID.
|
|
38
|
+
*
|
|
39
|
+
* サブスクリプションの注文ID。
|
|
40
|
+
*
|
|
41
|
+
* @param {String} productId Product ID.
|
|
42
|
+
* Subscription product ID.
|
|
43
|
+
*
|
|
44
|
+
* サブスクリプションのプロダクトID。
|
|
45
|
+
*
|
|
46
|
+
* @param {String} purchaseId
|
|
47
|
+
* Subscription purchase ID.
|
|
48
|
+
*
|
|
49
|
+
* サブスクリプションの購入ID。
|
|
50
|
+
*
|
|
51
|
+
* @param {String} packageName
|
|
52
|
+
* The package name of the application.
|
|
53
|
+
*
|
|
54
|
+
* アプリケーションのパッケージ名。
|
|
55
|
+
*
|
|
56
|
+
* @param {String} token
|
|
57
|
+
* Token issued at the time of purchase.
|
|
58
|
+
*
|
|
59
|
+
* 購入時に発行されたトークン。
|
|
60
|
+
*
|
|
61
|
+
* @param {number} expiryDate
|
|
62
|
+
* Subscription expiration date.
|
|
63
|
+
*
|
|
64
|
+
* サブスクリプションの有効期限。
|
|
65
|
+
*/
|
|
66
|
+
export declare function updateSubscription({ targetCollectionPath, targetDocumentId, data, additionalData, userId, platform, orderId, productId, purchaseId, packageName, token, expiryDate, }: {
|
|
67
|
+
targetCollectionPath: string;
|
|
68
|
+
targetDocumentId: string;
|
|
69
|
+
data: {
|
|
70
|
+
[key: string]: any;
|
|
71
|
+
};
|
|
72
|
+
additionalData: {
|
|
73
|
+
[key: string]: any;
|
|
74
|
+
};
|
|
75
|
+
userId: string;
|
|
76
|
+
platform: string;
|
|
77
|
+
orderId: string;
|
|
78
|
+
productId: string;
|
|
79
|
+
purchaseId: string;
|
|
80
|
+
packageName: string;
|
|
81
|
+
token: string;
|
|
82
|
+
expiryDate: number;
|
|
83
|
+
}): Promise<void>;
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
27
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
28
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
29
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
30
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
31
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
35
|
+
exports.updateSubscription = void 0;
|
|
36
|
+
const path = __importStar(require("path"));
|
|
37
|
+
const utils = __importStar(require("../utils"));
|
|
38
|
+
const admin = __importStar(require("firebase-admin"));
|
|
39
|
+
/**
|
|
40
|
+
* Processes subscription updates.
|
|
41
|
+
*
|
|
42
|
+
* サブスクリプションのアップデート処理を行います。
|
|
43
|
+
*
|
|
44
|
+
* @param {String} targetCollectionPath
|
|
45
|
+
* Specify the path of the collection to be updated.
|
|
46
|
+
*
|
|
47
|
+
* アップデートを行うコレクションのパスを指定します。
|
|
48
|
+
*
|
|
49
|
+
* @param {String} targetDocumentId
|
|
50
|
+
* Specifies the ID of the document to be updated.
|
|
51
|
+
*
|
|
52
|
+
* アップデートを行うドキュメントのIDを指定します。
|
|
53
|
+
*
|
|
54
|
+
* @param {[key: string]: any} data
|
|
55
|
+
* Document data to be updated.
|
|
56
|
+
*
|
|
57
|
+
* 更新するドキュメントデータ。
|
|
58
|
+
*
|
|
59
|
+
* @param {[key: string]: any} additionalData
|
|
60
|
+
* Additional documentation data.
|
|
61
|
+
*
|
|
62
|
+
* 追加のドキュメントデータ。
|
|
63
|
+
*
|
|
64
|
+
* @param {String} userId
|
|
65
|
+
* ID of the user who purchased the subscription.
|
|
66
|
+
*
|
|
67
|
+
* サブスクリプションを購入したユーザーのID。
|
|
68
|
+
*
|
|
69
|
+
* @param {String} platform
|
|
70
|
+
* Subscription-based platform.
|
|
71
|
+
*
|
|
72
|
+
* サブスクリプションを利用するプラットフォーム。
|
|
73
|
+
*
|
|
74
|
+
* @param {String} orderId
|
|
75
|
+
* Subscription Order ID.
|
|
76
|
+
*
|
|
77
|
+
* サブスクリプションの注文ID。
|
|
78
|
+
*
|
|
79
|
+
* @param {String} productId Product ID.
|
|
80
|
+
* Subscription product ID.
|
|
81
|
+
*
|
|
82
|
+
* サブスクリプションのプロダクトID。
|
|
83
|
+
*
|
|
84
|
+
* @param {String} purchaseId
|
|
85
|
+
* Subscription purchase ID.
|
|
86
|
+
*
|
|
87
|
+
* サブスクリプションの購入ID。
|
|
88
|
+
*
|
|
89
|
+
* @param {String} packageName
|
|
90
|
+
* The package name of the application.
|
|
91
|
+
*
|
|
92
|
+
* アプリケーションのパッケージ名。
|
|
93
|
+
*
|
|
94
|
+
* @param {String} token
|
|
95
|
+
* Token issued at the time of purchase.
|
|
96
|
+
*
|
|
97
|
+
* 購入時に発行されたトークン。
|
|
98
|
+
*
|
|
99
|
+
* @param {number} expiryDate
|
|
100
|
+
* Subscription expiration date.
|
|
101
|
+
*
|
|
102
|
+
* サブスクリプションの有効期限。
|
|
103
|
+
*/
|
|
104
|
+
function updateSubscription(_a) {
|
|
105
|
+
return __awaiter(this, arguments, void 0, function* ({ targetCollectionPath, targetDocumentId, data, additionalData, userId, platform, orderId, productId, purchaseId, packageName, token, expiryDate, }) {
|
|
106
|
+
const update = {};
|
|
107
|
+
const firestoreInstance = admin.firestore();
|
|
108
|
+
for (const key in data) {
|
|
109
|
+
if (!data[key]) {
|
|
110
|
+
continue;
|
|
111
|
+
}
|
|
112
|
+
update[key] = utils.parse(data[key]);
|
|
113
|
+
}
|
|
114
|
+
if (additionalData) {
|
|
115
|
+
for (const key in additionalData) {
|
|
116
|
+
if (!additionalData[key]) {
|
|
117
|
+
continue;
|
|
118
|
+
}
|
|
119
|
+
update[key] = utils.parse(additionalData[key]);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
targetCollectionPath = `${targetCollectionPath}/${targetDocumentId}`;
|
|
123
|
+
update["expired"] = false;
|
|
124
|
+
update["paused"] = false;
|
|
125
|
+
update["token"] = token;
|
|
126
|
+
update["platform"] = platform;
|
|
127
|
+
update["productId"] = productId;
|
|
128
|
+
update["purchaseId"] = purchaseId;
|
|
129
|
+
update["packageName"] = packageName;
|
|
130
|
+
update["expiredTime"] = expiryDate;
|
|
131
|
+
update["orderId"] = orderId;
|
|
132
|
+
if (userId) {
|
|
133
|
+
update["userId"] = userId;
|
|
134
|
+
}
|
|
135
|
+
update["@time"] = new Date();
|
|
136
|
+
update["@uid"] = path.basename(targetCollectionPath);
|
|
137
|
+
yield firestoreInstance.doc(targetCollectionPath).set(update, {
|
|
138
|
+
merge: true,
|
|
139
|
+
});
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
exports.updateSubscription = updateSubscription;
|
|
143
|
+
//# sourceMappingURL=update_subscription.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update_subscription.js","sourceRoot":"","sources":["../../../src/lib/functions/update_subscription.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA6B;AAC7B,gDAAkC;AAClC,sDAAwC;AAExC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgEG;AACH,SAAsB,kBAAkB;yDAAC,EACrC,oBAAoB,EACpB,gBAAgB,EAChB,IAAI,EACJ,cAAc,EACd,MAAM,EACN,QAAQ,EACR,OAAO,EACP,SAAS,EACT,UAAU,EACV,WAAW,EACX,KAAK,EACL,UAAU,GAcb;QACG,MAAM,MAAM,GAA0B,EAAE,CAAC;QACzC,MAAM,iBAAiB,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;QAC5C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACrB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACb,SAAS;YACb,CAAC;YACD,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAE,IAAI,CAAC,GAAG,CAAC,CAAE,CAAC;QAC3C,CAAC;QACD,IAAI,cAAc,EAAE,CAAC;YACjB,KAAK,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;gBAC/B,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;oBACvB,SAAS;gBACb,CAAC;gBACD,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;YACnD,CAAC;QACL,CAAC;QACD,oBAAoB,GAAG,GAAG,oBAAoB,IAAI,gBAAgB,EAAE,CAAC;QACrE,MAAM,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC;QAC1B,MAAM,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC;QACzB,MAAM,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;QACxB,MAAM,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC;QAC9B,MAAM,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC;QAChC,MAAM,CAAC,YAAY,CAAC,GAAG,UAAU,CAAC;QAClC,MAAM,CAAC,aAAa,CAAC,GAAG,WAAW,CAAC;QACpC,MAAM,CAAC,aAAa,CAAC,GAAG,UAAU,CAAC;QACnC,MAAM,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC;QAC5B,IAAI,MAAM,EAAE,CAAC;YACT,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC;QAC9B,CAAC;QACD,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;QAC7B,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAE,oBAAoB,CAAE,CAAC;QACvD,MAAM,iBAAiB,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE;YAC1D,KAAK,EAAE,IAAI;SACd,CAAC,CAAC;IACP,CAAC;CAAA;AA7DD,gDA6DC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Unlock function. Unlock information is stored in the form of an overwrite of the user data.
|
|
3
|
+
*
|
|
4
|
+
* 機能をアンロックします。アンロックの情報はユーザーデータに上書きされる形で保存されます。
|
|
5
|
+
*
|
|
6
|
+
* @param {String} targetDocumentFieldPath
|
|
7
|
+
* The path, including the key, of the field in the document where the unlock information is to be stored.
|
|
8
|
+
*
|
|
9
|
+
* アンロック情報を保存するドキュメント内のフィールドのキーを含めたパス。
|
|
10
|
+
*/
|
|
11
|
+
export declare function updateUnlock({ targetDocumentFieldPath, }: {
|
|
12
|
+
targetDocumentFieldPath: string;
|
|
13
|
+
}): Promise<void>;
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
27
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
28
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
29
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
30
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
31
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
35
|
+
exports.updateUnlock = void 0;
|
|
36
|
+
const path = __importStar(require("path"));
|
|
37
|
+
const admin = __importStar(require("firebase-admin"));
|
|
38
|
+
/**
|
|
39
|
+
* Unlock function. Unlock information is stored in the form of an overwrite of the user data.
|
|
40
|
+
*
|
|
41
|
+
* 機能をアンロックします。アンロックの情報はユーザーデータに上書きされる形で保存されます。
|
|
42
|
+
*
|
|
43
|
+
* @param {String} targetDocumentFieldPath
|
|
44
|
+
* The path, including the key, of the field in the document where the unlock information is to be stored.
|
|
45
|
+
*
|
|
46
|
+
* アンロック情報を保存するドキュメント内のフィールドのキーを含めたパス。
|
|
47
|
+
*/
|
|
48
|
+
function updateUnlock(_a) {
|
|
49
|
+
return __awaiter(this, arguments, void 0, function* ({ targetDocumentFieldPath, }) {
|
|
50
|
+
const update = {};
|
|
51
|
+
const key = path.basename(targetDocumentFieldPath);
|
|
52
|
+
const parent = targetDocumentFieldPath.replace(`/${key}`, "");
|
|
53
|
+
const uid = path.basename(parent);
|
|
54
|
+
const firestoreInstance = admin.firestore();
|
|
55
|
+
update[key] = true;
|
|
56
|
+
update["@uid"] = uid;
|
|
57
|
+
update["@time"] = new Date();
|
|
58
|
+
yield firestoreInstance.doc(parent).set(update, {
|
|
59
|
+
merge: true,
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
exports.updateUnlock = updateUnlock;
|
|
64
|
+
//# sourceMappingURL=update_unlock.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update_unlock.js","sourceRoot":"","sources":["../../../src/lib/functions/update_unlock.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA6B;AAC7B,sDAAwC;AAExC;;;;;;;;;GASG;AACH,SAAsB,YAAY;yDAAC,EAC/B,uBAAuB,GAG1B;QACG,MAAM,MAAM,GAA2B,EAAE,CAAC;QAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,uBAAuB,CAAC,OAAO,CAAC,IAAI,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;QAC9D,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,iBAAiB,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;QAC5C,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QACnB,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC;QACrB,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;QAC7B,MAAM,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE;YAC5C,KAAK,EAAE,IAAI;SACd,CAAC,CAAC;IACP,CAAC;CAAA;AAhBD,oCAgBC"}
|