@jskit-ai/google-rewarded-core 0.1.83 → 0.1.86
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/package.json +184 -1
- package/src/server/providerConfigs/repository.js +1 -4
- package/src/server/rules/repository.js +1 -4
- package/src/server/service.js +7 -6
- package/src/server/unlockReceipts/repository.js +1 -4
- package/src/server/watchSessions/repository.js +1 -4
- package/test/service.test.js +7 -0
- package/package.descriptor.mjs +0 -186
package/package.json
CHANGED
|
@@ -1,10 +1,193 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jskit-ai/google-rewarded-core",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.86",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
"./shared": "./src/shared/index.js",
|
|
7
7
|
"./server/actions": "./src/server/actions.js",
|
|
8
8
|
"./server/requireGoogleRewardedUnlock": "./src/server/support/requireGoogleRewardedUnlock.js"
|
|
9
|
+
},
|
|
10
|
+
"description": "Google rewarded workflow runtime plus internal CRUD providers for rules, provider configs, watch sessions, and unlock receipts.",
|
|
11
|
+
"jskit": {
|
|
12
|
+
"kind": "runtime",
|
|
13
|
+
"capabilities": {
|
|
14
|
+
"provides": [
|
|
15
|
+
"crud.google-rewarded-rules",
|
|
16
|
+
"crud.google-rewarded-provider-configs",
|
|
17
|
+
"crud.google-rewarded-watch-sessions",
|
|
18
|
+
"crud.google-rewarded-unlock-receipts",
|
|
19
|
+
"google-rewarded.core"
|
|
20
|
+
],
|
|
21
|
+
"requires": [
|
|
22
|
+
"runtime.actions",
|
|
23
|
+
"runtime.database",
|
|
24
|
+
"auth.policy",
|
|
25
|
+
"json-rest-api.core"
|
|
26
|
+
]
|
|
27
|
+
},
|
|
28
|
+
"runtime": {
|
|
29
|
+
"server": {
|
|
30
|
+
"providers": [
|
|
31
|
+
{
|
|
32
|
+
"entrypoint": "src/server/rules/GoogleRewardedRulesProvider.js",
|
|
33
|
+
"export": "GoogleRewardedRulesProvider"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"entrypoint": "src/server/providerConfigs/GoogleRewardedProviderConfigsProvider.js",
|
|
37
|
+
"export": "GoogleRewardedProviderConfigsProvider"
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"entrypoint": "src/server/watchSessions/GoogleRewardedWatchSessionsProvider.js",
|
|
41
|
+
"export": "GoogleRewardedWatchSessionsProvider"
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"entrypoint": "src/server/unlockReceipts/GoogleRewardedUnlockReceiptsProvider.js",
|
|
45
|
+
"export": "GoogleRewardedUnlockReceiptsProvider"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"entrypoint": "src/server/GoogleRewardedCoreProvider.js",
|
|
49
|
+
"export": "GoogleRewardedCoreProvider"
|
|
50
|
+
}
|
|
51
|
+
]
|
|
52
|
+
},
|
|
53
|
+
"client": {
|
|
54
|
+
"providers": []
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
"metadata": {
|
|
58
|
+
"jskit": {
|
|
59
|
+
"scaffoldShape": "crud-server-v1",
|
|
60
|
+
"tableOwnership": {
|
|
61
|
+
"tables": [
|
|
62
|
+
{
|
|
63
|
+
"tableName": "google_rewarded_rules",
|
|
64
|
+
"provenance": "crud-server-generator",
|
|
65
|
+
"ownerKind": "crud-package",
|
|
66
|
+
"providerEntrypoint": "src/server/rules/GoogleRewardedRulesProvider.js",
|
|
67
|
+
"ownershipFilter": "workspace"
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"tableName": "google_rewarded_provider_configs",
|
|
71
|
+
"provenance": "crud-server-generator",
|
|
72
|
+
"ownerKind": "crud-package",
|
|
73
|
+
"providerEntrypoint": "src/server/providerConfigs/GoogleRewardedProviderConfigsProvider.js",
|
|
74
|
+
"ownershipFilter": "workspace"
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"tableName": "google_rewarded_watch_sessions",
|
|
78
|
+
"provenance": "crud-server-generator",
|
|
79
|
+
"ownerKind": "crud-package",
|
|
80
|
+
"providerEntrypoint": "src/server/watchSessions/GoogleRewardedWatchSessionsProvider.js",
|
|
81
|
+
"ownershipFilter": "workspace_user"
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"tableName": "google_rewarded_unlock_receipts",
|
|
85
|
+
"provenance": "crud-server-generator",
|
|
86
|
+
"ownerKind": "crud-package",
|
|
87
|
+
"providerEntrypoint": "src/server/unlockReceipts/GoogleRewardedUnlockReceiptsProvider.js",
|
|
88
|
+
"ownershipFilter": "workspace_user"
|
|
89
|
+
}
|
|
90
|
+
]
|
|
91
|
+
}
|
|
92
|
+
},
|
|
93
|
+
"apiSummary": {
|
|
94
|
+
"surfaces": [
|
|
95
|
+
{
|
|
96
|
+
"subpath": "./shared",
|
|
97
|
+
"summary": "Exports Google rewarded shared CRUD resources."
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"subpath": "./server/actions",
|
|
101
|
+
"summary": "Exports Google rewarded workflow action identifiers and validators."
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
"subpath": "./server/requireGoogleRewardedUnlock",
|
|
105
|
+
"summary": "Exports the server helper that enforces a rewarded unlock before a protected feature action continues."
|
|
106
|
+
}
|
|
107
|
+
],
|
|
108
|
+
"containerTokens": {
|
|
109
|
+
"server": [
|
|
110
|
+
"repository.google_rewarded_rules",
|
|
111
|
+
"crud.google_rewarded_rules",
|
|
112
|
+
"repository.google_rewarded_provider_configs",
|
|
113
|
+
"crud.google_rewarded_provider_configs",
|
|
114
|
+
"repository.google_rewarded_watch_sessions",
|
|
115
|
+
"crud.google_rewarded_watch_sessions",
|
|
116
|
+
"repository.google_rewarded_unlock_receipts",
|
|
117
|
+
"crud.google_rewarded_unlock_receipts",
|
|
118
|
+
"google-rewarded.core.service"
|
|
119
|
+
],
|
|
120
|
+
"client": []
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
},
|
|
124
|
+
"mutations": {
|
|
125
|
+
"dependencies": {
|
|
126
|
+
"runtime": {
|
|
127
|
+
"@jskit-ai/auth-core": "0.1.148",
|
|
128
|
+
"@jskit-ai/crud-core": "0.1.161",
|
|
129
|
+
"@jskit-ai/database-runtime": "0.1.150",
|
|
130
|
+
"@jskit-ai/http-runtime": "0.1.148",
|
|
131
|
+
"@jskit-ai/json-rest-api-core": "0.1.94",
|
|
132
|
+
"@jskit-ai/kernel": "0.1.150",
|
|
133
|
+
"@jskit-ai/resource-crud-core": "0.1.92",
|
|
134
|
+
"@jskit-ai/workspaces-core": "0.1.128"
|
|
135
|
+
},
|
|
136
|
+
"dev": {}
|
|
137
|
+
},
|
|
138
|
+
"packageJson": {
|
|
139
|
+
"scripts": {}
|
|
140
|
+
},
|
|
141
|
+
"procfile": {},
|
|
142
|
+
"files": [
|
|
143
|
+
{
|
|
144
|
+
"op": "install-migration",
|
|
145
|
+
"from": "templates/migrations/google_rewarded_rules_initial.cjs",
|
|
146
|
+
"toDir": "migrations",
|
|
147
|
+
"extension": ".cjs",
|
|
148
|
+
"reason": "Install Google rewarded rules schema migration.",
|
|
149
|
+
"category": "google-rewarded",
|
|
150
|
+
"id": "google-rewarded-rules-initial-schema"
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
"op": "install-migration",
|
|
154
|
+
"from": "templates/migrations/google_rewarded_provider_configs_initial.cjs",
|
|
155
|
+
"toDir": "migrations",
|
|
156
|
+
"extension": ".cjs",
|
|
157
|
+
"reason": "Install Google rewarded provider config schema migration.",
|
|
158
|
+
"category": "google-rewarded",
|
|
159
|
+
"id": "google-rewarded-provider-configs-initial-schema"
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
"op": "install-migration",
|
|
163
|
+
"from": "templates/migrations/google_rewarded_watch_sessions_initial.cjs",
|
|
164
|
+
"toDir": "migrations",
|
|
165
|
+
"extension": ".cjs",
|
|
166
|
+
"reason": "Install Google rewarded watch sessions schema migration.",
|
|
167
|
+
"category": "google-rewarded",
|
|
168
|
+
"id": "google-rewarded-watch-sessions-initial-schema"
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
"op": "install-migration",
|
|
172
|
+
"from": "templates/migrations/google_rewarded_unlock_receipts_initial.cjs",
|
|
173
|
+
"toDir": "migrations",
|
|
174
|
+
"extension": ".cjs",
|
|
175
|
+
"reason": "Install Google rewarded unlock receipts schema migration.",
|
|
176
|
+
"category": "google-rewarded",
|
|
177
|
+
"id": "google-rewarded-unlock-receipts-initial-schema"
|
|
178
|
+
}
|
|
179
|
+
],
|
|
180
|
+
"text": []
|
|
181
|
+
}
|
|
182
|
+
},
|
|
183
|
+
"dependencies": {
|
|
184
|
+
"@jskit-ai/auth-core": "0.1.148",
|
|
185
|
+
"@jskit-ai/crud-core": "0.1.161",
|
|
186
|
+
"@jskit-ai/database-runtime": "0.1.150",
|
|
187
|
+
"@jskit-ai/http-runtime": "0.1.148",
|
|
188
|
+
"@jskit-ai/json-rest-api-core": "0.1.94",
|
|
189
|
+
"@jskit-ai/kernel": "0.1.150",
|
|
190
|
+
"@jskit-ai/resource-crud-core": "0.1.92",
|
|
191
|
+
"@jskit-ai/workspaces-core": "0.1.128"
|
|
9
192
|
}
|
|
10
193
|
}
|
package/src/server/service.js
CHANGED
|
@@ -393,7 +393,7 @@ function createService({
|
|
|
393
393
|
gateKey: state.gateKey,
|
|
394
394
|
providerConfigId: state.providerConfig?.id || null,
|
|
395
395
|
status: "started",
|
|
396
|
-
startedAt: new Date()
|
|
396
|
+
startedAt: new Date().toISOString()
|
|
397
397
|
},
|
|
398
398
|
{
|
|
399
399
|
context: options?.context || null,
|
|
@@ -456,14 +456,15 @@ function createService({
|
|
|
456
456
|
}
|
|
457
457
|
|
|
458
458
|
const now = new Date();
|
|
459
|
+
const nowIso = now.toISOString();
|
|
459
460
|
const unlockedUntil = addMinutes(now, Number(ruleRecord.unlockMinutes || 0));
|
|
460
461
|
|
|
461
462
|
const updatedSession = normalizeRecord(await googleRewardedWatchSessionsRepository.patchDocumentById(
|
|
462
463
|
sessionId,
|
|
463
464
|
{
|
|
464
465
|
status: "rewarded",
|
|
465
|
-
rewardedAt:
|
|
466
|
-
completedAt:
|
|
466
|
+
rewardedAt: nowIso,
|
|
467
|
+
completedAt: nowIso
|
|
467
468
|
},
|
|
468
469
|
{
|
|
469
470
|
context: options?.context || null,
|
|
@@ -476,8 +477,8 @@ function createService({
|
|
|
476
477
|
gateKey: normalizeGateKey(sessionRecord.gateKey),
|
|
477
478
|
providerConfigId: sessionRecord.providerConfigId || null,
|
|
478
479
|
watchSessionId: sessionId,
|
|
479
|
-
grantedAt:
|
|
480
|
-
unlockedUntil
|
|
480
|
+
grantedAt: nowIso,
|
|
481
|
+
unlockedUntil: unlockedUntil.toISOString()
|
|
481
482
|
},
|
|
482
483
|
{
|
|
483
484
|
context: options?.context || null,
|
|
@@ -525,7 +526,7 @@ function createService({
|
|
|
525
526
|
sessionId,
|
|
526
527
|
{
|
|
527
528
|
status: "closed",
|
|
528
|
-
closedAt: new Date()
|
|
529
|
+
closedAt: new Date().toISOString()
|
|
529
530
|
},
|
|
530
531
|
{
|
|
531
532
|
context: options?.context || null,
|
package/test/service.test.js
CHANGED
|
@@ -312,4 +312,11 @@ test("grantReward patches the watch session and creates an unlock receipt", asyn
|
|
|
312
312
|
assert.equal(watchSessionsRepository.calls.patches.length, 1);
|
|
313
313
|
assert.equal(watchSessionsRepository.calls.patches[0].recordId, "41");
|
|
314
314
|
assert.equal(watchSessionsRepository.calls.patches[0].patch.status, "rewarded");
|
|
315
|
+
assert.equal(typeof watchSessionsRepository.calls.patches[0].patch.rewardedAt, "string");
|
|
316
|
+
assert.equal(
|
|
317
|
+
watchSessionsRepository.calls.patches[0].patch.completedAt,
|
|
318
|
+
watchSessionsRepository.calls.patches[0].patch.rewardedAt
|
|
319
|
+
);
|
|
320
|
+
assert.equal(createdReceiptPayloads[0].grantedAt, watchSessionsRepository.calls.patches[0].patch.rewardedAt);
|
|
321
|
+
assert.equal(typeof createdReceiptPayloads[0].unlockedUntil, "string");
|
|
315
322
|
});
|
package/package.descriptor.mjs
DELETED
|
@@ -1,186 +0,0 @@
|
|
|
1
|
-
export default Object.freeze({
|
|
2
|
-
packageVersion: 1,
|
|
3
|
-
packageId: "@jskit-ai/google-rewarded-core",
|
|
4
|
-
version: "0.1.83",
|
|
5
|
-
kind: "runtime",
|
|
6
|
-
description: "Google rewarded workflow runtime plus internal CRUD providers for rules, provider configs, watch sessions, and unlock receipts.",
|
|
7
|
-
dependsOn: [
|
|
8
|
-
"@jskit-ai/auth-core",
|
|
9
|
-
"@jskit-ai/crud-core",
|
|
10
|
-
"@jskit-ai/database-runtime",
|
|
11
|
-
"@jskit-ai/http-runtime",
|
|
12
|
-
"@jskit-ai/json-rest-api-core",
|
|
13
|
-
"@jskit-ai/kernel",
|
|
14
|
-
"@jskit-ai/resource-crud-core",
|
|
15
|
-
"@jskit-ai/workspaces-core"
|
|
16
|
-
],
|
|
17
|
-
capabilities: {
|
|
18
|
-
provides: [
|
|
19
|
-
"crud.google-rewarded-rules",
|
|
20
|
-
"crud.google-rewarded-provider-configs",
|
|
21
|
-
"crud.google-rewarded-watch-sessions",
|
|
22
|
-
"crud.google-rewarded-unlock-receipts",
|
|
23
|
-
"google-rewarded.core"
|
|
24
|
-
],
|
|
25
|
-
requires: [
|
|
26
|
-
"runtime.actions",
|
|
27
|
-
"runtime.database",
|
|
28
|
-
"auth.policy",
|
|
29
|
-
"json-rest-api.core"
|
|
30
|
-
]
|
|
31
|
-
},
|
|
32
|
-
runtime: {
|
|
33
|
-
server: {
|
|
34
|
-
providers: [
|
|
35
|
-
{
|
|
36
|
-
entrypoint: "src/server/rules/GoogleRewardedRulesProvider.js",
|
|
37
|
-
export: "GoogleRewardedRulesProvider"
|
|
38
|
-
},
|
|
39
|
-
{
|
|
40
|
-
entrypoint: "src/server/providerConfigs/GoogleRewardedProviderConfigsProvider.js",
|
|
41
|
-
export: "GoogleRewardedProviderConfigsProvider"
|
|
42
|
-
},
|
|
43
|
-
{
|
|
44
|
-
entrypoint: "src/server/watchSessions/GoogleRewardedWatchSessionsProvider.js",
|
|
45
|
-
export: "GoogleRewardedWatchSessionsProvider"
|
|
46
|
-
},
|
|
47
|
-
{
|
|
48
|
-
entrypoint: "src/server/unlockReceipts/GoogleRewardedUnlockReceiptsProvider.js",
|
|
49
|
-
export: "GoogleRewardedUnlockReceiptsProvider"
|
|
50
|
-
},
|
|
51
|
-
{
|
|
52
|
-
entrypoint: "src/server/GoogleRewardedCoreProvider.js",
|
|
53
|
-
export: "GoogleRewardedCoreProvider"
|
|
54
|
-
}
|
|
55
|
-
]
|
|
56
|
-
},
|
|
57
|
-
client: {
|
|
58
|
-
providers: []
|
|
59
|
-
}
|
|
60
|
-
},
|
|
61
|
-
metadata: {
|
|
62
|
-
jskit: {
|
|
63
|
-
scaffoldShape: "crud-server-v1",
|
|
64
|
-
tableOwnership: {
|
|
65
|
-
tables: [
|
|
66
|
-
{
|
|
67
|
-
tableName: "google_rewarded_rules",
|
|
68
|
-
provenance: "crud-server-generator",
|
|
69
|
-
ownerKind: "crud-package",
|
|
70
|
-
providerEntrypoint: "src/server/rules/GoogleRewardedRulesProvider.js",
|
|
71
|
-
ownershipFilter: "workspace"
|
|
72
|
-
},
|
|
73
|
-
{
|
|
74
|
-
tableName: "google_rewarded_provider_configs",
|
|
75
|
-
provenance: "crud-server-generator",
|
|
76
|
-
ownerKind: "crud-package",
|
|
77
|
-
providerEntrypoint: "src/server/providerConfigs/GoogleRewardedProviderConfigsProvider.js",
|
|
78
|
-
ownershipFilter: "workspace"
|
|
79
|
-
},
|
|
80
|
-
{
|
|
81
|
-
tableName: "google_rewarded_watch_sessions",
|
|
82
|
-
provenance: "crud-server-generator",
|
|
83
|
-
ownerKind: "crud-package",
|
|
84
|
-
providerEntrypoint: "src/server/watchSessions/GoogleRewardedWatchSessionsProvider.js",
|
|
85
|
-
ownershipFilter: "workspace_user"
|
|
86
|
-
},
|
|
87
|
-
{
|
|
88
|
-
tableName: "google_rewarded_unlock_receipts",
|
|
89
|
-
provenance: "crud-server-generator",
|
|
90
|
-
ownerKind: "crud-package",
|
|
91
|
-
providerEntrypoint: "src/server/unlockReceipts/GoogleRewardedUnlockReceiptsProvider.js",
|
|
92
|
-
ownershipFilter: "workspace_user"
|
|
93
|
-
}
|
|
94
|
-
]
|
|
95
|
-
}
|
|
96
|
-
},
|
|
97
|
-
apiSummary: {
|
|
98
|
-
surfaces: [
|
|
99
|
-
{
|
|
100
|
-
subpath: "./shared",
|
|
101
|
-
summary: "Exports Google rewarded shared CRUD resources."
|
|
102
|
-
},
|
|
103
|
-
{
|
|
104
|
-
subpath: "./server/actions",
|
|
105
|
-
summary: "Exports Google rewarded workflow action identifiers and validators."
|
|
106
|
-
},
|
|
107
|
-
{
|
|
108
|
-
subpath: "./server/requireGoogleRewardedUnlock",
|
|
109
|
-
summary: "Exports the server helper that enforces a rewarded unlock before a protected feature action continues."
|
|
110
|
-
}
|
|
111
|
-
],
|
|
112
|
-
containerTokens: {
|
|
113
|
-
server: [
|
|
114
|
-
"repository.google_rewarded_rules",
|
|
115
|
-
"crud.google_rewarded_rules",
|
|
116
|
-
"repository.google_rewarded_provider_configs",
|
|
117
|
-
"crud.google_rewarded_provider_configs",
|
|
118
|
-
"repository.google_rewarded_watch_sessions",
|
|
119
|
-
"crud.google_rewarded_watch_sessions",
|
|
120
|
-
"repository.google_rewarded_unlock_receipts",
|
|
121
|
-
"crud.google_rewarded_unlock_receipts",
|
|
122
|
-
"google-rewarded.core.service"
|
|
123
|
-
],
|
|
124
|
-
client: []
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
},
|
|
128
|
-
mutations: {
|
|
129
|
-
dependencies: {
|
|
130
|
-
runtime: {
|
|
131
|
-
"@jskit-ai/auth-core": "0.1.144",
|
|
132
|
-
"@jskit-ai/crud-core": "0.1.156",
|
|
133
|
-
"@jskit-ai/database-runtime": "0.1.145",
|
|
134
|
-
"@jskit-ai/http-runtime": "0.1.144",
|
|
135
|
-
"@jskit-ai/json-rest-api-core": "0.1.90",
|
|
136
|
-
"@jskit-ai/kernel": "0.1.146",
|
|
137
|
-
"@jskit-ai/resource-crud-core": "0.1.89",
|
|
138
|
-
"@jskit-ai/workspaces-core": "0.1.125"
|
|
139
|
-
},
|
|
140
|
-
dev: {}
|
|
141
|
-
},
|
|
142
|
-
packageJson: {
|
|
143
|
-
scripts: {}
|
|
144
|
-
},
|
|
145
|
-
procfile: {},
|
|
146
|
-
files: [
|
|
147
|
-
{
|
|
148
|
-
op: "install-migration",
|
|
149
|
-
from: "templates/migrations/google_rewarded_rules_initial.cjs",
|
|
150
|
-
toDir: "migrations",
|
|
151
|
-
extension: ".cjs",
|
|
152
|
-
reason: "Install Google rewarded rules schema migration.",
|
|
153
|
-
category: "google-rewarded",
|
|
154
|
-
id: "google-rewarded-rules-initial-schema"
|
|
155
|
-
},
|
|
156
|
-
{
|
|
157
|
-
op: "install-migration",
|
|
158
|
-
from: "templates/migrations/google_rewarded_provider_configs_initial.cjs",
|
|
159
|
-
toDir: "migrations",
|
|
160
|
-
extension: ".cjs",
|
|
161
|
-
reason: "Install Google rewarded provider config schema migration.",
|
|
162
|
-
category: "google-rewarded",
|
|
163
|
-
id: "google-rewarded-provider-configs-initial-schema"
|
|
164
|
-
},
|
|
165
|
-
{
|
|
166
|
-
op: "install-migration",
|
|
167
|
-
from: "templates/migrations/google_rewarded_watch_sessions_initial.cjs",
|
|
168
|
-
toDir: "migrations",
|
|
169
|
-
extension: ".cjs",
|
|
170
|
-
reason: "Install Google rewarded watch sessions schema migration.",
|
|
171
|
-
category: "google-rewarded",
|
|
172
|
-
id: "google-rewarded-watch-sessions-initial-schema"
|
|
173
|
-
},
|
|
174
|
-
{
|
|
175
|
-
op: "install-migration",
|
|
176
|
-
from: "templates/migrations/google_rewarded_unlock_receipts_initial.cjs",
|
|
177
|
-
toDir: "migrations",
|
|
178
|
-
extension: ".cjs",
|
|
179
|
-
reason: "Install Google rewarded unlock receipts schema migration.",
|
|
180
|
-
category: "google-rewarded",
|
|
181
|
-
id: "google-rewarded-unlock-receipts-initial-schema"
|
|
182
|
-
}
|
|
183
|
-
],
|
|
184
|
-
text: []
|
|
185
|
-
}
|
|
186
|
-
});
|