@shakerquiz/utilities 0.5.187 → 0.5.189
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 +2 -3
- package/source/enumerations/category.js +4 -0
- package/source/enumerations/entities/game-status.js +69 -107
- package/source/enumerations/entities/registration-attribute.js +2 -2
- package/source/functions/hydrate-route-params.js +11 -17
- package/source/functions/hydrate-route-pathname.js +17 -23
- package/source/functions/key.js +8 -13
- package/source/functions/string-tag.js +3 -0
- package/source/index.js +2 -1
- package/source/functions/tag.js +0 -6
- package/source/schemas/PATCH/city/admin.json +0 -126
- package/source/schemas/PATCH/city/currency/admin.json +0 -173
- package/source/schemas/PATCH/city/timezone/admin.json +0 -501
- package/source/schemas/PATCH/game/admin.json +0 -30
- package/source/schemas/PATCH/game/organizer.json +0 -30
- package/source/schemas/PATCH/games/admin.json +0 -34
- package/source/schemas/PATCH/games/organizer.json +0 -34
- package/source/schemas/PATCH/registration/Unknown.json +0 -10
- package/source/schemas/PATCH/registration/admin.json +0 -43
- package/source/schemas/PATCH/registration/cancellation/Unknown.json +0 -12
- package/source/schemas/PATCH/registration/channel/Unknown.json +0 -22
- package/source/schemas/PATCH/registration/confirmation/Unknown.json +0 -12
- package/source/schemas/PATCH/registration/organizer.json +0 -43
- package/source/schemas/PATCH/theme/admin.json +0 -19
- package/source/schemas/PATCH/user/admin.json +0 -30
- package/source/schemas/PATCH/user/cities/admin.json +0 -17
- package/source/schemas/PATCH/user/password/admin.json +0 -12
- package/source/schemas/PATCH/user/role/admin.json +0 -13
- package/source/schemas/PATCH/users/cities/admin.json +0 -19
- package/source/schemas/PATCH/users/role/admin.json +0 -19
- package/source/schemas/PATCH/venue/admin.json +0 -44
- package/source/schemas/PATCH/venue/organizer.json +0 -44
- package/source/schemas/POST/checkin/Unknown.json +0 -16
- package/source/schemas/POST/city/admin.json +0 -696
- package/source/schemas/POST/cover/admin.json +0 -24
- package/source/schemas/POST/game/admin.json +0 -27
- package/source/schemas/POST/game/organizer.json +0 -27
- package/source/schemas/POST/game/registrations/export/admin.json +0 -17
- package/source/schemas/POST/game/registrations/export/organizer.json +0 -17
- package/source/schemas/POST/registration/Unknown.json +0 -125
- package/source/schemas/POST/registration/mailing/admin.json +0 -16
- package/source/schemas/POST/registration/mailing/organizer.json +0 -16
- package/source/schemas/POST/registrations/export/admin.json +0 -17
- package/source/schemas/POST/registrations/export/organizer.json +0 -17
- package/source/schemas/POST/theme/admin.json +0 -24
- package/source/schemas/POST/user/admin.json +0 -12
- package/source/schemas/POST/user/cities/admin.json +0 -17
- package/source/schemas/POST/user/password/admin.json +0 -12
- package/source/schemas/POST/user/role/admin.json +0 -13
- package/source/schemas/POST/venue/admin.json +0 -38
- package/source/schemas/POST/venue/organizer.json +0 -38
- package/source/schemas/PUT/cover/admin.json +0 -13
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"type": "module",
|
|
3
3
|
"name": "@shakerquiz/utilities",
|
|
4
|
-
"version": "0.5.
|
|
4
|
+
"version": "0.5.189",
|
|
5
5
|
"author": "yurkimus <yurkimus@gmail.com>",
|
|
6
6
|
"license": "ISC",
|
|
7
7
|
"repository": {
|
|
@@ -11,7 +11,6 @@
|
|
|
11
11
|
"exports": {
|
|
12
12
|
".": {
|
|
13
13
|
"default": "./source/index.js"
|
|
14
|
-
}
|
|
15
|
-
"./schemas/*.json": "./source/schemas/*.json"
|
|
14
|
+
}
|
|
16
15
|
}
|
|
17
16
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import { Mode } from '../mode.js'
|
|
1
2
|
import { Role } from './role.js'
|
|
2
3
|
|
|
3
|
-
export
|
|
4
|
+
export const GameStatus = Object.freeze({
|
|
4
5
|
'REJECTED': 'REJECTED',
|
|
5
6
|
'MODERATION': 'MODERATION',
|
|
6
7
|
'APPROVED': 'APPROVED',
|
|
@@ -12,119 +13,80 @@ export var GameStatus = /** @type {const} */ ({
|
|
|
12
13
|
'ARCHIVE': 'ARCHIVE',
|
|
13
14
|
})
|
|
14
15
|
|
|
15
|
-
export
|
|
16
|
+
export const GameStatuses = Object.freeze(Object.values(GameStatus))
|
|
16
17
|
|
|
17
|
-
export
|
|
18
|
-
[GameStatus
|
|
19
|
-
[GameStatus
|
|
20
|
-
[GameStatus
|
|
21
|
-
[GameStatus
|
|
22
|
-
[GameStatus
|
|
23
|
-
[GameStatus
|
|
24
|
-
[GameStatus
|
|
25
|
-
[GameStatus
|
|
26
|
-
[GameStatus
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
export var GameStatusTitle = {
|
|
30
|
-
[GameStatus.REJECTED]: 'Отклонено',
|
|
31
|
-
[GameStatus.MODERATION]: 'На проверке',
|
|
32
|
-
[GameStatus.APPROVED]: 'Одобрено',
|
|
33
|
-
[GameStatus.CLOSED]: 'Закрыта',
|
|
34
|
-
[GameStatus.FORINVITES]: 'По приглашению',
|
|
35
|
-
[GameStatus.PUBLISHED]: 'Опубликовано',
|
|
36
|
-
[GameStatus.IS_RESERVE]: 'В резерве',
|
|
37
|
-
[GameStatus.FINISHED]: 'Завершено',
|
|
38
|
-
[GameStatus.ARCHIVE]: 'В архиве',
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
export var GameStatusColor = {
|
|
42
|
-
[GameStatus.REJECTED]: 'danger',
|
|
43
|
-
[GameStatus.MODERATION]: 'primary',
|
|
44
|
-
[GameStatus.APPROVED]: 'success',
|
|
45
|
-
[GameStatus.CLOSED]: 'warning',
|
|
46
|
-
[GameStatus.FORINVITES]: 'current',
|
|
47
|
-
[GameStatus.PUBLISHED]: 'secondary',
|
|
48
|
-
[GameStatus.IS_RESERVE]: 'blue-900',
|
|
49
|
-
[GameStatus.FINISHED]: 'success',
|
|
50
|
-
[GameStatus.ARCHIVE]: 'current',
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
export var GameStatusTextColor = {
|
|
54
|
-
[GameStatus.REJECTED]: 'text-danger',
|
|
55
|
-
[GameStatus.MODERATION]: 'text-primary',
|
|
56
|
-
[GameStatus.APPROVED]: 'text-success',
|
|
57
|
-
[GameStatus.CLOSED]: 'text-warning',
|
|
58
|
-
[GameStatus.FORINVITES]: 'text-current',
|
|
59
|
-
[GameStatus.PUBLISHED]: 'text-secondary',
|
|
60
|
-
[GameStatus.IS_RESERVE]: 'text-blue-900',
|
|
61
|
-
[GameStatus.FINISHED]: 'text-success',
|
|
62
|
-
[GameStatus.ARCHIVE]: 'text-current',
|
|
63
|
-
}
|
|
18
|
+
export const GameStatusTitle = Object.freeze({
|
|
19
|
+
[GameStatus['REJECTED']]: 'Отклонено',
|
|
20
|
+
[GameStatus['MODERATION']]: 'На проверке',
|
|
21
|
+
[GameStatus['APPROVED']]: 'Одобрено',
|
|
22
|
+
[GameStatus['CLOSED']]: 'Закрыта',
|
|
23
|
+
[GameStatus['FORINVITES']]: 'По приглашению',
|
|
24
|
+
[GameStatus['PUBLISHED']]: 'Опубликовано',
|
|
25
|
+
[GameStatus['IS_RESERVE']]: 'В резерве',
|
|
26
|
+
[GameStatus['FINISHED']]: 'Завершено',
|
|
27
|
+
[GameStatus['ARCHIVE']]: 'В архиве',
|
|
28
|
+
})
|
|
64
29
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
[GameStatus
|
|
68
|
-
[GameStatus
|
|
69
|
-
[GameStatus
|
|
70
|
-
[GameStatus
|
|
71
|
-
[GameStatus
|
|
72
|
-
[GameStatus
|
|
73
|
-
[GameStatus
|
|
74
|
-
[GameStatus
|
|
75
|
-
|
|
76
|
-
}
|
|
30
|
+
export const GameStatusIcon = Object.freeze({
|
|
31
|
+
[GameStatus['REJECTED']]: 'hero/outline/x-mark',
|
|
32
|
+
[GameStatus['MODERATION']]: 'hero/outline/clock',
|
|
33
|
+
[GameStatus['APPROVED']]: 'hero/outline/hand-thumb-up',
|
|
34
|
+
[GameStatus['CLOSED']]: 'hero/outline/exclamation-triangle',
|
|
35
|
+
[GameStatus['FORINVITES']]: 'hero/outline/lock-closed',
|
|
36
|
+
[GameStatus['PUBLISHED']]: 'hero/outline/check-circle',
|
|
37
|
+
[GameStatus['IS_RESERVE']]: 'hero/outline/user-plus',
|
|
38
|
+
[GameStatus['FINISHED']]: 'hero/outline/check',
|
|
39
|
+
[GameStatus['ARCHIVE']]: 'hero/outline/archive-box',
|
|
40
|
+
})
|
|
77
41
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
[Role.admin]: {},
|
|
42
|
+
export const RoleGameStatusGameStatuses = Object.freeze({
|
|
43
|
+
[Role['admin']]: Object.freeze({}),
|
|
81
44
|
|
|
82
|
-
[Role
|
|
83
|
-
[GameStatus
|
|
84
|
-
GameStatus
|
|
85
|
-
GameStatus
|
|
86
|
-
GameStatus
|
|
87
|
-
GameStatus
|
|
88
|
-
GameStatus
|
|
89
|
-
GameStatus
|
|
90
|
-
GameStatus
|
|
91
|
-
],
|
|
45
|
+
[Role['organizer']]: Object.freeze({
|
|
46
|
+
[GameStatus['APPROVED']]: Object.freeze([
|
|
47
|
+
GameStatus['APPROVED'],
|
|
48
|
+
GameStatus['CLOSED'],
|
|
49
|
+
GameStatus['FORINVITES'],
|
|
50
|
+
GameStatus['PUBLISHED'],
|
|
51
|
+
GameStatus['IS_RESERVE'],
|
|
52
|
+
GameStatus['FINISHED'],
|
|
53
|
+
GameStatus['ARCHIVE'],
|
|
54
|
+
]),
|
|
92
55
|
|
|
93
|
-
[GameStatus
|
|
94
|
-
GameStatus
|
|
95
|
-
],
|
|
56
|
+
[GameStatus['MODERATION']]: Object.freeze([
|
|
57
|
+
GameStatus['MODERATION'],
|
|
58
|
+
]),
|
|
96
59
|
|
|
97
|
-
[GameStatus
|
|
98
|
-
GameStatus
|
|
99
|
-
GameStatus
|
|
100
|
-
],
|
|
101
|
-
},
|
|
60
|
+
[GameStatus['REJECTED']]: Object.freeze([
|
|
61
|
+
GameStatus['REJECTED'],
|
|
62
|
+
GameStatus['MODERATION'],
|
|
63
|
+
]),
|
|
64
|
+
}),
|
|
102
65
|
|
|
103
|
-
[
|
|
104
|
-
}
|
|
66
|
+
[Mode['Unknown']]: Object.freeze({}),
|
|
67
|
+
})
|
|
105
68
|
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
'
|
|
110
|
-
'
|
|
111
|
-
'
|
|
112
|
-
'
|
|
113
|
-
'
|
|
114
|
-
'
|
|
115
|
-
'
|
|
116
|
-
'
|
|
117
|
-
|
|
118
|
-
],
|
|
69
|
+
export const RoleDefaultGameStatuses = Object.freeze({
|
|
70
|
+
[Role['admin']]: Object.freeze([
|
|
71
|
+
GameStatus['APPROVED'],
|
|
72
|
+
GameStatus['ARCHIVE'],
|
|
73
|
+
GameStatus['CLOSED'],
|
|
74
|
+
GameStatus['FINISHED'],
|
|
75
|
+
GameStatus['FORINVITES'],
|
|
76
|
+
GameStatus['IS_RESERVE'],
|
|
77
|
+
GameStatus['MODERATION'],
|
|
78
|
+
GameStatus['PUBLISHED'],
|
|
79
|
+
GameStatus['REJECTED'],
|
|
80
|
+
]),
|
|
119
81
|
|
|
120
|
-
[Role
|
|
121
|
-
'ARCHIVE',
|
|
122
|
-
'CLOSED',
|
|
123
|
-
'FINISHED',
|
|
124
|
-
'FORINVITES',
|
|
125
|
-
'IS_RESERVE',
|
|
126
|
-
'PUBLISHED',
|
|
127
|
-
],
|
|
82
|
+
[Role['organizer']]: Object.freeze([
|
|
83
|
+
GameStatus['ARCHIVE'],
|
|
84
|
+
GameStatus['CLOSED'],
|
|
85
|
+
GameStatus['FINISHED'],
|
|
86
|
+
GameStatus['FORINVITES'],
|
|
87
|
+
GameStatus['IS_RESERVE'],
|
|
88
|
+
GameStatus['PUBLISHED'],
|
|
89
|
+
]),
|
|
128
90
|
|
|
129
|
-
[
|
|
130
|
-
}
|
|
91
|
+
[Mode['Unknown']]: Object.freeze([]),
|
|
92
|
+
})
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { toStringTag } from '../../functions/string-tag.js'
|
|
2
2
|
|
|
3
3
|
export var RegistrationAttribute = /** @type {const} */ ({
|
|
4
4
|
'Alone': 'Alone',
|
|
@@ -58,7 +58,7 @@ export var RegistrationPropertyRegistrationAttribute = {
|
|
|
58
58
|
* @param {RegistrationAttribute[] | Partial<Pick<RegistrationTable, 'is_alone' | 'is_birthday' | 'is_extensible' | 'is_first'>>} value
|
|
59
59
|
*/
|
|
60
60
|
export var getRegistrationAttributes = value => {
|
|
61
|
-
switch (
|
|
61
|
+
switch (toStringTag(value)) {
|
|
62
62
|
case 'Object':
|
|
63
63
|
return RegistrationAttributeRegistrationProperties
|
|
64
64
|
.map(property => value[property] ? RegistrationPropertyRegistrationAttribute[property] : '')
|
|
@@ -1,24 +1,18 @@
|
|
|
1
1
|
import { inferRoute, inferRouteParams } from '../enumerations/route.js'
|
|
2
2
|
|
|
3
|
-
export const hydrateRouteParams = Object.freeze(
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
* @param {object} maybeParams
|
|
7
|
-
*/
|
|
8
|
-
(maybeRoute, maybeParams) => {
|
|
9
|
-
if (typeof maybeParams !== 'object' || maybeParams === null)
|
|
10
|
-
throw TypeError(`Parameter 'maybeParams' must be 'Object'.`)
|
|
3
|
+
export const hydrateRouteParams = Object.freeze((r, p) => {
|
|
4
|
+
if (typeof p !== 'object' || p === null)
|
|
5
|
+
throw TypeError(`Parameter 'maybeParams' must be 'Object'.`)
|
|
11
6
|
|
|
12
|
-
|
|
7
|
+
var route = inferRoute(r)
|
|
13
8
|
|
|
14
|
-
|
|
15
|
-
|
|
9
|
+
if (route === 'Unknown')
|
|
10
|
+
throw TypeError(`Could not infer route of: '${r}'.`)
|
|
16
11
|
|
|
17
|
-
|
|
12
|
+
var routeParams = inferRouteParams(route)
|
|
18
13
|
|
|
19
|
-
|
|
20
|
-
|
|
14
|
+
if (routeParams === 'Unknown')
|
|
15
|
+
throw TypeError(`Could not infer route params of: '${route}'.`)
|
|
21
16
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
)
|
|
17
|
+
return routeParams.map(key => p[key.replace(':', '')] ?? key)
|
|
18
|
+
})
|
|
@@ -1,32 +1,26 @@
|
|
|
1
1
|
import { inferRoute, inferRouteParams, inferRoutePathname } from '../enumerations/route.js'
|
|
2
2
|
|
|
3
|
-
export const hydrateRoutePathname = Object.freeze(
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
* @param {any[]} maybeRouteParams
|
|
7
|
-
*/
|
|
8
|
-
(maybeRoute, maybeRouteParams) => {
|
|
9
|
-
if (!Array.isArray(maybeRouteParams))
|
|
10
|
-
throw TypeError(`Parameter 'maybeRouteParams' must be 'Array'.`)
|
|
3
|
+
export const hydrateRoutePathname = Object.freeze((r, p) => {
|
|
4
|
+
if (!Array.isArray(p))
|
|
5
|
+
throw TypeError(`Parameter 'maybeRouteParams' must be 'Array'.`)
|
|
11
6
|
|
|
12
|
-
|
|
7
|
+
var route = inferRoute(r)
|
|
13
8
|
|
|
14
|
-
|
|
15
|
-
|
|
9
|
+
if (route === 'Unknown')
|
|
10
|
+
throw TypeError(`Could not infer route of: '${r}'.`)
|
|
16
11
|
|
|
17
|
-
|
|
12
|
+
var routePathname = inferRoutePathname(route)
|
|
18
13
|
|
|
19
|
-
|
|
20
|
-
|
|
14
|
+
if (routePathname === 'Unknown')
|
|
15
|
+
throw TypeError(`Could not infer route pathname of: '${route}'.`)
|
|
21
16
|
|
|
22
|
-
|
|
17
|
+
var routeParams = inferRouteParams(route)
|
|
23
18
|
|
|
24
|
-
|
|
25
|
-
|
|
19
|
+
if (routeParams === 'Unknown')
|
|
20
|
+
throw TypeError(`Could not infer route params of: '${route}'.`)
|
|
26
21
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
)
|
|
22
|
+
return routeParams.reduce(
|
|
23
|
+
(pathname, param, index) => pathname.replace(param, p[index]),
|
|
24
|
+
routePathname,
|
|
25
|
+
)
|
|
26
|
+
})
|
package/source/functions/key.js
CHANGED
|
@@ -2,18 +2,13 @@ import { inferMethod } from '../enumerations/method.js'
|
|
|
2
2
|
|
|
3
3
|
import { hydrateRoutePathname } from './hydrate-route-pathname.js'
|
|
4
4
|
|
|
5
|
-
export const tag = Object.freeze(
|
|
6
|
-
|
|
7
|
-
* @param {any} maybeMethod
|
|
8
|
-
* @param {any} maybeRoute
|
|
9
|
-
* @param {any[]} maybeParameters
|
|
10
|
-
*/
|
|
11
|
-
(maybeMethod, maybeRoute, maybeParameters) => {
|
|
12
|
-
var method = inferMethod(maybeMethod)
|
|
5
|
+
export const tag = Object.freeze((m, r, p) => {
|
|
6
|
+
var method = inferMethod(m)
|
|
13
7
|
|
|
14
|
-
|
|
15
|
-
|
|
8
|
+
if (method === 'Unknown')
|
|
9
|
+
throw TypeError(`Could not infer method of: '${m}'.`)
|
|
16
10
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
11
|
+
return method + '/' + hydrateRoutePathname(r, p)
|
|
12
|
+
})
|
|
13
|
+
|
|
14
|
+
export const tagexp = Object.freeze((m, r, p) => new RegExp(`^${tag(m, r, p)}$`))
|
package/source/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export * from './enumerations/blend.js'
|
|
2
2
|
export * from './enumerations/cardinality.js'
|
|
3
|
+
export * from './enumerations/category.js'
|
|
3
4
|
export * from './enumerations/constants.js'
|
|
4
5
|
export * from './enumerations/display.js'
|
|
5
6
|
export * from './enumerations/gender.js'
|
|
@@ -31,4 +32,4 @@ export * from './enumerations/venue/status.js'
|
|
|
31
32
|
export * from './functions/hydrate-route-params.js'
|
|
32
33
|
export * from './functions/hydrate-route-pathname.js'
|
|
33
34
|
export * from './functions/key.js'
|
|
34
|
-
export * from './functions/tag.js'
|
|
35
|
+
export * from './functions/string-tag.js'
|
package/source/functions/tag.js
DELETED
|
@@ -1,126 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"type": "object",
|
|
3
|
-
"properties": {
|
|
4
|
-
"is_franchise": {
|
|
5
|
-
"type": "boolean"
|
|
6
|
-
},
|
|
7
|
-
"price": {
|
|
8
|
-
"type": "number"
|
|
9
|
-
},
|
|
10
|
-
"game_time": {
|
|
11
|
-
"type": "string",
|
|
12
|
-
"format": "iso-time"
|
|
13
|
-
},
|
|
14
|
-
"vk_link": {
|
|
15
|
-
"type": [
|
|
16
|
-
"string",
|
|
17
|
-
"null"
|
|
18
|
-
]
|
|
19
|
-
},
|
|
20
|
-
"tg_link": {
|
|
21
|
-
"type": [
|
|
22
|
-
"string",
|
|
23
|
-
"null"
|
|
24
|
-
]
|
|
25
|
-
},
|
|
26
|
-
"inst_link": {
|
|
27
|
-
"type": [
|
|
28
|
-
"string",
|
|
29
|
-
"null"
|
|
30
|
-
]
|
|
31
|
-
},
|
|
32
|
-
"min_members_count": {
|
|
33
|
-
"type": [
|
|
34
|
-
"number",
|
|
35
|
-
"null"
|
|
36
|
-
]
|
|
37
|
-
},
|
|
38
|
-
"max_members_count": {
|
|
39
|
-
"type": [
|
|
40
|
-
"number",
|
|
41
|
-
"null"
|
|
42
|
-
]
|
|
43
|
-
},
|
|
44
|
-
"custom_script": {
|
|
45
|
-
"type": [
|
|
46
|
-
"string",
|
|
47
|
-
"null"
|
|
48
|
-
]
|
|
49
|
-
},
|
|
50
|
-
"custom_html": {
|
|
51
|
-
"type": [
|
|
52
|
-
"string",
|
|
53
|
-
"null"
|
|
54
|
-
]
|
|
55
|
-
},
|
|
56
|
-
"vk_group_id": {
|
|
57
|
-
"type": [
|
|
58
|
-
"string",
|
|
59
|
-
"null"
|
|
60
|
-
]
|
|
61
|
-
},
|
|
62
|
-
"chatapp_line": {
|
|
63
|
-
"type": [
|
|
64
|
-
"string",
|
|
65
|
-
"null"
|
|
66
|
-
]
|
|
67
|
-
},
|
|
68
|
-
"chatapp_user": {
|
|
69
|
-
"type": [
|
|
70
|
-
"string",
|
|
71
|
-
"null"
|
|
72
|
-
]
|
|
73
|
-
},
|
|
74
|
-
"chatapp_tag": {
|
|
75
|
-
"type": [
|
|
76
|
-
"string",
|
|
77
|
-
"null"
|
|
78
|
-
]
|
|
79
|
-
},
|
|
80
|
-
"chatapp_category": {
|
|
81
|
-
"type": [
|
|
82
|
-
"string",
|
|
83
|
-
"null"
|
|
84
|
-
]
|
|
85
|
-
},
|
|
86
|
-
"telegram_chat_id": {
|
|
87
|
-
"type": [
|
|
88
|
-
"string",
|
|
89
|
-
"null"
|
|
90
|
-
]
|
|
91
|
-
},
|
|
92
|
-
"yandex_metrica": {
|
|
93
|
-
"type": [
|
|
94
|
-
"string",
|
|
95
|
-
"null"
|
|
96
|
-
]
|
|
97
|
-
},
|
|
98
|
-
"chatapp_legacy": {
|
|
99
|
-
"type": [
|
|
100
|
-
"boolean"
|
|
101
|
-
]
|
|
102
|
-
},
|
|
103
|
-
"phone": {
|
|
104
|
-
"type": [
|
|
105
|
-
"string",
|
|
106
|
-
"null"
|
|
107
|
-
]
|
|
108
|
-
},
|
|
109
|
-
"email": {
|
|
110
|
-
"type": [
|
|
111
|
-
"string",
|
|
112
|
-
"null"
|
|
113
|
-
]
|
|
114
|
-
},
|
|
115
|
-
"address": {
|
|
116
|
-
"type": [
|
|
117
|
-
"string",
|
|
118
|
-
"null"
|
|
119
|
-
]
|
|
120
|
-
}
|
|
121
|
-
},
|
|
122
|
-
"required": [
|
|
123
|
-
"is_franchise"
|
|
124
|
-
],
|
|
125
|
-
"additionalProperties": false
|
|
126
|
-
}
|
|
@@ -1,173 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"type": "object",
|
|
3
|
-
"properties": {
|
|
4
|
-
"id": {
|
|
5
|
-
"type": "string",
|
|
6
|
-
"enum": [
|
|
7
|
-
"AED",
|
|
8
|
-
"AFN",
|
|
9
|
-
"ALL",
|
|
10
|
-
"AMD",
|
|
11
|
-
"ANG",
|
|
12
|
-
"AOA",
|
|
13
|
-
"ARS",
|
|
14
|
-
"AUD",
|
|
15
|
-
"AWG",
|
|
16
|
-
"AZN",
|
|
17
|
-
"BAM",
|
|
18
|
-
"BBD",
|
|
19
|
-
"BDT",
|
|
20
|
-
"BGN",
|
|
21
|
-
"BHD",
|
|
22
|
-
"BIF",
|
|
23
|
-
"BMD",
|
|
24
|
-
"BND",
|
|
25
|
-
"BOB",
|
|
26
|
-
"BRL",
|
|
27
|
-
"BSD",
|
|
28
|
-
"BTN",
|
|
29
|
-
"BWP",
|
|
30
|
-
"BYN",
|
|
31
|
-
"BZD",
|
|
32
|
-
"CAD",
|
|
33
|
-
"CDF",
|
|
34
|
-
"CHF",
|
|
35
|
-
"CLP",
|
|
36
|
-
"CNY",
|
|
37
|
-
"COP",
|
|
38
|
-
"CRC",
|
|
39
|
-
"CUC",
|
|
40
|
-
"CUP",
|
|
41
|
-
"CVE",
|
|
42
|
-
"CZK",
|
|
43
|
-
"DJF",
|
|
44
|
-
"DKK",
|
|
45
|
-
"DOP",
|
|
46
|
-
"DZD",
|
|
47
|
-
"EGP",
|
|
48
|
-
"ERN",
|
|
49
|
-
"ETB",
|
|
50
|
-
"EUR",
|
|
51
|
-
"FJD",
|
|
52
|
-
"FKP",
|
|
53
|
-
"GBP",
|
|
54
|
-
"GEL",
|
|
55
|
-
"GHS",
|
|
56
|
-
"GIP",
|
|
57
|
-
"GMD",
|
|
58
|
-
"GNF",
|
|
59
|
-
"GTQ",
|
|
60
|
-
"GYD",
|
|
61
|
-
"HKD",
|
|
62
|
-
"HNL",
|
|
63
|
-
"HRK",
|
|
64
|
-
"HTG",
|
|
65
|
-
"HUF",
|
|
66
|
-
"IDR",
|
|
67
|
-
"ILS",
|
|
68
|
-
"INR",
|
|
69
|
-
"IQD",
|
|
70
|
-
"IRR",
|
|
71
|
-
"ISK",
|
|
72
|
-
"JMD",
|
|
73
|
-
"JOD",
|
|
74
|
-
"JPY",
|
|
75
|
-
"KES",
|
|
76
|
-
"KGS",
|
|
77
|
-
"KHR",
|
|
78
|
-
"KMF",
|
|
79
|
-
"KPW",
|
|
80
|
-
"KRW",
|
|
81
|
-
"KWD",
|
|
82
|
-
"KYD",
|
|
83
|
-
"KZT",
|
|
84
|
-
"LAK",
|
|
85
|
-
"LBP",
|
|
86
|
-
"LKR",
|
|
87
|
-
"LRD",
|
|
88
|
-
"LSL",
|
|
89
|
-
"LYD",
|
|
90
|
-
"MAD",
|
|
91
|
-
"MDL",
|
|
92
|
-
"MGA",
|
|
93
|
-
"MKD",
|
|
94
|
-
"MMK",
|
|
95
|
-
"MNT",
|
|
96
|
-
"MOP",
|
|
97
|
-
"MRU",
|
|
98
|
-
"MUR",
|
|
99
|
-
"MVR",
|
|
100
|
-
"MWK",
|
|
101
|
-
"MXN",
|
|
102
|
-
"MYR",
|
|
103
|
-
"MZN",
|
|
104
|
-
"NAD",
|
|
105
|
-
"NGN",
|
|
106
|
-
"NIO",
|
|
107
|
-
"NOK",
|
|
108
|
-
"NPR",
|
|
109
|
-
"NZD",
|
|
110
|
-
"OMR",
|
|
111
|
-
"PAB",
|
|
112
|
-
"PEN",
|
|
113
|
-
"PGK",
|
|
114
|
-
"PHP",
|
|
115
|
-
"PKR",
|
|
116
|
-
"PLN",
|
|
117
|
-
"PYG",
|
|
118
|
-
"QAR",
|
|
119
|
-
"RON",
|
|
120
|
-
"RSD",
|
|
121
|
-
"RUB",
|
|
122
|
-
"RWF",
|
|
123
|
-
"SAR",
|
|
124
|
-
"SBD",
|
|
125
|
-
"SCR",
|
|
126
|
-
"SDG",
|
|
127
|
-
"SEK",
|
|
128
|
-
"SGD",
|
|
129
|
-
"SHP",
|
|
130
|
-
"SLL",
|
|
131
|
-
"SOS",
|
|
132
|
-
"SRD",
|
|
133
|
-
"SSP",
|
|
134
|
-
"STN",
|
|
135
|
-
"SVC",
|
|
136
|
-
"SYP",
|
|
137
|
-
"SZL",
|
|
138
|
-
"THB",
|
|
139
|
-
"TJS",
|
|
140
|
-
"TMT",
|
|
141
|
-
"TND",
|
|
142
|
-
"TOP",
|
|
143
|
-
"TRY",
|
|
144
|
-
"TTD",
|
|
145
|
-
"TWD",
|
|
146
|
-
"TZS",
|
|
147
|
-
"UAH",
|
|
148
|
-
"UGX",
|
|
149
|
-
"USD",
|
|
150
|
-
"UYU",
|
|
151
|
-
"UZS",
|
|
152
|
-
"VES",
|
|
153
|
-
"VND",
|
|
154
|
-
"VUV",
|
|
155
|
-
"WST",
|
|
156
|
-
"XAF",
|
|
157
|
-
"XCD",
|
|
158
|
-
"XDR",
|
|
159
|
-
"XOF",
|
|
160
|
-
"XPF",
|
|
161
|
-
"XSU",
|
|
162
|
-
"YER",
|
|
163
|
-
"ZAR",
|
|
164
|
-
"ZMW",
|
|
165
|
-
"ZWL"
|
|
166
|
-
]
|
|
167
|
-
}
|
|
168
|
-
},
|
|
169
|
-
"required": [
|
|
170
|
-
"id"
|
|
171
|
-
],
|
|
172
|
-
"additionalProperties": false
|
|
173
|
-
}
|