@tsed/formio 8.0.0-alpha.8 → 8.0.0-beta.1
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/lib/types/domain/Formio.d.ts +1 -0
- package/lib/types/domain/FormioBaseModel.d.ts +1 -0
- package/lib/types/domain/FormioHooks.d.ts +1 -0
- package/lib/types/domain/FormioModels.d.ts +1 -0
- package/lib/types/services/FormioAuthService.d.ts +10 -8
- package/lib/types/services/FormioDatabase.d.ts +33 -21
- package/lib/types/services/FormioRepository.d.ts +5 -3
- package/lib/types/services/FormioService.d.ts +1 -0
- package/package.json +19 -19
|
@@ -22,6 +22,7 @@
|
|
|
22
22
|
/// <reference types="mongoose/types/utility.js" />
|
|
23
23
|
/// <reference types="mongoose/types/validation.js" />
|
|
24
24
|
/// <reference types="mongoose/types/virtuals.js" />
|
|
25
|
+
/// <reference types="mongoose/types/inferrawdoctype.js" />
|
|
25
26
|
/// <reference types="mongoose/types/inferschematype.js" />
|
|
26
27
|
import { EventEmitter } from "events";
|
|
27
28
|
import { NextFunction, Request, Response } from "express";
|
|
@@ -22,6 +22,7 @@
|
|
|
22
22
|
/// <reference types="mongoose/types/utility.js" />
|
|
23
23
|
/// <reference types="mongoose/types/validation.js" />
|
|
24
24
|
/// <reference types="mongoose/types/virtuals.js" />
|
|
25
|
+
/// <reference types="mongoose/types/inferrawdoctype.js" />
|
|
25
26
|
/// <reference types="mongoose/types/inferschematype.js" />
|
|
26
27
|
import { MongooseDocument } from "@tsed/mongoose";
|
|
27
28
|
import { Document, Schema } from "mongoose";
|
|
@@ -22,6 +22,7 @@
|
|
|
22
22
|
/// <reference types="mongoose/types/utility.js" />
|
|
23
23
|
/// <reference types="mongoose/types/validation.js" />
|
|
24
24
|
/// <reference types="mongoose/types/virtuals.js" />
|
|
25
|
+
/// <reference types="mongoose/types/inferrawdoctype.js" />
|
|
25
26
|
/// <reference types="mongoose/types/inferschematype.js" />
|
|
26
27
|
import { MongooseDocument } from "@tsed/mongoose";
|
|
27
28
|
import { Request, Response } from "express";
|
|
@@ -21,6 +21,7 @@
|
|
|
21
21
|
/// <reference types="mongoose/types/utility.js" />
|
|
22
22
|
/// <reference types="mongoose/types/validation.js" />
|
|
23
23
|
/// <reference types="mongoose/types/virtuals.js" />
|
|
24
|
+
/// <reference types="mongoose/types/inferrawdoctype.js" />
|
|
24
25
|
/// <reference types="mongoose/types/inferschematype.js" />
|
|
25
26
|
import { FormioActionItem, FormioForm, FormioRole, FormioSchema, FormioSubmission, FormioToken } from "@tsed/formio-types";
|
|
26
27
|
import { MongooseDocument } from "@tsed/mongoose";
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
/// <reference types="mongoose/types/document.js" />
|
|
2
|
-
/// <reference types="mongoose/types/types.js" />
|
|
3
2
|
/// <reference types="mongoose/types/aggregate.js" />
|
|
4
3
|
/// <reference types="mongoose/types/callback.js" />
|
|
5
4
|
/// <reference types="mongoose/types/collection.js" />
|
|
@@ -24,6 +23,7 @@
|
|
|
24
23
|
/// <reference types="mongoose/types/validation.js" />
|
|
25
24
|
/// <reference types="mongoose/types/virtuals.js" />
|
|
26
25
|
/// <reference types="mongoose" />
|
|
26
|
+
/// <reference types="mongoose/types/inferrawdoctype.js" />
|
|
27
27
|
/// <reference types="mongoose/types/inferschematype.js" />
|
|
28
28
|
import { PlatformContext, Req } from "@tsed/common";
|
|
29
29
|
import { FormioPayloadToken } from "../domain/FormioDecodedToken.js";
|
|
@@ -59,24 +59,26 @@ export declare class FormioAuthService {
|
|
|
59
59
|
* Retrieve roles
|
|
60
60
|
* @param req
|
|
61
61
|
*/
|
|
62
|
-
getRoles(req?: Req): Promise<import("mongoose").
|
|
63
|
-
_id:
|
|
64
|
-
}>[]>;
|
|
62
|
+
getRoles(req?: Req): Promise<(import("mongoose").FlattenMaps<import("@tsed/mongoose").MongooseMergedDocument<import("mongoose").Document<unknown, any, any> & import("../domain/FormioModels.js").FormioRole & import("@tsed/mongoose").MongooseDocumentMethods<import("../domain/FormioModels.js").FormioRole>>> & Required<{
|
|
63
|
+
_id: string;
|
|
64
|
+
}>)[]>;
|
|
65
65
|
/**
|
|
66
66
|
* Update the role of the current user submission
|
|
67
67
|
* @param _id
|
|
68
68
|
* @param role
|
|
69
69
|
* @param req
|
|
70
70
|
*/
|
|
71
|
-
updateUserRole(_id: string | any, role: string, req?: Req): Promise<import("@tsed/mongoose").MongooseMergedDocument<import("mongoose").Document<any, any, any> & FormioSubmission<any> & import("@tsed/mongoose").MongooseDocumentMethods<FormioSubmission<any>>> & {
|
|
72
|
-
_id:
|
|
71
|
+
updateUserRole(_id: string | any, role: string, req?: Req): Promise<import("mongoose").Document<unknown, {}, import("@tsed/mongoose").MongooseMergedDocument<import("mongoose").Document<unknown, any, any> & FormioSubmission<any> & import("@tsed/mongoose").MongooseDocumentMethods<FormioSubmission<any>>>> & import("@tsed/mongoose").MongooseMergedDocument<import("mongoose").Document<unknown, any, any> & FormioSubmission<any> & import("@tsed/mongoose").MongooseDocumentMethods<FormioSubmission<any>>> & Required<{
|
|
72
|
+
_id: string;
|
|
73
|
+
}> & {
|
|
74
|
+
__v?: number | undefined;
|
|
73
75
|
}>;
|
|
74
76
|
/**
|
|
75
77
|
* Create a user submission in formio
|
|
76
78
|
* @param user
|
|
77
79
|
*/
|
|
78
|
-
createUser<User = any>(user: Partial<FormioSubmission<User>>): Promise<import("mongoose").
|
|
79
|
-
_id:
|
|
80
|
+
createUser<User = any>(user: Partial<FormioSubmission<User>>): Promise<import("@tsed/mongoose").MongooseMergedDocument<import("mongoose").Document<unknown, any, any> & FormioSubmission<any> & import("@tsed/mongoose").MongooseDocumentMethods<FormioSubmission<any>>> & Required<{
|
|
81
|
+
_id: string;
|
|
80
82
|
}>>;
|
|
81
83
|
/**
|
|
82
84
|
* Update user submission in formio
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
/// <reference types="mongoose/types/document.js" />
|
|
2
|
-
/// <reference types="mongoose/types/types.js" />
|
|
3
2
|
/// <reference types="mongoose/types/query.js" />
|
|
4
3
|
/// <reference types="mongoose/types/aggregate.js" />
|
|
5
4
|
/// <reference types="mongoose/types/callback.js" />
|
|
@@ -24,6 +23,7 @@
|
|
|
24
23
|
/// <reference types="mongoose/types/utility.js" />
|
|
25
24
|
/// <reference types="mongoose/types/validation.js" />
|
|
26
25
|
/// <reference types="mongoose/types/virtuals.js" />
|
|
26
|
+
/// <reference types="mongoose/types/inferrawdoctype.js" />
|
|
27
27
|
/// <reference types="mongoose/types/inferschematype.js" />
|
|
28
28
|
import { FormioAction, FormioActionItem, FormioForm, FormioRole, FormioSubmission, FormioToken } from "@tsed/formio-types";
|
|
29
29
|
import { MongooseDocument, MongooseModel } from "@tsed/mongoose";
|
|
@@ -42,31 +42,37 @@ export declare class FormioDatabase {
|
|
|
42
42
|
getFormioMapper(): Promise<FormioMapper>;
|
|
43
43
|
hasForms(): Promise<boolean>;
|
|
44
44
|
hasForm(name: string): Promise<boolean>;
|
|
45
|
-
getForm(nameOrId: string): Promise<import("mongoose").
|
|
46
|
-
_id:
|
|
47
|
-
}> | null>;
|
|
45
|
+
getForm(nameOrId: string): Promise<(import("mongoose").FlattenMaps<import("@tsed/mongoose").MongooseMergedDocument<import("mongoose").Document<unknown, any, any> & FormioForm & import("@tsed/mongoose").MongooseDocumentMethods<FormioForm>>> & Required<{
|
|
46
|
+
_id: string;
|
|
47
|
+
}>) | null>;
|
|
48
48
|
/**
|
|
49
49
|
* Import form previously exported by export tool.
|
|
50
50
|
* This method transform alias to a real mongoose _id
|
|
51
51
|
* @param form
|
|
52
52
|
* @param onCreate
|
|
53
53
|
*/
|
|
54
|
-
importFormIfNotExists(form: FormioForm, onCreate?: (form: FormioForm) => any): Promise<import("mongoose").
|
|
55
|
-
_id:
|
|
56
|
-
}> | null>;
|
|
54
|
+
importFormIfNotExists(form: FormioForm, onCreate?: (form: FormioForm) => any): Promise<(import("mongoose").FlattenMaps<import("@tsed/mongoose").MongooseMergedDocument<import("mongoose").Document<unknown, any, any> & FormioForm & import("@tsed/mongoose").MongooseDocumentMethods<FormioForm>>> & Required<{
|
|
55
|
+
_id: string;
|
|
56
|
+
}>) | null>;
|
|
57
57
|
/**
|
|
58
58
|
* Import form previously exported by export tool.
|
|
59
59
|
* This method transform alias to a real mongoose _id
|
|
60
60
|
* @param form
|
|
61
61
|
*/
|
|
62
|
-
importForm(form: FormioForm): Promise<import("@tsed/mongoose").MongooseMergedDocument<import("mongoose").Document<any, any, any> & FormioForm & import("@tsed/mongoose").MongooseDocumentMethods<FormioForm>> & {
|
|
63
|
-
_id:
|
|
62
|
+
importForm(form: FormioForm): Promise<import("mongoose").Document<unknown, {}, import("@tsed/mongoose").MongooseMergedDocument<import("mongoose").Document<unknown, any, any> & FormioForm & import("@tsed/mongoose").MongooseDocumentMethods<FormioForm>>> & import("@tsed/mongoose").MongooseMergedDocument<import("mongoose").Document<unknown, any, any> & FormioForm & import("@tsed/mongoose").MongooseDocumentMethods<FormioForm>> & Required<{
|
|
63
|
+
_id: string;
|
|
64
|
+
}> & {
|
|
65
|
+
__v?: number | undefined;
|
|
64
66
|
}>;
|
|
65
|
-
saveForm(form: FormioForm): import("mongoose").Query<import("@tsed/mongoose").MongooseMergedDocument<import("mongoose").Document<any, any, any> & FormioForm & import("@tsed/mongoose").MongooseDocumentMethods<FormioForm>> & {
|
|
66
|
-
_id:
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
}, {}, import("@tsed/mongoose").MongooseMergedDocument<import("mongoose").Document<any, any, any> & FormioForm & import("@tsed/mongoose").MongooseDocumentMethods<FormioForm
|
|
67
|
+
saveForm(form: FormioForm): import("mongoose").Query<import("mongoose").Document<unknown, {}, import("@tsed/mongoose").MongooseMergedDocument<import("mongoose").Document<unknown, any, any> & FormioForm & import("@tsed/mongoose").MongooseDocumentMethods<FormioForm>>> & import("@tsed/mongoose").MongooseMergedDocument<import("mongoose").Document<unknown, any, any> & FormioForm & import("@tsed/mongoose").MongooseDocumentMethods<FormioForm>> & Required<{
|
|
68
|
+
_id: string;
|
|
69
|
+
}> & {
|
|
70
|
+
__v?: number | undefined;
|
|
71
|
+
}, import("mongoose").Document<unknown, {}, import("@tsed/mongoose").MongooseMergedDocument<import("mongoose").Document<unknown, any, any> & FormioForm & import("@tsed/mongoose").MongooseDocumentMethods<FormioForm>>> & import("@tsed/mongoose").MongooseMergedDocument<import("mongoose").Document<unknown, any, any> & FormioForm & import("@tsed/mongoose").MongooseDocumentMethods<FormioForm>> & Required<{
|
|
72
|
+
_id: string;
|
|
73
|
+
}> & {
|
|
74
|
+
__v?: number | undefined;
|
|
75
|
+
}, {}, import("@tsed/mongoose").MongooseMergedDocument<import("mongoose").Document<unknown, any, any> & FormioForm & import("@tsed/mongoose").MongooseDocumentMethods<FormioForm>>, "findOneAndUpdate", {}>;
|
|
70
76
|
getSubmissions<Data>(query?: FilterQuery<MongooseModel<FormioSubmission<Data>>>): Promise<MongooseDocument<FormioSubmission<Data>>[]>;
|
|
71
77
|
/**
|
|
72
78
|
* Import submission previously exported by export tool.
|
|
@@ -75,13 +81,19 @@ export declare class FormioDatabase {
|
|
|
75
81
|
*/
|
|
76
82
|
importSubmission<Data = any>(submission: Omit<Partial<FormioSubmission<Data>>, "form"> & {
|
|
77
83
|
form?: any;
|
|
78
|
-
}): Promise<import("@tsed/mongoose").MongooseMergedDocument<import("mongoose").Document<any, any, any> & FormioSubmission<any> & import("@tsed/mongoose").MongooseDocumentMethods<FormioSubmission<any>>> & {
|
|
79
|
-
_id:
|
|
84
|
+
}): Promise<import("mongoose").Document<unknown, {}, import("@tsed/mongoose").MongooseMergedDocument<import("mongoose").Document<unknown, any, any> & FormioSubmission<any> & import("@tsed/mongoose").MongooseDocumentMethods<FormioSubmission<any>>>> & import("@tsed/mongoose").MongooseMergedDocument<import("mongoose").Document<unknown, any, any> & FormioSubmission<any> & import("@tsed/mongoose").MongooseDocumentMethods<FormioSubmission<any>>> & Required<{
|
|
85
|
+
_id: string;
|
|
86
|
+
}> & {
|
|
87
|
+
__v?: number | undefined;
|
|
80
88
|
}>;
|
|
81
|
-
saveSubmission<Data = any>(submission: Partial<FormioSubmission<Data>>): import("mongoose").Query<import("@tsed/mongoose").MongooseMergedDocument<import("mongoose").Document<any, any, any> & FormioSubmission<any> & import("@tsed/mongoose").MongooseDocumentMethods<FormioSubmission<any>>> & {
|
|
82
|
-
_id:
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
}, {}, import("@tsed/mongoose").MongooseMergedDocument<import("mongoose").Document<any, any, any> & FormioSubmission<any> & import("@tsed/mongoose").MongooseDocumentMethods<FormioSubmission<any
|
|
89
|
+
saveSubmission<Data = any>(submission: Partial<FormioSubmission<Data>>): import("mongoose").Query<import("mongoose").Document<unknown, {}, import("@tsed/mongoose").MongooseMergedDocument<import("mongoose").Document<unknown, any, any> & FormioSubmission<any> & import("@tsed/mongoose").MongooseDocumentMethods<FormioSubmission<any>>>> & import("@tsed/mongoose").MongooseMergedDocument<import("mongoose").Document<unknown, any, any> & FormioSubmission<any> & import("@tsed/mongoose").MongooseDocumentMethods<FormioSubmission<any>>> & Required<{
|
|
90
|
+
_id: string;
|
|
91
|
+
}> & {
|
|
92
|
+
__v?: number | undefined;
|
|
93
|
+
}, import("mongoose").Document<unknown, {}, import("@tsed/mongoose").MongooseMergedDocument<import("mongoose").Document<unknown, any, any> & FormioSubmission<any> & import("@tsed/mongoose").MongooseDocumentMethods<FormioSubmission<any>>>> & import("@tsed/mongoose").MongooseMergedDocument<import("mongoose").Document<unknown, any, any> & FormioSubmission<any> & import("@tsed/mongoose").MongooseDocumentMethods<FormioSubmission<any>>> & Required<{
|
|
94
|
+
_id: string;
|
|
95
|
+
}> & {
|
|
96
|
+
__v?: number | undefined;
|
|
97
|
+
}, {}, import("@tsed/mongoose").MongooseMergedDocument<import("mongoose").Document<unknown, any, any> & FormioSubmission<any> & import("@tsed/mongoose").MongooseDocumentMethods<FormioSubmission<any>>>, "findOneAndUpdate", {}>;
|
|
86
98
|
idToBson(form?: any): any;
|
|
87
99
|
}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
/// <reference types="mongoose/types/document.js" />
|
|
2
|
-
/// <reference types="mongoose/types/types.js" />
|
|
3
2
|
/// <reference types="mongoose/types/query.js" />
|
|
4
3
|
/// <reference types="mongoose/types/aggregate.js" />
|
|
5
4
|
/// <reference types="mongoose/types/callback.js" />
|
|
@@ -24,6 +23,7 @@
|
|
|
24
23
|
/// <reference types="mongoose/types/utility.js" />
|
|
25
24
|
/// <reference types="mongoose/types/validation.js" />
|
|
26
25
|
/// <reference types="mongoose/types/virtuals.js" />
|
|
26
|
+
/// <reference types="mongoose/types/inferrawdoctype.js" />
|
|
27
27
|
/// <reference types="mongoose/types/inferschematype.js" />
|
|
28
28
|
import { MongooseDocument, MongooseModel } from "@tsed/mongoose";
|
|
29
29
|
import type { FilterQuery } from "mongoose";
|
|
@@ -36,8 +36,10 @@ export declare abstract class FormioRepository<SubmissionData = any> {
|
|
|
36
36
|
getFormId(): Promise<string>;
|
|
37
37
|
saveSubmission(submission: Omit<Partial<FormioSubmission<SubmissionData>>, "form"> & {
|
|
38
38
|
form?: any;
|
|
39
|
-
}): Promise<import("@tsed/mongoose").MongooseMergedDocument<import("mongoose").Document<any, any, any> & FormioSubmission<any> & import("@tsed/mongoose").MongooseDocumentMethods<FormioSubmission<any>>> & {
|
|
40
|
-
_id:
|
|
39
|
+
}): Promise<import("mongoose").Document<unknown, {}, import("@tsed/mongoose").MongooseMergedDocument<import("mongoose").Document<unknown, any, any> & FormioSubmission<any> & import("@tsed/mongoose").MongooseDocumentMethods<FormioSubmission<any>>>> & import("@tsed/mongoose").MongooseMergedDocument<import("mongoose").Document<unknown, any, any> & FormioSubmission<any> & import("@tsed/mongoose").MongooseDocumentMethods<FormioSubmission<any>>> & Required<{
|
|
40
|
+
_id: string;
|
|
41
|
+
}> & {
|
|
42
|
+
__v?: number | undefined;
|
|
41
43
|
}>;
|
|
42
44
|
getSubmissions(query?: FilterQuery<MongooseModel<FormioSubmission<SubmissionData>>>): Promise<MongooseDocument<FormioSubmission<SubmissionData>>[]>;
|
|
43
45
|
findOneSubmission(query: any): Promise<MongooseDocument<FormioSubmission<SubmissionData>> | undefined>;
|
|
@@ -21,6 +21,7 @@
|
|
|
21
21
|
/// <reference types="mongoose/types/utility.js" />
|
|
22
22
|
/// <reference types="mongoose/types/validation.js" />
|
|
23
23
|
/// <reference types="mongoose/types/virtuals.js" />
|
|
24
|
+
/// <reference types="mongoose/types/inferrawdoctype.js" />
|
|
24
25
|
/// <reference types="mongoose/types/inferschematype.js" />
|
|
25
26
|
import { InjectorService } from "@tsed/common";
|
|
26
27
|
import { Db } from "mongodb";
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@tsed/formio",
|
|
3
3
|
"description": "Formio package for Ts.ED framework",
|
|
4
4
|
"type": "module",
|
|
5
|
-
"version": "8.0.0-
|
|
5
|
+
"version": "8.0.0-beta.1",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"Formio",
|
|
8
8
|
"Ts.ED",
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
".": {
|
|
20
20
|
"types": "./lib/types/index.d.ts",
|
|
21
21
|
"import": "./lib/esm/index.js",
|
|
22
|
-
"default": "./lib/
|
|
22
|
+
"default": "./lib/esm/index.js"
|
|
23
23
|
}
|
|
24
24
|
},
|
|
25
25
|
"scripts": {
|
|
@@ -31,33 +31,33 @@
|
|
|
31
31
|
"test:ci": "vitest run --coverage.thresholds.autoUpdate=true"
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@tsed/formio-types": "8.0.0-
|
|
35
|
-
"@tsed/normalize-path": "8.0.0-
|
|
34
|
+
"@tsed/formio-types": "8.0.0-beta.1",
|
|
35
|
+
"@tsed/normalize-path": "8.0.0-beta.1",
|
|
36
36
|
"tslib": "2.7.0"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|
|
39
|
-
"@tsed/barrels": "8.0.0-
|
|
40
|
-
"@tsed/common": "8.0.0-
|
|
41
|
-
"@tsed/core": "8.0.0-
|
|
42
|
-
"@tsed/di": "8.0.0-
|
|
43
|
-
"@tsed/mongoose": "8.0.0-
|
|
44
|
-
"@tsed/typescript": "8.0.0-
|
|
39
|
+
"@tsed/barrels": "8.0.0-beta.1",
|
|
40
|
+
"@tsed/common": "8.0.0-beta.1",
|
|
41
|
+
"@tsed/core": "8.0.0-beta.1",
|
|
42
|
+
"@tsed/di": "8.0.0-beta.1",
|
|
43
|
+
"@tsed/mongoose": "8.0.0-beta.1",
|
|
44
|
+
"@tsed/typescript": "8.0.0-beta.1",
|
|
45
45
|
"@types/async": "3.2.24",
|
|
46
|
-
"eslint": "9.
|
|
47
|
-
"express": "^4.
|
|
48
|
-
"formio": "
|
|
49
|
-
"mongodb": "
|
|
50
|
-
"mongoose": "
|
|
46
|
+
"eslint": "9.12.0",
|
|
47
|
+
"express": "^4.21.0",
|
|
48
|
+
"formio": "4.2.5",
|
|
49
|
+
"mongodb": "^6.9.0",
|
|
50
|
+
"mongoose": "8.7.0",
|
|
51
51
|
"typescript": "5.4.5",
|
|
52
|
-
"vitest": "2.
|
|
52
|
+
"vitest": "2.1.2"
|
|
53
53
|
},
|
|
54
54
|
"peerDependencies": {
|
|
55
|
-
"@tsed/common": "8.0.0-
|
|
55
|
+
"@tsed/common": "8.0.0-beta.1",
|
|
56
56
|
"express": "^4.17.1",
|
|
57
57
|
"formio": ">=2.0.0",
|
|
58
58
|
"lodash": "^4.17.21",
|
|
59
59
|
"mongodb": "*",
|
|
60
|
-
"mongoose": "^
|
|
60
|
+
"mongoose": "^8.7.0"
|
|
61
61
|
},
|
|
62
62
|
"peerDependenciesMeta": {
|
|
63
63
|
"@tsed/common": {
|
|
@@ -72,6 +72,6 @@
|
|
|
72
72
|
"author": "Romain Lenzotti",
|
|
73
73
|
"license": "MIT",
|
|
74
74
|
"publishConfig": {
|
|
75
|
-
"tag": "
|
|
75
|
+
"tag": "beta"
|
|
76
76
|
}
|
|
77
77
|
}
|