types-nora-api 0.0.488 → 0.0.491
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/dist/api/graphql/leituras/ArquivoTipadoMusica/index.d.ts +16 -4
- package/dist/api/graphql/leituras/ArquivoTipadoMusica/index.js +19 -4
- package/dist/api/graphql/leituras/CoeficienteGanhoEstatisticaClasse/index.d.ts +48 -0
- package/dist/api/graphql/leituras/CoeficienteGanhoEstatisticaClasse/index.js +66 -0
- package/dist/api/graphql/leituras/DimensaoClima/index.d.ts +2 -1
- package/dist/api/graphql/leituras/DimensaoClima/index.js +2 -1
- package/dist/api/graphql/leituras/FonteMusica/index.d.ts +3 -2
- package/dist/api/graphql/leituras/FonteMusica/index.js +8 -3
- package/dist/api/graphql/leituras/Menu/index.d.ts +47 -0
- package/dist/api/graphql/leituras/Menu/index.js +67 -0
- package/dist/api/graphql/leituras/MusicaConfigurada/index.d.ts +3 -2
- package/dist/api/graphql/leituras/MusicaConfigurada/index.js +8 -3
- package/dist/api/graphql/leituras/PaginaNavegacao/index.d.ts +48 -0
- package/dist/api/graphql/leituras/PaginaNavegacao/index.js +70 -0
- package/dist/api/graphql/leituras/Partida/index.d.ts +128 -0
- package/dist/api/graphql/leituras/Partida/index.js +154 -0
- package/dist/api/graphql/leituras/SerDetalhe/index.d.ts +11 -2
- package/dist/api/graphql/leituras/SerDetalhe/index.js +17 -2
- package/dist/api/graphql/leituras/index.d.ts +16 -20
- package/dist/api/graphql/leituras/index.js +16 -20
- package/dist/api/rest/index.d.ts +171 -76
- package/dist/api/rest/index.js +264 -80
- package/dist/dominio/index.d.ts +110 -1
- package/dist/dominio/index.js +27 -1
- package/dist/dtos/index.d.ts +561 -135
- package/dist/dtos/index.js +96 -1
- package/dist/menus/index.d.ts +2 -171
- package/dist/menus/index.js +1 -348
- package/dist/paginas/index.d.ts +64 -76
- package/dist/paginas/index.js +67 -106
- package/dist/shared/index.d.ts +85 -1
- package/dist/ws/index.d.ts +61 -14
- package/dist/ws/index.js +9 -1
- package/package.json +1 -1
- package/dist/api/graphql/leituras/CatalogoMissao/index.d.ts +0 -42
- package/dist/api/graphql/leituras/CatalogoMissao/index.js +0 -60
- package/dist/api/graphql/leituras/CatalogoMissaoExibicao/index.d.ts +0 -45
- package/dist/api/graphql/leituras/CatalogoMissaoExibicao/index.js +0 -65
- package/dist/api/graphql/leituras/Missao/index.d.ts +0 -37
- package/dist/api/graphql/leituras/Missao/index.js +0 -51
- package/dist/api/graphql/leituras/MissaoDetalhe/index.d.ts +0 -44
- package/dist/api/graphql/leituras/MissaoDetalhe/index.js +0 -62
- package/dist/api/graphql/leituras/MissaoExibicao/index.d.ts +0 -48
- package/dist/api/graphql/leituras/MissaoExibicao/index.js +0 -70
package/dist/paginas/index.d.ts
CHANGED
|
@@ -1,78 +1,5 @@
|
|
|
1
|
-
import type { CtxAcesso } from '../acessos';
|
|
2
1
|
import type { LayoutContextualizadoInicial } from '../dtos';
|
|
3
2
|
import type { AcessoPagina } from '../shared';
|
|
4
|
-
type Brand<T, B extends string> = T & {
|
|
5
|
-
readonly __brand: B;
|
|
6
|
-
};
|
|
7
|
-
type ParamSingle = string | number;
|
|
8
|
-
type ParamMany = (string | number)[];
|
|
9
|
-
type ParamValue = ParamSingle | ParamMany | undefined;
|
|
10
|
-
type ParamsRecord = Record<string, ParamValue>;
|
|
11
|
-
type ExtrairParamsDoTemplate<S extends string, Acc extends ParamsRecord = {}> = S extends `${infer _A}[[...${infer P}]]${infer Rest}` ? ExtrairParamsDoTemplate<Rest, Acc & {
|
|
12
|
-
[K in P]?: ParamMany;
|
|
13
|
-
}> : S extends `${infer _A}[...${infer P}]${infer Rest}` ? ExtrairParamsDoTemplate<Rest, Acc & {
|
|
14
|
-
[K in P]: ParamMany;
|
|
15
|
-
}> : S extends `${infer _A}[${infer P}]${infer Rest}` ? ExtrairParamsDoTemplate<Rest, Acc & {
|
|
16
|
-
[K in P]: ParamSingle;
|
|
17
|
-
}> : Acc;
|
|
18
|
-
type PaginaParamsDoTemplate<T extends string> = ExtrairParamsDoTemplate<T>;
|
|
19
|
-
type PaginaInfoBase = {
|
|
20
|
-
readonly label: string;
|
|
21
|
-
readonly comCabecalho?: true;
|
|
22
|
-
readonly acesso?: AcessoPagina;
|
|
23
|
-
readonly acessoPorMenuInterno?: true;
|
|
24
|
-
readonly prioridadePresenca?: number;
|
|
25
|
-
readonly idMusicaPagina?: number;
|
|
26
|
-
};
|
|
27
|
-
type PaginaInfoComLayoutContextualizado = PaginaInfoBase & {
|
|
28
|
-
readonly layoutContextualizadoInicial: LayoutContextualizadoInicial;
|
|
29
|
-
};
|
|
30
|
-
type PaginaInfo = PaginaInfoBase | PaginaInfoComLayoutContextualizado;
|
|
31
|
-
type PaginaTemplate<T extends string = string> = Brand<T, 'PaginaTemplate'>;
|
|
32
|
-
type PaginaDef<T extends string, I extends PaginaInfo = PaginaInfo> = I & {
|
|
33
|
-
readonly template: PaginaTemplate<T>;
|
|
34
|
-
readonly hrefTemplate: T;
|
|
35
|
-
readonly href: T;
|
|
36
|
-
};
|
|
37
|
-
type PaginaParams<P extends {
|
|
38
|
-
hrefTemplate: string;
|
|
39
|
-
}> = PaginaParamsDoTemplate<P['hrefTemplate']>;
|
|
40
|
-
declare function montarHref(template: string, params: ParamsRecord): string;
|
|
41
|
-
type LimparUndefinedValue = string | number | boolean | object | null | undefined;
|
|
42
|
-
type LimparUndefinedRecord = Record<string, LimparUndefinedValue>;
|
|
43
|
-
declare function limparUndefined<T extends LimparUndefinedRecord>(obj: T): T;
|
|
44
|
-
declare function pagina<const T extends string>(hrefTemplate: T, info: PaginaInfoBase): PaginaDef<T, PaginaInfoBase>;
|
|
45
|
-
declare function paginaComLayoutContextualizado<const T extends string>(hrefTemplate: T, info: PaginaInfoBase, layoutContextualizadoInicial: LayoutContextualizadoInicial): PaginaDef<T, PaginaInfoComLayoutContextualizado>;
|
|
46
|
-
type RequiredKeys<T> = {
|
|
47
|
-
[K in keyof T]-?: {} extends Pick<T, K> ? never : K;
|
|
48
|
-
}[keyof T];
|
|
49
|
-
type ParamsProps<P extends PaginaDef<string>> = keyof PaginaParams<P> extends never ? {
|
|
50
|
-
params?: never;
|
|
51
|
-
} : RequiredKeys<PaginaParams<P>> extends never ? {
|
|
52
|
-
params?: PaginaParams<P>;
|
|
53
|
-
} : {
|
|
54
|
-
params: PaginaParams<P>;
|
|
55
|
-
};
|
|
56
|
-
declare function toParamsRecord(params: object): ParamsRecord;
|
|
57
|
-
type DecisaoAcessoPagina = {
|
|
58
|
-
permitido: true;
|
|
59
|
-
} | {
|
|
60
|
-
permitido: false;
|
|
61
|
-
motivo: 'NAO_AUTENTICADO';
|
|
62
|
-
redirecionarPara: PaginaFolha;
|
|
63
|
-
} | {
|
|
64
|
-
permitido: false;
|
|
65
|
-
motivo: 'SEM_CAPACIDADE';
|
|
66
|
-
redirecionarPara: PaginaFolha;
|
|
67
|
-
};
|
|
68
|
-
type ResolverMenuInterno = (pagina: PaginaFolha) => readonly PaginaFolha[] | undefined;
|
|
69
|
-
type Opts = {
|
|
70
|
-
resolverMenuInterno?: ResolverMenuInterno;
|
|
71
|
-
redirectNaoAutenticado: PaginaFolha;
|
|
72
|
-
redirectSemCapacidade: PaginaFolha;
|
|
73
|
-
};
|
|
74
|
-
declare function decidirAcessoPagina(pagina: PaginaFolha, ctx: CtxAcesso, opts: Opts): DecisaoAcessoPagina;
|
|
75
|
-
declare function decidirAcessoPagina_Rec(pagina: PaginaFolha, ctx: CtxAcesso, opts: Opts, visitados: Set<string>): DecisaoAcessoPagina;
|
|
76
3
|
declare const PAGINAS: {
|
|
77
4
|
readonly home: PaginaDef<"/", PaginaInfoBase>;
|
|
78
5
|
readonly acessar: PaginaDef<"/acessar", PaginaInfoBase>;
|
|
@@ -89,7 +16,7 @@ declare const PAGINAS: {
|
|
|
89
16
|
readonly sessoesMestre: PaginaDef<"/jogo/mestre/sessoes-mestre", PaginaInfoComLayoutContextualizado>;
|
|
90
17
|
};
|
|
91
18
|
readonly jogador: {
|
|
92
|
-
readonly
|
|
19
|
+
readonly partidas: PaginaDef<"/jogo/jogador/partidas", PaginaInfoBase>;
|
|
93
20
|
readonly label: string;
|
|
94
21
|
readonly comCabecalho?: true;
|
|
95
22
|
readonly acesso?: AcessoPagina;
|
|
@@ -123,6 +50,7 @@ declare const PAGINAS: {
|
|
|
123
50
|
readonly gerenciarDimensoes: PaginaDef<"/minhas-paginas/admin/gerenciar-dimensoes", PaginaInfoComLayoutContextualizado>;
|
|
124
51
|
readonly tutoriais: PaginaDef<"/minhas-paginas/admin/tutoriais", PaginaInfoComLayoutContextualizado>;
|
|
125
52
|
readonly disparosEventosUsuario: PaginaDef<"/minhas-paginas/admin/disparos-eventos-usuario", PaginaInfoComLayoutContextualizado>;
|
|
53
|
+
readonly gestaoNavegacao: PaginaDef<"/minhas-paginas/admin/gestao-navegacao", PaginaInfoComLayoutContextualizado>;
|
|
126
54
|
readonly label: string;
|
|
127
55
|
readonly comCabecalho?: true;
|
|
128
56
|
readonly acesso?: AcessoPagina;
|
|
@@ -138,6 +66,8 @@ declare const PAGINAS: {
|
|
|
138
66
|
readonly dashboardAprovacaoImagensArtista: PaginaDef<"/minhas-paginas/moderador/aprovar-imagens-artista", PaginaInfoComLayoutContextualizado>;
|
|
139
67
|
readonly gerenciarEmblemas: PaginaDef<"/minhas-paginas/moderador/emblemas", PaginaInfoComLayoutContextualizado>;
|
|
140
68
|
readonly gerenciarConquistas: PaginaDef<"/minhas-paginas/moderador/conquistas", PaginaInfoComLayoutContextualizado>;
|
|
69
|
+
readonly editorDefinicoes: PaginaDef<"/minhas-paginas/moderador/definicoes/[[...slug]]", PaginaInfoBase>;
|
|
70
|
+
readonly editorDicas: PaginaDef<"/minhas-paginas/moderador/dicas/[[...slug]]", PaginaInfoBase>;
|
|
141
71
|
readonly label: string;
|
|
142
72
|
readonly comCabecalho?: true;
|
|
143
73
|
readonly acesso?: AcessoPagina;
|
|
@@ -173,7 +103,11 @@ declare const PAGINAS: {
|
|
|
173
103
|
readonly configurar: {
|
|
174
104
|
readonly configuracaoTestePericia: PaginaDef<"/minhas-paginas/game-designer/configurar/configuracao-teste-pericia", PaginaInfoComLayoutContextualizado>;
|
|
175
105
|
readonly configuracaoPatentesTestePericia: PaginaDef<"/minhas-paginas/game-designer/configurar/configuracao-patentes-teste-pericia", PaginaInfoComLayoutContextualizado>;
|
|
176
|
-
readonly
|
|
106
|
+
readonly coeficientesGanhoEstatistica: PaginaDef<"/minhas-paginas/game-designer/configurar/coeficientes-ganho-estatistica", PaginaInfoComLayoutContextualizado>;
|
|
107
|
+
readonly desafios: PaginaDef<"/minhas-paginas/game-designer/configurar/desafios", PaginaInfoComLayoutContextualizado>;
|
|
108
|
+
readonly desafiosAtivos: PaginaDef<"/minhas-paginas/game-designer/configurar/desafios-ativos", PaginaInfoComLayoutContextualizado>;
|
|
109
|
+
readonly configuracaoPartida: PaginaDef<"/minhas-paginas/game-designer/configurar/configuracao-partida", PaginaInfoComLayoutContextualizado>;
|
|
110
|
+
readonly catalogosPartida: PaginaDef<"/minhas-paginas/game-designer/configurar/catalogos-partida", PaginaInfoComLayoutContextualizado>;
|
|
177
111
|
};
|
|
178
112
|
readonly analisar: {
|
|
179
113
|
readonly simuladorDistribuicoesTeste: PaginaDef<"/minhas-paginas/game-designer/analisar/distribuicoes-testes", PaginaInfoComLayoutContextualizado>;
|
|
@@ -217,6 +151,7 @@ declare const PAGINAS: {
|
|
|
217
151
|
readonly artista: {
|
|
218
152
|
readonly minhasImagens: PaginaDef<"/minhas-paginas/artista/minhas-imagens", PaginaInfoComLayoutContextualizado>;
|
|
219
153
|
readonly adicionarImagem: PaginaDef<"/minhas-paginas/artista/adicionar-imagem", PaginaInfoComLayoutContextualizado>;
|
|
154
|
+
readonly assinatura: PaginaDef<"/minhas-paginas/artista/assinatura", PaginaInfoComLayoutContextualizado>;
|
|
220
155
|
readonly avatares: {
|
|
221
156
|
readonly gerenciarAvatares: PaginaDef<"/minhas-paginas/artista/avatares", PaginaInfoComLayoutContextualizado>;
|
|
222
157
|
};
|
|
@@ -303,4 +238,57 @@ type PaginaHrefTemplate = PaginaFolha['hrefTemplate'];
|
|
|
303
238
|
type PaginaHref = PaginaFolha['href'];
|
|
304
239
|
type PaginaDefAny = PaginaDef<string>;
|
|
305
240
|
type PaginaTemplateAny = PaginaTemplate<string>;
|
|
306
|
-
|
|
241
|
+
type Brand<T, B extends string> = T & {
|
|
242
|
+
readonly __brand: B;
|
|
243
|
+
};
|
|
244
|
+
type ParamSingle = string | number;
|
|
245
|
+
type ParamMany = (string | number)[];
|
|
246
|
+
type ParamValue = ParamSingle | ParamMany | undefined;
|
|
247
|
+
type ParamsRecord = Record<string, ParamValue>;
|
|
248
|
+
type ExtrairParamsDoTemplate<S extends string, Acc extends ParamsRecord = {}> = S extends `${infer _A}[[...${infer P}]]${infer Rest}` ? ExtrairParamsDoTemplate<Rest, Acc & {
|
|
249
|
+
[K in P]?: ParamMany;
|
|
250
|
+
}> : S extends `${infer _A}[...${infer P}]${infer Rest}` ? ExtrairParamsDoTemplate<Rest, Acc & {
|
|
251
|
+
[K in P]: ParamMany;
|
|
252
|
+
}> : S extends `${infer _A}[${infer P}]${infer Rest}` ? ExtrairParamsDoTemplate<Rest, Acc & {
|
|
253
|
+
[K in P]: ParamSingle;
|
|
254
|
+
}> : Acc;
|
|
255
|
+
type PaginaParamsDoTemplate<T extends string> = ExtrairParamsDoTemplate<T>;
|
|
256
|
+
type PaginaInfoBase = {
|
|
257
|
+
readonly label: string;
|
|
258
|
+
readonly comCabecalho?: true;
|
|
259
|
+
readonly acesso?: AcessoPagina;
|
|
260
|
+
readonly acessoPorMenuInterno?: true;
|
|
261
|
+
readonly prioridadePresenca?: number;
|
|
262
|
+
readonly idMusicaPagina?: number;
|
|
263
|
+
};
|
|
264
|
+
type PaginaInfoComLayoutContextualizado = PaginaInfoBase & {
|
|
265
|
+
readonly layoutContextualizadoInicial: LayoutContextualizadoInicial;
|
|
266
|
+
};
|
|
267
|
+
type PaginaInfo = PaginaInfoBase | PaginaInfoComLayoutContextualizado;
|
|
268
|
+
type PaginaTemplate<T extends string = string> = Brand<T, 'PaginaTemplate'>;
|
|
269
|
+
type PaginaDef<T extends string, I extends PaginaInfo = PaginaInfo> = I & {
|
|
270
|
+
readonly template: PaginaTemplate<T>;
|
|
271
|
+
readonly hrefTemplate: T;
|
|
272
|
+
readonly href: T;
|
|
273
|
+
};
|
|
274
|
+
type PaginaParams<P extends {
|
|
275
|
+
hrefTemplate: string;
|
|
276
|
+
}> = PaginaParamsDoTemplate<P['hrefTemplate']>;
|
|
277
|
+
declare function montarHref(template: string, params: ParamsRecord): string;
|
|
278
|
+
type LimparUndefinedValue = string | number | boolean | object | null | undefined;
|
|
279
|
+
type LimparUndefinedRecord = Record<string, LimparUndefinedValue>;
|
|
280
|
+
declare function limparUndefined<T extends LimparUndefinedRecord>(obj: T): T;
|
|
281
|
+
declare function pagina<const T extends string>(hrefTemplate: T, info: PaginaInfoBase): PaginaDef<T, PaginaInfoBase>;
|
|
282
|
+
declare function paginaComLayoutContextualizado<const T extends string>(hrefTemplate: T, info: PaginaInfoBase, layoutContextualizadoInicial: LayoutContextualizadoInicial): PaginaDef<T, PaginaInfoComLayoutContextualizado>;
|
|
283
|
+
type RequiredKeys<T> = {
|
|
284
|
+
[K in keyof T]-?: {} extends Pick<T, K> ? never : K;
|
|
285
|
+
}[keyof T];
|
|
286
|
+
type ParamsProps<P extends PaginaDef<string>> = keyof PaginaParams<P> extends never ? {
|
|
287
|
+
params?: never;
|
|
288
|
+
} : RequiredKeys<PaginaParams<P>> extends never ? {
|
|
289
|
+
params?: PaginaParams<P>;
|
|
290
|
+
} : {
|
|
291
|
+
params: PaginaParams<P>;
|
|
292
|
+
};
|
|
293
|
+
declare function toParamsRecord(params: object): ParamsRecord;
|
|
294
|
+
export { Brand, ExtrairParamsDoTemplate, Folhas, LimparUndefinedRecord, LimparUndefinedValue, PAGINAS, PaginaDef, PaginaDefAny, PaginaDestino, PaginaDestinoPagina, PaginaFolha, PaginaHref, PaginaHrefTemplate, PaginaInfo, PaginaInfoBase, PaginaInfoComLayoutContextualizado, PaginaParams, PaginaParamsDoTemplate, PaginaTemplate, PaginaTemplateAny, PaginaTemplateFolha, ParamMany, ParamSingle, ParamValue, ParamsProps, ParamsRecord, RequiredKeys, limparUndefined, montarHref, pagina, paginaComLayoutContextualizado, toParamsRecord };
|
package/dist/paginas/index.js
CHANGED
|
@@ -1,114 +1,13 @@
|
|
|
1
1
|
// AUTO-GENERATED FILE - DO NOT EDIT
|
|
2
2
|
// Contratos de páginas
|
|
3
|
-
import { temSudoBurlarCapacidades } from '../acessos';
|
|
4
3
|
import { CAPACIDADES } from '../dominio';
|
|
5
|
-
function montarHref(template, params) {
|
|
6
|
-
const out = template.replace(/\[\[\.\.\.([^\]]+)\]\]|\[\.\.\.([^\]]+)\]|\[([^\]]+)\]/g, (_m, optCatchAll, catchAll, single) => {
|
|
7
|
-
const key = (optCatchAll || catchAll || single);
|
|
8
|
-
const value = params[key];
|
|
9
|
-
if (optCatchAll) {
|
|
10
|
-
if (value == null)
|
|
11
|
-
return '';
|
|
12
|
-
if (!Array.isArray(value))
|
|
13
|
-
throw new Error(`PAGINAS.montarHref: "${key}" deve ser (string|number)[] (optional catch-all)`);
|
|
14
|
-
return value.map((x) => encodeURIComponent(String(x))).join('/');
|
|
15
|
-
}
|
|
16
|
-
if (catchAll) {
|
|
17
|
-
if (!Array.isArray(value))
|
|
18
|
-
throw new Error(`PAGINAS.montarHref: "${key}" deve ser (string|number)[] (catch-all)`);
|
|
19
|
-
return value.map((x) => encodeURIComponent(String(x))).join('/');
|
|
20
|
-
}
|
|
21
|
-
if (value == null)
|
|
22
|
-
throw new Error(`PAGINAS.montarHref: "${key}" é obrigatório`);
|
|
23
|
-
if (Array.isArray(value))
|
|
24
|
-
throw new Error(`PAGINAS.montarHref: "${key}" deve ser string|number (single param)`);
|
|
25
|
-
return encodeURIComponent(String(value));
|
|
26
|
-
});
|
|
27
|
-
const cleaned = out.replace(/\/+/g, '/').replace(/\/$/, '');
|
|
28
|
-
return cleaned === '' ? '/' : cleaned;
|
|
29
|
-
}
|
|
30
|
-
function limparUndefined(obj) {
|
|
31
|
-
const out = {};
|
|
32
|
-
for (const k in obj) {
|
|
33
|
-
if (!Object.prototype.hasOwnProperty.call(obj, k))
|
|
34
|
-
continue;
|
|
35
|
-
const key = k;
|
|
36
|
-
const v = obj[key];
|
|
37
|
-
if (v !== undefined)
|
|
38
|
-
out[key] = v;
|
|
39
|
-
}
|
|
40
|
-
return out;
|
|
41
|
-
}
|
|
42
|
-
function pagina(hrefTemplate, info) {
|
|
43
|
-
const template = hrefTemplate;
|
|
44
|
-
return limparUndefined({ template, hrefTemplate, href: hrefTemplate, ...info });
|
|
45
|
-
}
|
|
46
|
-
function paginaComLayoutContextualizado(hrefTemplate, info, layoutContextualizadoInicial) {
|
|
47
|
-
const template = hrefTemplate;
|
|
48
|
-
return limparUndefined({ template, hrefTemplate, href: hrefTemplate, ...info, layoutContextualizadoInicial });
|
|
49
|
-
}
|
|
50
|
-
function toParamsRecord(params) {
|
|
51
|
-
const out = {};
|
|
52
|
-
for (const k in params) {
|
|
53
|
-
if (!Object.prototype.hasOwnProperty.call(params, k))
|
|
54
|
-
continue;
|
|
55
|
-
out[k] = params[k];
|
|
56
|
-
}
|
|
57
|
-
return out;
|
|
58
|
-
}
|
|
59
|
-
/*
|
|
60
|
-
SSOT: regra de acesso única, usada por:
|
|
61
|
-
- ControladorSlot (bloqueio/redirect)
|
|
62
|
-
- Menu principal (filtrar itens antes de render)
|
|
63
|
-
- Menus internos (filtrar itens antes de render)
|
|
64
|
-
*/
|
|
65
|
-
function decidirAcessoPagina(pagina, ctx, opts) {
|
|
66
|
-
const visitados = new Set();
|
|
67
|
-
return decidirAcessoPagina_Rec(pagina, ctx, opts, visitados);
|
|
68
|
-
}
|
|
69
|
-
function decidirAcessoPagina_Rec(pagina, ctx, opts, visitados) {
|
|
70
|
-
const key = String(pagina.template);
|
|
71
|
-
if (visitados.has(key))
|
|
72
|
-
return { permitido: true };
|
|
73
|
-
visitados.add(key);
|
|
74
|
-
const acesso = pagina.acesso;
|
|
75
|
-
if (acesso != null && 'cadastroPermitido' in acesso) {
|
|
76
|
-
if (!ctx.cadastroPermitido)
|
|
77
|
-
return { permitido: false, motivo: 'NAO_AUTENTICADO', redirecionarPara: opts.redirectNaoAutenticado };
|
|
78
|
-
}
|
|
79
|
-
if (acesso != null && 'listaDeCapacidadesNecessarias' in acesso) {
|
|
80
|
-
if (!ctx.estaAutenticado)
|
|
81
|
-
return { permitido: false, motivo: 'NAO_AUTENTICADO', redirecionarPara: opts.redirectNaoAutenticado };
|
|
82
|
-
if (temSudoBurlarCapacidades(ctx))
|
|
83
|
-
return { permitido: true };
|
|
84
|
-
const lista = acesso.listaDeCapacidadesNecessarias;
|
|
85
|
-
const permitido = Array.isArray(lista) && lista.length > 0 && lista.every((cap) => ctx.verificarCapacidade(cap));
|
|
86
|
-
if (!permitido)
|
|
87
|
-
return { permitido: false, motivo: 'SEM_CAPACIDADE', redirecionarPara: opts.redirectSemCapacidade };
|
|
88
|
-
}
|
|
89
|
-
if (acesso != null && 'autenticado' in acesso) {
|
|
90
|
-
if (!ctx.estaAutenticado)
|
|
91
|
-
return { permitido: false, motivo: 'NAO_AUTENTICADO', redirecionarPara: opts.redirectNaoAutenticado };
|
|
92
|
-
}
|
|
93
|
-
if (pagina.acessoPorMenuInterno === true) {
|
|
94
|
-
if (!ctx.estaAutenticado)
|
|
95
|
-
return { permitido: false, motivo: 'NAO_AUTENTICADO', redirecionarPara: opts.redirectNaoAutenticado };
|
|
96
|
-
if (temSudoBurlarCapacidades(ctx))
|
|
97
|
-
return { permitido: true };
|
|
98
|
-
const folhas = (opts.resolverMenuInterno?.(pagina) ?? []).filter((p) => String(p.template) !== String(pagina.template));
|
|
99
|
-
const permitido = folhas.some((p) => decidirAcessoPagina_Rec(p, ctx, opts, visitados).permitido);
|
|
100
|
-
if (!permitido)
|
|
101
|
-
return { permitido: false, motivo: 'SEM_CAPACIDADE', redirecionarPara: opts.redirectSemCapacidade };
|
|
102
|
-
}
|
|
103
|
-
return { permitido: true };
|
|
104
|
-
}
|
|
105
4
|
const PAGINAS = {
|
|
106
5
|
home: pagina('/', { label: 'Página Inicial', comCabecalho: true }),
|
|
107
6
|
acessar: pagina('/acessar', { label: 'Acessar' }),
|
|
108
7
|
cadastrar: pagina('/cadastrar', { label: 'Cadastrar', acesso: { cadastroPermitido: true } }),
|
|
109
8
|
definicoes: pagina('/definicoes/[[...slug]]', { label: 'Definições', comCabecalho: true, idMusicaPagina: 1 }),
|
|
110
9
|
dicas: pagina('/dicas/[[...slug]]', { label: 'Dicas', comCabecalho: true, idMusicaPagina: 2 }),
|
|
111
|
-
testeMixer: pagina('/teste-mixer', { label: 'Teste Mixer', acesso: { autenticado: true },
|
|
10
|
+
testeMixer: pagina('/teste-mixer', { label: 'Teste Mixer', comCabecalho: true, acesso: { autenticado: true }, prioridadePresenca: 1 }),
|
|
112
11
|
jogo: {
|
|
113
12
|
admin: {
|
|
114
13
|
gerenciarSalas: paginaComLayoutContextualizado('/jogo/admin/gerenciar-salas', { label: 'Admin - Gerenciar Salas', acesso: { listaDeCapacidadesNecessarias: [CAPACIDADES.ADMINISTRADOR__ACOMPANHAMENTO__SESSAO_DE_JOGO] }, prioridadePresenca: 2 }, { titulo: 'Gerenciar Salas', proporcaoConteudo: 84 }),
|
|
@@ -119,7 +18,7 @@ const PAGINAS = {
|
|
|
119
18
|
},
|
|
120
19
|
jogador: {
|
|
121
20
|
...paginaComLayoutContextualizado('/jogo/jogador', { label: 'Jogo - Jogador', acesso: { autenticado: true }, prioridadePresenca: 1 }, { titulo: null, proporcaoConteudo: 84 }),
|
|
122
|
-
|
|
21
|
+
partidas: pagina('/jogo/jogador/partidas', { label: 'Partidas', acesso: { autenticado: true }, prioridadePresenca: 1, idMusicaPagina: 3 }),
|
|
123
22
|
},
|
|
124
23
|
emJogo: pagina('/jogo/em-jogo', { label: 'Em Jogo', acesso: { autenticado: true }, prioridadePresenca: 1 }),
|
|
125
24
|
},
|
|
@@ -145,12 +44,15 @@ const PAGINAS = {
|
|
|
145
44
|
gerenciarDimensoes: paginaComLayoutContextualizado('/minhas-paginas/admin/gerenciar-dimensoes', { label: 'Admin - Gerenciar Dimensões', acesso: { listaDeCapacidadesNecessarias: [CAPACIDADES.ADMINISTRADOR__SUDO__BURLAR_CAPACIDADES] }, prioridadePresenca: 2 }, { titulo: 'Gerenciar Dimensões de Clima', proporcaoConteudo: 84 }),
|
|
146
45
|
tutoriais: paginaComLayoutContextualizado('/minhas-paginas/admin/tutoriais', { label: 'Admin - Tutoriais', acesso: { listaDeCapacidadesNecessarias: [CAPACIDADES.ADMINISTRADOR__SUDO__BURLAR_CAPACIDADES] }, prioridadePresenca: 2 }, { titulo: 'Gerenciamento de Tutoriais', proporcaoConteudo: 84 }),
|
|
147
46
|
disparosEventosUsuario: paginaComLayoutContextualizado('/minhas-paginas/admin/disparos-eventos-usuario', { label: 'Admin - Disparos de Eventos de Usuário', acesso: { listaDeCapacidadesNecessarias: [CAPACIDADES.ADMINISTRADOR__SUDO__BURLAR_CAPACIDADES] }, prioridadePresenca: 2 }, { titulo: 'Disparos de Eventos de Usuário (Dev)', proporcaoConteudo: 84 }),
|
|
47
|
+
gestaoNavegacao: paginaComLayoutContextualizado('/minhas-paginas/admin/gestao-navegacao', { label: 'Admin - Gestão de Navegação', acesso: { listaDeCapacidadesNecessarias: [CAPACIDADES.ADMINISTRADOR__SUDO__BURLAR_CAPACIDADES] }, prioridadePresenca: 2 }, { titulo: 'Gestão de Navegação', proporcaoConteudo: 84 }),
|
|
148
48
|
},
|
|
149
49
|
moderador: {
|
|
150
50
|
...paginaComLayoutContextualizado('/minhas-paginas/moderador', { label: 'Área do Moderador', acesso: { autenticado: true }, acessoPorMenuInterno: true, prioridadePresenca: 2 }, { titulo: 'Página de Moderador', proporcaoConteudo: 84 }),
|
|
151
51
|
dashboardAprovacaoImagensArtista: paginaComLayoutContextualizado('/minhas-paginas/moderador/aprovar-imagens-artista', { label: 'Aprovar Imagens de Artistas', acesso: { listaDeCapacidadesNecessarias: [CAPACIDADES.MODERADOR__IMAGENS] }, prioridadePresenca: 2 }, { titulo: 'Aprovar Imagens de Artistas', proporcaoConteudo: 84 }),
|
|
152
52
|
gerenciarEmblemas: paginaComLayoutContextualizado('/minhas-paginas/moderador/emblemas', { label: 'Gerenciar Emblemas', acesso: { listaDeCapacidadesNecessarias: [CAPACIDADES.MODERADOR__CADASTROS__EMBLEMAS] }, prioridadePresenca: 2 }, { titulo: 'Gerenciar Emblemas', proporcaoConteudo: 84 }),
|
|
153
53
|
gerenciarConquistas: paginaComLayoutContextualizado('/minhas-paginas/moderador/conquistas', { label: 'Gerenciar Conquistas', acesso: { listaDeCapacidadesNecessarias: [CAPACIDADES.MODERADOR__CADASTROS__CONQUISTAS] }, prioridadePresenca: 2 }, { titulo: 'Gerenciar Conquistas', proporcaoConteudo: 84 }),
|
|
54
|
+
editorDefinicoes: pagina('/minhas-paginas/moderador/definicoes/[[...slug]]', { label: 'Editor de Definições', comCabecalho: true, acesso: { listaDeCapacidadesNecessarias: [CAPACIDADES.MODERADOR__CADASTROS__EMBLEMAS] }, prioridadePresenca: 2 }),
|
|
55
|
+
editorDicas: pagina('/minhas-paginas/moderador/dicas/[[...slug]]', { label: 'Editor de Dicas', comCabecalho: true, acesso: { listaDeCapacidadesNecessarias: [CAPACIDADES.MODERADOR__CADASTROS__EMBLEMAS] }, prioridadePresenca: 2 }),
|
|
154
56
|
},
|
|
155
57
|
colaborador: {
|
|
156
58
|
...paginaComLayoutContextualizado('/minhas-paginas/colaborador', { label: 'Área do Colaborador', acesso: { autenticado: true }, acessoPorMenuInterno: true, prioridadePresenca: 3 }, { titulo: 'Página de Colaborador', proporcaoConteudo: 84 }),
|
|
@@ -168,7 +70,11 @@ const PAGINAS = {
|
|
|
168
70
|
configurar: {
|
|
169
71
|
configuracaoTestePericia: paginaComLayoutContextualizado('/minhas-paginas/game-designer/configurar/configuracao-teste-pericia', { label: 'Configuração de Teste de Perícia - Atributo', acesso: { listaDeCapacidadesNecessarias: [CAPACIDADES.GAME_DESIGNER__GAME_BALANCE__TESTE_DE_PERICIA] }, prioridadePresenca: 2 }, { titulo: 'Configuração de Teste de Perícia - Atributo', proporcaoConteudo: 84 }),
|
|
170
72
|
configuracaoPatentesTestePericia: paginaComLayoutContextualizado('/minhas-paginas/game-designer/configurar/configuracao-patentes-teste-pericia', { label: 'Configuração de Teste de Perícia - Patente de Perícia', acesso: { listaDeCapacidadesNecessarias: [CAPACIDADES.GAME_DESIGNER__GAME_BALANCE__TESTE_DE_PERICIA] }, prioridadePresenca: 2 }, { titulo: 'Configuração de Teste de Perícia - Patente de Perícia', proporcaoConteudo: 84 }),
|
|
171
|
-
|
|
73
|
+
coeficientesGanhoEstatistica: paginaComLayoutContextualizado('/minhas-paginas/game-designer/configurar/coeficientes-ganho-estatistica', { label: 'Coeficientes de Ganho de Estatística', acesso: { listaDeCapacidadesNecessarias: [CAPACIDADES.GAME_DESIGNER__GAME_BALANCE__TESTE_DE_PERICIA] }, prioridadePresenca: 2 }, { titulo: 'Coeficientes de Ganho de Estatística', proporcaoConteudo: 84 }),
|
|
74
|
+
desafios: paginaComLayoutContextualizado('/minhas-paginas/game-designer/configurar/desafios', { label: 'Desafios', acesso: { listaDeCapacidadesNecessarias: [CAPACIDADES.GAME_DESIGNER__CRIACAO__SER] }, prioridadePresenca: 2 }, { titulo: 'Desafios', proporcaoConteudo: 84 }),
|
|
75
|
+
desafiosAtivos: paginaComLayoutContextualizado('/minhas-paginas/game-designer/configurar/desafios-ativos', { label: 'Inspetor de Desafios', acesso: { listaDeCapacidadesNecessarias: [CAPACIDADES.GAME_DESIGNER__CRIACAO__SER] }, prioridadePresenca: 2 }, { titulo: 'Inspetor de Desafios', proporcaoConteudo: 84 }),
|
|
76
|
+
configuracaoPartida: paginaComLayoutContextualizado('/minhas-paginas/game-designer/configurar/configuracao-partida', { label: 'Configuração de Partida', acesso: { listaDeCapacidadesNecessarias: [CAPACIDADES.GAME_DESIGNER__CRIACAO__SER] }, prioridadePresenca: 2 }, { titulo: 'Configuração de Partida', proporcaoConteudo: 84 }),
|
|
77
|
+
catalogosPartida: paginaComLayoutContextualizado('/minhas-paginas/game-designer/configurar/catalogos-partida', { label: 'Catálogos de Partida', acesso: { listaDeCapacidadesNecessarias: [CAPACIDADES.GAME_DESIGNER__CRIACAO__SER] }, prioridadePresenca: 2 }, { titulo: 'Catálogos de Partida', proporcaoConteudo: 84 }),
|
|
172
78
|
},
|
|
173
79
|
analisar: {
|
|
174
80
|
simuladorDistribuicoesTeste: paginaComLayoutContextualizado('/minhas-paginas/game-designer/analisar/distribuicoes-testes', { label: 'Simulador de Distribuições de Teste', acesso: { listaDeCapacidadesNecessarias: [CAPACIDADES.GAME_DESIGNER__GAME_BALANCE__TESTE_DE_PERICIA] }, prioridadePresenca: 2 }, { titulo: 'Simulador de Distribuições de Teste', proporcaoConteudo: 100 }),
|
|
@@ -194,6 +100,7 @@ const PAGINAS = {
|
|
|
194
100
|
...paginaComLayoutContextualizado('/minhas-paginas/artista', { label: 'Área do Artista', acesso: { autenticado: true }, acessoPorMenuInterno: true, prioridadePresenca: 3 }, { titulo: 'Página de Artista', proporcaoConteudo: 84 }),
|
|
195
101
|
minhasImagens: paginaComLayoutContextualizado('/minhas-paginas/artista/minhas-imagens', { label: 'Minhas Imagens', acesso: { listaDeCapacidadesNecessarias: [CAPACIDADES.ARTISTA__CRIACAO__UPLOAD_IMAGEM] }, prioridadePresenca: 3 }, { titulo: 'Minhas Imagens', proporcaoConteudo: 84 }),
|
|
196
102
|
adicionarImagem: paginaComLayoutContextualizado('/minhas-paginas/artista/adicionar-imagem', { label: 'Adicionar Imagem', acesso: { listaDeCapacidadesNecessarias: [CAPACIDADES.ARTISTA__CRIACAO__UPLOAD_IMAGEM] }, prioridadePresenca: 3 }, { titulo: 'Adicionar Nova Imagem', proporcaoConteudo: 84 }),
|
|
103
|
+
assinatura: paginaComLayoutContextualizado('/minhas-paginas/artista/assinatura', { label: 'Minha Assinatura', acesso: { autenticado: true }, prioridadePresenca: 3 }, { titulo: 'Minha Assinatura de Artista', proporcaoConteudo: 84 }),
|
|
197
104
|
avatares: {
|
|
198
105
|
gerenciarAvatares: paginaComLayoutContextualizado('/minhas-paginas/artista/avatares', { label: 'Gerenciar Avatares', acesso: { listaDeCapacidadesNecessarias: [CAPACIDADES.ARTISTA__CRIACAO__RESPONSABILIDADES__AVATARES] }, prioridadePresenca: 3 }, { titulo: 'Gerenciar Avatares', proporcaoConteudo: 84 }),
|
|
199
106
|
},
|
|
@@ -217,7 +124,7 @@ const PAGINAS = {
|
|
|
217
124
|
minhasConfiguracoes: {
|
|
218
125
|
...paginaComLayoutContextualizado('/minhas-paginas/minhas-configuracoes', { label: 'Minhas Configurações', acesso: { autenticado: true }, prioridadePresenca: 3 }, { titulo: 'Minhas Configurações', proporcaoConteudo: 84 }),
|
|
219
126
|
passeDeJogador: paginaComLayoutContextualizado('/minhas-paginas/minhas-configuracoes/passe-de-jogador', { label: 'Meu Passe de Jogador', acesso: { autenticado: true }, prioridadePresenca: 3 }, { titulo: 'Meu Passe de Jogador', proporcaoConteudo: 84 }),
|
|
220
|
-
}
|
|
127
|
+
},
|
|
221
128
|
},
|
|
222
129
|
palco: paginaComLayoutContextualizado('/palco', { label: 'Palco', acesso: { autenticado: true }, prioridadePresenca: 1 }, { titulo: 'Palco', proporcaoConteudo: 84 }),
|
|
223
130
|
fichas: paginaComLayoutContextualizado('/fichas', { label: 'Fichas', acesso: { autenticado: true }, prioridadePresenca: 3 }, { titulo: 'Minhas Fichas', proporcaoConteudo: 84 }),
|
|
@@ -227,4 +134,58 @@ const PAGINAS = {
|
|
|
227
134
|
assistir: paginaComLayoutContextualizado('/assistir', { label: 'Assistir', prioridadePresenca: 1 }, { titulo: 'Assistir', proporcaoConteudo: 80 }),
|
|
228
135
|
perfilUsuario: pagina('perfil-usuario', { label: 'Página de Visualização do Perfil de Usuário', acesso: { autenticado: true } }),
|
|
229
136
|
};
|
|
230
|
-
|
|
137
|
+
function montarHref(template, params) {
|
|
138
|
+
const out = template.replace(/\[\[\.\.\.([^\]]+)\]\]|\[\.\.\.([^\]]+)\]|\[([^\]]+)\]/g, (_m, optCatchAll, catchAll, single) => {
|
|
139
|
+
const key = (optCatchAll || catchAll || single);
|
|
140
|
+
const value = params[key];
|
|
141
|
+
if (optCatchAll) {
|
|
142
|
+
if (value == null)
|
|
143
|
+
return '';
|
|
144
|
+
if (!Array.isArray(value))
|
|
145
|
+
throw new Error(`PAGINAS.montarHref: "${key}" deve ser (string|number)[] (optional catch-all)`);
|
|
146
|
+
return value.map((x) => encodeURIComponent(String(x))).join('/');
|
|
147
|
+
}
|
|
148
|
+
if (catchAll) {
|
|
149
|
+
if (!Array.isArray(value))
|
|
150
|
+
throw new Error(`PAGINAS.montarHref: "${key}" deve ser (string|number)[] (catch-all)`);
|
|
151
|
+
return value.map((x) => encodeURIComponent(String(x))).join('/');
|
|
152
|
+
}
|
|
153
|
+
if (value == null)
|
|
154
|
+
throw new Error(`PAGINAS.montarHref: "${key}" é obrigatório`);
|
|
155
|
+
if (Array.isArray(value))
|
|
156
|
+
throw new Error(`PAGINAS.montarHref: "${key}" deve ser string|number (single param)`);
|
|
157
|
+
return encodeURIComponent(String(value));
|
|
158
|
+
});
|
|
159
|
+
const cleaned = out.replace(/\/+/g, '/').replace(/\/$/, '');
|
|
160
|
+
return cleaned === '' ? '/' : cleaned;
|
|
161
|
+
}
|
|
162
|
+
function limparUndefined(obj) {
|
|
163
|
+
const out = {};
|
|
164
|
+
for (const k in obj) {
|
|
165
|
+
if (!Object.prototype.hasOwnProperty.call(obj, k))
|
|
166
|
+
continue;
|
|
167
|
+
const key = k;
|
|
168
|
+
const v = obj[key];
|
|
169
|
+
if (v !== undefined)
|
|
170
|
+
out[key] = v;
|
|
171
|
+
}
|
|
172
|
+
return out;
|
|
173
|
+
}
|
|
174
|
+
function pagina(hrefTemplate, info) {
|
|
175
|
+
const template = hrefTemplate;
|
|
176
|
+
return limparUndefined({ template, hrefTemplate, href: hrefTemplate, ...info });
|
|
177
|
+
}
|
|
178
|
+
function paginaComLayoutContextualizado(hrefTemplate, info, layoutContextualizadoInicial) {
|
|
179
|
+
const template = hrefTemplate;
|
|
180
|
+
return limparUndefined({ template, hrefTemplate, href: hrefTemplate, ...info, layoutContextualizadoInicial });
|
|
181
|
+
}
|
|
182
|
+
function toParamsRecord(params) {
|
|
183
|
+
const out = {};
|
|
184
|
+
for (const k in params) {
|
|
185
|
+
if (!Object.prototype.hasOwnProperty.call(params, k))
|
|
186
|
+
continue;
|
|
187
|
+
out[k] = params[k];
|
|
188
|
+
}
|
|
189
|
+
return out;
|
|
190
|
+
}
|
|
191
|
+
export { PAGINAS, limparUndefined, montarHref, pagina, paginaComLayoutContextualizado, toParamsRecord };
|
package/dist/shared/index.d.ts
CHANGED
|
@@ -35,9 +35,31 @@ interface ObjetoCenaCanonicaEditor3D {
|
|
|
35
35
|
readonly visivel: boolean;
|
|
36
36
|
readonly malhaEditavel?: MalhaEditavelCenaCanonicaEditor3D;
|
|
37
37
|
}
|
|
38
|
+
type TipoProjetoEditor3D = 'PADRAO' | 'CAPA_ARTE';
|
|
39
|
+
interface CameraCenaCanonicaEditor3D {
|
|
40
|
+
readonly posicao: Vetor3CenaCanonicaEditor3D;
|
|
41
|
+
readonly alvo: Vetor3CenaCanonicaEditor3D;
|
|
42
|
+
readonly fov: number;
|
|
43
|
+
readonly perto: number;
|
|
44
|
+
readonly longe: number;
|
|
45
|
+
}
|
|
46
|
+
interface TextoCapaArteCenaCanonicaEditor3D {
|
|
47
|
+
readonly texto: string;
|
|
48
|
+
readonly posicao: Vetor3CenaCanonicaEditor3D;
|
|
49
|
+
readonly rotacao: Vetor3CenaCanonicaEditor3D;
|
|
50
|
+
readonly escala: Vetor3CenaCanonicaEditor3D;
|
|
51
|
+
readonly cor: Vetor3CenaCanonicaEditor3D;
|
|
52
|
+
}
|
|
53
|
+
interface CapaArteCenaCanonicaEditor3D {
|
|
54
|
+
readonly titulo: TextoCapaArteCenaCanonicaEditor3D;
|
|
55
|
+
readonly assinatura: TextoCapaArteCenaCanonicaEditor3D;
|
|
56
|
+
}
|
|
38
57
|
interface CenaCanonicaEditor3D {
|
|
39
58
|
readonly versao: 1;
|
|
59
|
+
readonly tipoProjeto: TipoProjetoEditor3D;
|
|
40
60
|
readonly objetos: readonly ObjetoCenaCanonicaEditor3D[];
|
|
61
|
+
readonly camera?: CameraCenaCanonicaEditor3D;
|
|
62
|
+
readonly capaArte?: CapaArteCenaCanonicaEditor3D;
|
|
41
63
|
}
|
|
42
64
|
interface Projeto3DMinimoPersistido {
|
|
43
65
|
readonly id: number;
|
|
@@ -59,16 +81,78 @@ type PAYLOAD__SalvarProjeto3D = {
|
|
|
59
81
|
readonly idProjeto?: number;
|
|
60
82
|
readonly nome: string;
|
|
61
83
|
readonly cenaCanonica: CenaCanonicaEditor3D;
|
|
84
|
+
readonly imagemCapaBase64?: string;
|
|
85
|
+
readonly imagemCapaTituloBase64?: string;
|
|
62
86
|
};
|
|
87
|
+
interface Projeto3DCapaArteResumoPersistido {
|
|
88
|
+
readonly idProjeto: number;
|
|
89
|
+
readonly nome: string;
|
|
90
|
+
readonly largura: number;
|
|
91
|
+
readonly altura: number;
|
|
92
|
+
readonly dataAtualizacao: string;
|
|
93
|
+
}
|
|
94
|
+
interface Projeto3DCapaArteImagemPersistida {
|
|
95
|
+
readonly idProjeto: number;
|
|
96
|
+
readonly nome: string;
|
|
97
|
+
readonly imagemBase64: string;
|
|
98
|
+
readonly imagemTituloBase64: string | null;
|
|
99
|
+
readonly largura: number;
|
|
100
|
+
readonly altura: number;
|
|
101
|
+
}
|
|
102
|
+
type FonteAssinaturaArtista = 'GREAT_VIBES' | 'DANCING_SCRIPT' | 'ALLURA' | 'SACRAMENTO' | 'PACIFICO';
|
|
103
|
+
interface AssinaturaArtistaPersistida {
|
|
104
|
+
readonly texto: string;
|
|
105
|
+
readonly fonte: FonteAssinaturaArtista;
|
|
106
|
+
readonly dataAtualizacao: string;
|
|
107
|
+
}
|
|
108
|
+
type PAYLOAD__SalvarAssinaturaArtista = {
|
|
109
|
+
readonly texto: string;
|
|
110
|
+
readonly fonte: FonteAssinaturaArtista;
|
|
111
|
+
};
|
|
112
|
+
type ImagemBaseArteCapaUDM = string & {
|
|
113
|
+
readonly __brand: 'ImagemBaseArteCapaUDM';
|
|
114
|
+
};
|
|
115
|
+
type CamadaTituloArteCapaUDM = string & {
|
|
116
|
+
readonly __brand: 'CamadaTituloArteCapaUDM';
|
|
117
|
+
};
|
|
118
|
+
interface ConteudoArteCapaUDM {
|
|
119
|
+
readonly imagem: ImagemBaseArteCapaUDM;
|
|
120
|
+
readonly camadaTitulo: CamadaTituloArteCapaUDM | null;
|
|
121
|
+
readonly assinatura: AssinaturaArtistaPersistida | null;
|
|
122
|
+
}
|
|
63
123
|
type PAYLOAD__CriarSerRegistroComDetalhe = {
|
|
64
124
|
readonly idTipoSer: number;
|
|
65
125
|
readonly nome: string;
|
|
66
126
|
readonly serJogavel?: boolean;
|
|
67
127
|
readonly idNivel?: number;
|
|
128
|
+
readonly ehSemClasse?: boolean;
|
|
68
129
|
};
|
|
69
130
|
type SerRegistroCriado = {
|
|
70
131
|
readonly id: number;
|
|
71
132
|
};
|
|
133
|
+
type PAYLOAD__AtualizarCoeficienteGanhoEstatistica = {
|
|
134
|
+
readonly idCoeficiente: number;
|
|
135
|
+
readonly coeficiente: number;
|
|
136
|
+
readonly ganhosRelativos: readonly {
|
|
137
|
+
readonly fkAtributosId: number;
|
|
138
|
+
readonly valorPorcentagem: number;
|
|
139
|
+
}[];
|
|
140
|
+
};
|
|
141
|
+
type CoeficienteGanhoEstatisticaAtualizado = {
|
|
142
|
+
readonly id: number;
|
|
143
|
+
};
|
|
144
|
+
type PAYLOAD__CriarCoeficienteGanhoEstatistica = {
|
|
145
|
+
readonly idClasse: number;
|
|
146
|
+
readonly idEstatisticaDanificavel: number;
|
|
147
|
+
readonly coeficiente: number;
|
|
148
|
+
readonly ganhosRelativos: readonly {
|
|
149
|
+
readonly fkAtributosId: number;
|
|
150
|
+
readonly valorPorcentagem: number;
|
|
151
|
+
}[];
|
|
152
|
+
};
|
|
153
|
+
type CoeficienteGanhoEstatisticaCriado = {
|
|
154
|
+
readonly id: number;
|
|
155
|
+
};
|
|
72
156
|
type PAYLOAD__CriarObjetivo = {
|
|
73
157
|
readonly nome: string;
|
|
74
158
|
};
|
|
@@ -424,4 +508,4 @@ declare function concatenarDataEHoraEmNovaData(data: Date | string, hora: string
|
|
|
424
508
|
declare const pluralize: (count: number, singular: string, plural?: string) => string;
|
|
425
509
|
declare function minutosParaMs(minutos: number): number;
|
|
426
510
|
declare function formataDataCompacta(data?: Date): string;
|
|
427
|
-
export { AcaoMembroSerJogavel, AcaoMembroSerJogavelInput, AcessoPagina, AventuraEstado, CONFIGURACAO_DEFAULT_PATENTES_TESTE_PERICIA, CONFIGURACAO_DEFAULT_TESTE_PERICIA, CargoExibicaoUsuario, CargosUsuario, CenaCanonicaEditor3D, ConfiguracaoIntervaloTestePericia, ConfiguracaoPatenteTestePericia, ConfiguracaoPatentesTestePericia, ConfiguracaoPatentesTestePericiaProjetada, ConfiguracaoTestePericia, ConfiguracaoTestePericiaProjetada, ConteudoItem, DefinicaoElemento, DetalheUtilizacaoRascunho, DiaDaSemana, EstadoOcupacaoPersonagem, EstadoPendenciaAdministrativaPersonagem, EstadoPendenciaPersonagem, EstadoSessao, EstruturaPaginaDefinicao, FaceMalhaEditavelCenaCanonicaEditor3D, FichaDoSerCriada, FormatoMomento, GanhoEstatistica, LinhaPreviewConfiguracaoPatenteTestePericia, LinhaPreviewConfiguracaoTestePericia, ListaCapacidadesNecessarias, ListaItem, MalhaEditavelCenaCanonicaEditor3D, MaterialVisualCenaCanonicaEditor3D, MembroSerJogavel, MembroSerJogavelInput, MomentoFormatado, MomentoFormatado24, NumeroHora24, NumeroMomento, ObjetoAutenticacao, ObjetoCache, ObjetoCenaCanonicaEditor3D, ObjetoEvolucao, ObjetoEvolucaoCompleto, ObjetoGanhosEvolucao, ObjetoPendeciaPersonagem, PAYLOAD__AtualizarCard, PAYLOAD__AtualizarColuna, PAYLOAD__AtualizarDependenciaCard, PAYLOAD__AtualizarItemChecklist, PAYLOAD__AtualizarObjetivo, PAYLOAD__AtualizarObjetivoFicha, PAYLOAD__CriarCard, PAYLOAD__CriarColuna, PAYLOAD__CriarComentario, PAYLOAD__CriarDependenciaCard, PAYLOAD__CriarFichaDoSer, PAYLOAD__CriarItemChecklist, PAYLOAD__CriarObjetivo, PAYLOAD__CriarSerRegistroComDetalhe, PAYLOAD__DefinirPosicaoFluxogramaCard, PAYLOAD__DeletarCard, PAYLOAD__DeletarColuna, PAYLOAD__DeletarDependenciaCard, PAYLOAD__DeletarItemChecklist, PAYLOAD__DeletarObjetivo, PAYLOAD__MarcarItemChecklist, PAYLOAD__ReordenarCards, PAYLOAD__ReordenarColunas, PAYLOAD__SalvarCasoSimplesProjeto3D, PAYLOAD__SalvarConfiguracaoPatentesTestePericia, PAYLOAD__SalvarConfiguracaoTestePericia, PAYLOAD__SalvarDesenhoFluxograma, PAYLOAD__SalvarMembrosSerJogavel, PAYLOAD__SalvarProjeto3D, PaletaCores, ParametrosAcaoMembroSerJogavel, PathArteCapaPadrao, PathAvatarPadrao, PermissaoItemMinimo, Projeto3DMinimoPersistido, Projeto3DResumoPersistido, SerJogavelMembrosPersistido, SerRegistroCriado, ShaderCenaCanonicaEditor3D, TipoMalhaCenaCanonicaEditor3D, TipoVariavelAmbiente, TituloSessaoInteligente, VALORES_ATRIBUTOS_OBRIGATORIOS_CONFIGURACAO_TESTE_PERICIA, Vetor3CenaCanonicaEditor3D, adicionaProximoIntervaloConfiguracaoTestePericia, calculaIncrementosAcumuladosPatenteTestePericia, calculaValorMinimoTestePericia, concatenarDataEHoraEmNovaData, formataDataCompacta, minutosParaMs, momentoParaMinutos, obtemDiaDaSemanaPorExtensoPorDDS, obtemIntervaloConfiguradoTestePericia, pluralize, projetaConfiguracaoPatentesTestePericia, projetaConfiguracaoTestePericia, removeUltimoIntervaloOpcionalConfiguracaoTestePericia, validaConfiguracaoPatentesTestePericia, validaConfiguracaoTestePericia };
|
|
511
|
+
export { AcaoMembroSerJogavel, AcaoMembroSerJogavelInput, AcessoPagina, AssinaturaArtistaPersistida, AventuraEstado, CONFIGURACAO_DEFAULT_PATENTES_TESTE_PERICIA, CONFIGURACAO_DEFAULT_TESTE_PERICIA, CamadaTituloArteCapaUDM, CameraCenaCanonicaEditor3D, CapaArteCenaCanonicaEditor3D, CargoExibicaoUsuario, CargosUsuario, CenaCanonicaEditor3D, CoeficienteGanhoEstatisticaAtualizado, CoeficienteGanhoEstatisticaCriado, ConfiguracaoIntervaloTestePericia, ConfiguracaoPatenteTestePericia, ConfiguracaoPatentesTestePericia, ConfiguracaoPatentesTestePericiaProjetada, ConfiguracaoTestePericia, ConfiguracaoTestePericiaProjetada, ConteudoArteCapaUDM, ConteudoItem, DefinicaoElemento, DetalheUtilizacaoRascunho, DiaDaSemana, EstadoOcupacaoPersonagem, EstadoPendenciaAdministrativaPersonagem, EstadoPendenciaPersonagem, EstadoSessao, EstruturaPaginaDefinicao, FaceMalhaEditavelCenaCanonicaEditor3D, FichaDoSerCriada, FonteAssinaturaArtista, FormatoMomento, GanhoEstatistica, ImagemBaseArteCapaUDM, LinhaPreviewConfiguracaoPatenteTestePericia, LinhaPreviewConfiguracaoTestePericia, ListaCapacidadesNecessarias, ListaItem, MalhaEditavelCenaCanonicaEditor3D, MaterialVisualCenaCanonicaEditor3D, MembroSerJogavel, MembroSerJogavelInput, MomentoFormatado, MomentoFormatado24, NumeroHora24, NumeroMomento, ObjetoAutenticacao, ObjetoCache, ObjetoCenaCanonicaEditor3D, ObjetoEvolucao, ObjetoEvolucaoCompleto, ObjetoGanhosEvolucao, ObjetoPendeciaPersonagem, PAYLOAD__AtualizarCard, PAYLOAD__AtualizarCoeficienteGanhoEstatistica, PAYLOAD__AtualizarColuna, PAYLOAD__AtualizarDependenciaCard, PAYLOAD__AtualizarItemChecklist, PAYLOAD__AtualizarObjetivo, PAYLOAD__AtualizarObjetivoFicha, PAYLOAD__CriarCard, PAYLOAD__CriarCoeficienteGanhoEstatistica, PAYLOAD__CriarColuna, PAYLOAD__CriarComentario, PAYLOAD__CriarDependenciaCard, PAYLOAD__CriarFichaDoSer, PAYLOAD__CriarItemChecklist, PAYLOAD__CriarObjetivo, PAYLOAD__CriarSerRegistroComDetalhe, PAYLOAD__DefinirPosicaoFluxogramaCard, PAYLOAD__DeletarCard, PAYLOAD__DeletarColuna, PAYLOAD__DeletarDependenciaCard, PAYLOAD__DeletarItemChecklist, PAYLOAD__DeletarObjetivo, PAYLOAD__MarcarItemChecklist, PAYLOAD__ReordenarCards, PAYLOAD__ReordenarColunas, PAYLOAD__SalvarAssinaturaArtista, PAYLOAD__SalvarCasoSimplesProjeto3D, PAYLOAD__SalvarConfiguracaoPatentesTestePericia, PAYLOAD__SalvarConfiguracaoTestePericia, PAYLOAD__SalvarDesenhoFluxograma, PAYLOAD__SalvarMembrosSerJogavel, PAYLOAD__SalvarProjeto3D, PaletaCores, ParametrosAcaoMembroSerJogavel, PathArteCapaPadrao, PathAvatarPadrao, PermissaoItemMinimo, Projeto3DCapaArteImagemPersistida, Projeto3DCapaArteResumoPersistido, Projeto3DMinimoPersistido, Projeto3DResumoPersistido, SerJogavelMembrosPersistido, SerRegistroCriado, ShaderCenaCanonicaEditor3D, TextoCapaArteCenaCanonicaEditor3D, TipoMalhaCenaCanonicaEditor3D, TipoProjetoEditor3D, TipoVariavelAmbiente, TituloSessaoInteligente, VALORES_ATRIBUTOS_OBRIGATORIOS_CONFIGURACAO_TESTE_PERICIA, Vetor3CenaCanonicaEditor3D, adicionaProximoIntervaloConfiguracaoTestePericia, calculaIncrementosAcumuladosPatenteTestePericia, calculaValorMinimoTestePericia, concatenarDataEHoraEmNovaData, formataDataCompacta, minutosParaMs, momentoParaMinutos, obtemDiaDaSemanaPorExtensoPorDDS, obtemIntervaloConfiguradoTestePericia, pluralize, projetaConfiguracaoPatentesTestePericia, projetaConfiguracaoTestePericia, removeUltimoIntervaloOpcionalConfiguracaoTestePericia, validaConfiguracaoPatentesTestePericia, validaConfiguracaoTestePericia };
|