@hedhog/admin 0.11.1 → 0.12.2

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.
Files changed (54) hide show
  1. package/{hedhog.yaml → bkp.hedhog.yaml} +1012 -814
  2. package/dist/auth/consts/body.js +23 -23
  3. package/package.json +43 -43
  4. package/src/admin.module.ts +37 -37
  5. package/src/auth/auth.controller.ts +72 -72
  6. package/src/auth/auth.module.ts +39 -39
  7. package/src/auth/auth.service.spec.ts +196 -196
  8. package/src/auth/auth.service.ts +234 -234
  9. package/src/auth/consts/body.ts +26 -26
  10. package/src/auth/consts/subject.ts +1 -1
  11. package/src/auth/dto/forget.dto.ts +6 -6
  12. package/src/auth/dto/login.dto.ts +15 -15
  13. package/src/auth/dto/otp.dto.ts +11 -11
  14. package/src/auth/dto/reset.dto.ts +14 -14
  15. package/src/auth/enums/multifactor-type.enum.ts +4 -4
  16. package/src/auth/guards/auth.guard.ts +50 -50
  17. package/src/auth/types/user.type.ts +8 -8
  18. package/src/dto/delete.dto.ts +8 -8
  19. package/src/dto/update-ids.dto.ts +9 -9
  20. package/src/index.ts +20 -20
  21. package/src/menu/dto/create.dto.ts +25 -25
  22. package/src/menu/dto/order.dto.ts +8 -8
  23. package/src/menu/dto/update.dto.ts +19 -19
  24. package/src/menu/menu.controller.ts +105 -105
  25. package/src/menu/menu.module.ts +18 -18
  26. package/src/menu/menu.service.spec.ts +247 -247
  27. package/src/menu/menu.service.ts +263 -263
  28. package/src/role/dto/create.dto.ts +7 -7
  29. package/src/role/dto/update.dto.ts +4 -4
  30. package/src/role/guards/role.guard.ts +123 -123
  31. package/src/role/role.controller.ts +126 -126
  32. package/src/role/role.module.ts +28 -28
  33. package/src/role/role.service.spec.ts +417 -417
  34. package/src/role/role.service.ts +289 -289
  35. package/src/route/dto/create.dto.ts +13 -13
  36. package/src/route/dto/update.dto.ts +15 -15
  37. package/src/route/route.controller.ts +91 -91
  38. package/src/route/route.module.ts +18 -18
  39. package/src/route/route.service.spec.ts +300 -300
  40. package/src/route/route.service.ts +164 -164
  41. package/src/screen/dto/create.dto.ts +11 -11
  42. package/src/screen/dto/update.dto.ts +19 -19
  43. package/src/screen/screen.controller.ts +93 -93
  44. package/src/screen/screen.module.ts +18 -18
  45. package/src/screen/screen.service.spec.ts +298 -298
  46. package/src/screen/screen.service.ts +179 -179
  47. package/src/types/http-method.ts +8 -8
  48. package/src/user/constants/user.constants.ts +1 -1
  49. package/src/user/dto/create.dto.ts +24 -24
  50. package/src/user/dto/update.dto.ts +41 -41
  51. package/src/user/user.controller.ts +75 -75
  52. package/src/user/user.module.ts +18 -18
  53. package/src/user/user.service.spec.ts +294 -294
  54. package/src/user/user.service.ts +129 -129
@@ -1,814 +1,1012 @@
1
- data:
2
- route:
3
- - url: /auth/verify
4
- method: GET
5
- - url: /menu/system
6
- method: GET
7
- - url: /menu
8
- method: GET
9
- - url: /menu/:menuId/role
10
- method: GET
11
- - url: /menu/:menuId/screen
12
- method: GET
13
- - url: /menu/:menuId/role
14
- method: PATCH
15
- - url: /menu/:menuId/screen
16
- method: PATCH
17
- - url: /menu/:menuId
18
- method: GET
19
- - url: /menu
20
- method: POST
21
- - url: /menu/:menuId
22
- method: PATCH
23
- - url: /menu
24
- method: DELETE
25
- - url: /menu/order
26
- method: PATCH
27
- - url: /role
28
- method: GET
29
- - url: /role/:roleId/user
30
- method: GET
31
- - url: /role/:roleId/menu
32
- method: GET
33
- - url: /role/:roleId/route
34
- method: GET
35
- - url: /role/:roleId/screen
36
- method: GET
37
- - url: /role/:roleId/user
38
- method: PATCH
39
- - url: /role/:roleId/menu
40
- method: PATCH
41
- - url: /role/:roleId/route
42
- method: PATCH
43
- - url: /role/:roleId/screen
44
- method: PATCH
45
- - url: /role/:roleId
46
- method: GET
47
- - url: /role
48
- method: POST
49
- - url: /role/:roleId
50
- method: PATCH
51
- - url: /role
52
- method: DELETE
53
- - url: /route
54
- method: GET
55
- - url: /route/:routeId
56
- method: GET
57
- - url: /route
58
- method: POST
59
- - url: /route/:routeId
60
- method: PATCH
61
- - url: /route
62
- method: DELETE
63
- - url: /route/:routeId/role
64
- method: GET
65
- - url: /route/:routeId/role
66
- method: PATCH
67
- - url: /route/:routeId/screen
68
- method: GET
69
- - url: /route/:routeId/screen
70
- method: PATCH
71
- - url: /screen
72
- method: GET
73
- - url: /screen/:screenId/role
74
- method: GET
75
- - url: /screen/:screenId/route
76
- method: GET
77
- - url: /screen/:screenId/role
78
- method: PATCH
79
- - url: /screen/:screenId/route
80
- method: PATCH
81
- - url: /screen/:screenId
82
- method: GET
83
- - url: /screen
84
- method: POST
85
- - url: /screen/:screenId
86
- method: PATCH
87
- - url: /screen
88
- method: DELETE
89
- - url: /setting
90
- method: GET
91
- - url: /setting/group/:slug
92
- method: GET
93
- - url: /setting/group
94
- method: GET
95
- - url: /setting/:settingId
96
- method: GET
97
- - url: /setting
98
- method: POST
99
- - url: /setting
100
- method: PUT
101
- - url: /setting/:slug
102
- method: PUT
103
- - url: /setting/user/:slug
104
- method: PUT
105
- - url: /setting/:settingId
106
- method: PATCH
107
- - url: /setting
108
- method: DELETE
109
- - url: /user
110
- method: GET
111
- - url: /user/:userId/role
112
- method: GET
113
- - url: /user/:userId/role
114
- method: PATCH
115
- - url: /user/:userId
116
- method: GET
117
- - url: /user
118
- method: POST
119
- - url: /user/:userId
120
- method: PATCH
121
- - url: /user
122
- method: DELETE
123
- - url: /locale
124
- method: GET
125
- - url: /locale/:localeId
126
- method: GET
127
- - url: /locale
128
- method: POST
129
- - url: /locale
130
- method: PUT
131
- - url: /locale/:localeId
132
- method: PATCH
133
- - url: /locale
134
- method: DELETE
135
- - url: /file
136
- method: GET
137
- - url: /file/:id
138
- method: GET
139
- - url: /file/download/:token
140
- method: GET
141
- - url: /file/download/:id
142
- method: PUT
143
- - url: /file
144
- method: POST
145
- - url: /file
146
- method: DELETE
147
-
148
- menu:
149
- - url: /
150
- icon: dashboard
151
- name:
152
- en: Dashboard
153
- pt: Dashboard
154
- slug: /
155
- - url: /management
156
- icon: settings-2
157
- name:
158
- en: Management
159
- pt: Gerenciamento
160
- slug: /management
161
- - menu_id:
162
- where:
163
- slug: /management
164
- url: /management/user
165
- icon: user
166
- name:
167
- en: User
168
- pt: Usuários
169
- slug: /management/user
170
- - menu_id:
171
- where:
172
- slug: /management
173
- url: /management/role
174
- icon: circles
175
- name:
176
- en: Role
177
- pt: Cargos
178
- slug: /management/role
179
- - menu_id:
180
- where:
181
- slug: /management
182
- url: /management/screen
183
- icon: device-tv
184
- name:
185
- en: Screen
186
- pt: Telas
187
- slug: /management/screen
188
- - menu_id:
189
- where:
190
- slug: /management
191
- url: /management/menu
192
- icon: menu
193
- name:
194
- en: Menu
195
- pt: Menu
196
- slug: /management/menu
197
- - menu_id:
198
- where:
199
- slug: /management
200
- url: /management/route
201
- icon: route
202
- name:
203
- en: Route
204
- pt: Rotas
205
- slug: /management/route
206
- - url: /management/setting
207
- icon: settings
208
- name:
209
- en: Setting
210
- pt: Configurações
211
- slug: /management/setting
212
- - menu_id:
213
- where:
214
- slug: /management
215
- slug: /settings
216
- icon: settings
217
- name:
218
- en: Settings
219
- pt: Configurações
220
- - menu_id:
221
- where:
222
- slug: /settings
223
- name:
224
- en: Setting Group
225
- pt: Grupo de Configuração
226
- icon: settings
227
- url: /settings/setting-group
228
- slug: /settings/setting-group
229
- - menu_id:
230
- where:
231
- slug: /settings
232
- name:
233
- en: Setting User
234
- pt: Configuração de Usuário
235
- icon: user-cog
236
- url: /settings/setting-user
237
- slug: /settings/setting-user
238
- - menu_id:
239
- where:
240
- slug: /settings
241
- name:
242
- en: Locale
243
- pt: Locale
244
- icon: world
245
- url: /settings/locale
246
- slug: /settings/locale
247
- screen:
248
- - slug: /management/user
249
- icon: user
250
- name:
251
- en: User
252
- pt: Usuários
253
- description:
254
- en: Manage user in the system.
255
- pt: Gerenciar usuários no sistema.
256
- relations:
257
- route:
258
- - where:
259
- url:
260
- like: /user%
261
- - slug: /management/role
262
- icon: circles
263
- name:
264
- en: Role
265
- pt: Funções
266
- description:
267
- en: Manage role assigned to user.
268
- pt: Gerenciar funções atribuídas a usuários.
269
- relations:
270
- route:
271
- - where:
272
- url:
273
- like: /role%
274
- - slug: /management/screen
275
- icon: device-tv
276
- name:
277
- en: Screen
278
- pt: Telas
279
- description:
280
- en: Manage the screen available in the system.
281
- pt: Gerenciar as telas disponíveis no sistema.
282
- relations:
283
- route:
284
- - where:
285
- url:
286
- like: /screen%
287
- - slug: /management/menu
288
- icon: menu
289
- name:
290
- en: Menu
291
- pt: Menu
292
- description:
293
- en: Manage the menu in the system.
294
- pt: Gerenciar os menu no sistema.
295
- relations:
296
- route:
297
- - where:
298
- url:
299
- like: /menu%
300
- - slug: /management/route
301
- icon: route
302
- name:
303
- en: Route
304
- pt: Rotas
305
- description:
306
- en: Manage route for navigation within the system.
307
- pt: Gerenciar rotas para navegação dentro do sistema.
308
- relations:
309
- route:
310
- - where:
311
- url:
312
- like: /route%
313
- - slug: /management/setting
314
- icon: settings
315
- name:
316
- en: Setting
317
- pt: Configurações
318
- description:
319
- en: Manage system setting and configurations.
320
- pt: Gerenciar configurações e definições do sistema.
321
- relations:
322
- route:
323
- - where:
324
- url:
325
- like: /setting%
326
- - name:
327
- en: Setting Group
328
- pt: Grupo de Configuração
329
- slug: /settings/setting-group
330
- description:
331
- en: Screen to manage a group of settings
332
- pt: Tela para gerenciar grupo de configurações
333
- icon: file
334
- - name:
335
- en: Setting User
336
- pt: Configuração de Usuário
337
- slug: /settings/setting-user
338
- description:
339
- en: Screen to manage user settings
340
- pt: Tela para gerenciar configurações de usuário
341
- icon: file
342
- - name:
343
- en: Locale
344
- pt: Locale
345
- slug: /settings/locale
346
- description:
347
- en: Screen to manage locale
348
- pt: Tela para gerenciar localização/tradução
349
- icon: file
350
- relations:
351
- route:
352
- - where:
353
- url:
354
- like: /locale%
355
-
356
- multifactor:
357
- - name:
358
- en: Email
359
- pt: E-mail
360
- slug: email
361
- - name:
362
- en: Authenticator
363
- pt: Autenticador
364
- slug: authenticator
365
- user:
366
- - name: Administrator
367
- email: root@hedhog.com
368
- password:
369
- hash: changeme
370
- - name: User
371
- email: user@hedhog.com
372
- password:
373
- hash: changeme
374
- role:
375
- - slug: admin
376
- name:
377
- en: Administrator
378
- pt: Administrador
379
- description:
380
- en: System administrator with full access.
381
- pt: Administrador do sistema com acesso total.
382
- relations:
383
- user:
384
- - where:
385
- email: root@hedhog.com
386
- menu:
387
- - where:
388
- id:
389
- gte: 0
390
- route:
391
- - where:
392
- id:
393
- gte: 0
394
- screen:
395
- - where:
396
- id:
397
- gte: 0
398
- - slug: screen-manager
399
- name:
400
- en: Screen Manager
401
- pt: Gerente de Telas
402
- description:
403
- en: Manage screen in the system.
404
- pt: Gerenciar telas no sistema.
405
- relations:
406
- user:
407
- - where:
408
- email: user@hedhog.com
409
- route:
410
- - where:
411
- url:
412
- like: /screen%
413
- menu:
414
- - where:
415
- slug: /
416
- - slug: admin-access
417
- name:
418
- en: Admin Access
419
- pt: Acesso de Administrador
420
- description:
421
- en: Access to administrative features.
422
- pt: Acesso a funcionalidades administrativas.
423
- relations:
424
- user:
425
- - where:
426
- email: root@hedhog.com
427
- - where:
428
- email: user@hedhog.com
429
- route:
430
- - where:
431
- method: GET
432
- url:
433
- in:
434
- - /menu/system
435
- - /auth/verify
436
- - /setting/group/:slug
437
- - /setting/group
438
- - where:
439
- method: PUT
440
- url:
441
- in:
442
- - /setting/:slug
443
-
444
- translation_namespace:
445
- - name: translation
446
- relations:
447
- translation:
448
- - locale_id:
449
- where:
450
- code: en
451
- name: slogan
452
- value: Administration Panel
453
- - locale_id:
454
- where:
455
- code: pt
456
- name: slogan
457
- value: Painel de Administração
458
- - locale_id:
459
- where:
460
- code: en
461
- name: en
462
- value: English
463
- - locale_id:
464
- where:
465
- code: en
466
- name: pt
467
- value: Portuguese
468
- - locale_id:
469
- where:
470
- code: pt
471
- name: en
472
- value: Inglês
473
- - locale_id:
474
- where:
475
- code: pt
476
- name: pt
477
- value: Português
478
-
479
- tables:
480
- translation_namespace:
481
- columns:
482
- - type: pk
483
- - name: name
484
- - type: created_at
485
- - type: updated_at
486
- ifNotExists: true
487
- translation:
488
- columns:
489
- - type: pk
490
- - name: locale_id
491
- type: fk
492
- references:
493
- table: locale
494
- column: id
495
- onDelete: CASCADE
496
- - name: namespace_id
497
- type: fk
498
- references:
499
- table: translation_namespace
500
- column: id
501
- onDelete: CASCADE
502
- - name: name
503
- - name: value
504
- - type: created_at
505
- - type: updated_at
506
- indices:
507
- - columns:
508
- - locale_id
509
- - namespace_id
510
- - name
511
- isUnique: true
512
- ifNotExists: true
513
- multifactor:
514
- columns:
515
- - type: pk
516
- - type: slug
517
- - type: created_at
518
- - type: updated_at
519
- ifNotExists: true
520
- multifactor_locale:
521
- columns:
522
- - name: multifactor_id
523
- type: fk
524
- isPrimary: true
525
- references:
526
- table: multifactor
527
- column: id
528
- onDelete: CASCADE
529
- - name: locale_id
530
- type: fk
531
- isPrimary: true
532
- references:
533
- table: locale
534
- column: id
535
- onDelete: CASCADE
536
- - name: name
537
- - type: created_at
538
- - type: updated_at
539
- ifNotExists: true
540
- user:
541
- columns:
542
- - type: pk
543
- - name: multifactor_id
544
- type: fk
545
- isNullable: true
546
- references:
547
- table: multifactor
548
- column: id
549
- onDelete: SET NULL
550
- - name: name
551
- - name: email
552
- - name: password
553
- - name: code
554
- isNullable: true
555
- - type: created_at
556
- - type: updated_at
557
- ifNotExists: true
558
- screen:
559
- columns:
560
- - type: pk
561
- - type: slug
562
- - name: icon
563
- isNullable: true
564
- - type: created_at
565
- - type: updated_at
566
- ifNotExists: true
567
- screen_locale:
568
- columns:
569
- - name: screen_id
570
- type: fk
571
- isPrimary: true
572
- references:
573
- table: screen
574
- column: id
575
- onDelete: CASCADE
576
- - name: locale_id
577
- type: fk
578
- isPrimary: true
579
- references:
580
- table: locale
581
- column: id
582
- onDelete: CASCADE
583
- - name: name
584
- - name: description
585
- - type: created_at
586
- - type: updated_at
587
- ifNotExists: true
588
- menu:
589
- columns:
590
- - type: pk
591
- - name: menu_id
592
- type: fk
593
- isNullable: true
594
- references:
595
- table: menu
596
- column: id
597
- onDelete: CASCADE
598
- - type: slug
599
- - name: url
600
- isNullable: true
601
- - type: order
602
- - name: icon
603
- isNullable: true
604
- - type: created_at
605
- - type: updated_at
606
- ifNotExists: true
607
- menu_locale:
608
- columns:
609
- - name: menu_id
610
- type: fk
611
- isPrimary: true
612
- references:
613
- table: menu
614
- column: id
615
- onDelete: CASCADE
616
- - name: locale_id
617
- type: fk
618
- isPrimary: true
619
- references:
620
- table: locale
621
- column: id
622
- onDelete: CASCADE
623
- - name: name
624
- - type: created_at
625
- - type: updated_at
626
- ifNotExists: true
627
- menu_screen:
628
- columns:
629
- - name: menu_id
630
- type: fk
631
- isPrimary: true
632
- references:
633
- table: menu
634
- column: id
635
- onDelete: CASCADE
636
- - name: screen_id
637
- type: fk
638
- isPrimary: true
639
- references:
640
- table: screen
641
- column: id
642
- onDelete: CASCADE
643
- ifNotExists: true
644
- route:
645
- columns:
646
- - type: pk
647
- - name: url
648
- - name: method
649
- type: enum
650
- enum:
651
- - GET
652
- - POST
653
- - PATCH
654
- - DELETE
655
- - PUT
656
- - OPTIONS
657
- - HEAD
658
- - name: description
659
- isNullable: true
660
- - type: created_at
661
- - type: updated_at
662
- indices:
663
- - columns: ['url', 'method']
664
- isUnique: true
665
- ifNotExists: true
666
- role:
667
- columns:
668
- - type: pk
669
- - type: slug
670
- - type: created_at
671
- - type: updated_at
672
- ifNotExists: true
673
- role_locale:
674
- columns:
675
- - name: role_id
676
- type: fk
677
- isPrimary: true
678
- references:
679
- table: role
680
- column: id
681
- onDelete: CASCADE
682
- - name: locale_id
683
- type: fk
684
- isPrimary: true
685
- references:
686
- table: locale
687
- column: id
688
- onDelete: CASCADE
689
- - name: name
690
- - name: description
691
- - type: created_at
692
- - type: updated_at
693
- ifNotExists: true
694
- role_menu:
695
- columns:
696
- - name: role_id
697
- type: fk
698
- isPrimary: true
699
- references:
700
- table: role
701
- column: id
702
- onDelete: CASCADE
703
- - name: menu_id
704
- type: fk
705
- isPrimary: true
706
- references:
707
- table: menu
708
- column: id
709
- onDelete: CASCADE
710
- - type: created_at
711
- - type: updated_at
712
- ifNotExists: true
713
- route_screen:
714
- columns:
715
- - name: route_id
716
- type: fk
717
- isPrimary: true
718
- references:
719
- table: route
720
- column: id
721
- onDelete: CASCADE
722
- - name: screen_id
723
- type: fk
724
- isPrimary: true
725
- references:
726
- table: screen
727
- column: id
728
- onDelete: CASCADE
729
- - type: created_at
730
- - type: updated_at
731
- ifNotExists: true
732
-
733
- role_screen:
734
- columns:
735
- - name: role_id
736
- type: fk
737
- isPrimary: true
738
- references:
739
- table: role
740
- column: id
741
- onDelete: CASCADE
742
- - name: screen_id
743
- type: fk
744
- isPrimary: true
745
- references:
746
- table: screen
747
- column: id
748
- onDelete: CASCADE
749
- - type: created_at
750
- - type: updated_at
751
- ifNotExists: true
752
-
753
- role_user:
754
- columns:
755
- - name: role_id
756
- type: fk
757
- isPrimary: true
758
- references:
759
- table: role
760
- column: id
761
- onDelete: CASCADE
762
- - name: user_id
763
- type: fk
764
- isPrimary: true
765
- references:
766
- table: user
767
- column: id
768
- onDelete: CASCADE
769
- - type: created_at
770
- - type: updated_at
771
- ifNotExists: true
772
-
773
- role_route:
774
- columns:
775
- - name: role_id
776
- type: fk
777
- isPrimary: true
778
- references:
779
- table: role
780
- column: id
781
- onDelete: CASCADE
782
- - name: route_id
783
- type: fk
784
- isPrimary: true
785
- references:
786
- table: route
787
- column: id
788
- onDelete: CASCADE
789
- - type: created_at
790
- - type: updated_at
791
- ifNotExists: true
792
-
793
- setting_user:
794
- columns:
795
- - name: user_id
796
- type: fk
797
- isPrimary: true
798
- references:
799
- table: user
800
- column: id
801
- onDelete: CASCADE
802
- - name: setting_id
803
- type: fk
804
- isPrimary: true
805
- references:
806
- table: setting
807
- column: id
808
- onDelete: CASCADE
809
- - name: value
810
- length: 1023
811
- isNullable: true
812
- - type: created_at
813
- - type: updated_at
814
- ifNotExists: true
1
+ data:
2
+ route:
3
+ - url: /auth/verify
4
+ method: GET
5
+ - url: /menu/system
6
+ method: GET
7
+ - url: /menu
8
+ method: GET
9
+ - url: /menu/:menuId/role
10
+ method: GET
11
+ - url: /menu/:menuId/screen
12
+ method: GET
13
+ - url: /menu/:menuId/role
14
+ method: PATCH
15
+ - url: /menu/:menuId/screen
16
+ method: PATCH
17
+ - url: /menu/:menuId
18
+ method: GET
19
+ - url: /menu
20
+ method: POST
21
+ - url: /menu/:menuId
22
+ method: PATCH
23
+ - url: /menu
24
+ method: DELETE
25
+ - url: /menu/order
26
+ method: PATCH
27
+ - url: /role
28
+ method: GET
29
+ - url: /role/:roleId/user
30
+ method: GET
31
+ - url: /role/:roleId/menu
32
+ method: GET
33
+ - url: /role/:roleId/route
34
+ method: GET
35
+ - url: /role/:roleId/screen
36
+ method: GET
37
+ - url: /role/:roleId/user
38
+ method: PATCH
39
+ - url: /role/:roleId/menu
40
+ method: PATCH
41
+ - url: /role/:roleId/route
42
+ method: PATCH
43
+ - url: /role/:roleId/screen
44
+ method: PATCH
45
+ - url: /role/:roleId
46
+ method: GET
47
+ - url: /role
48
+ method: POST
49
+ - url: /role/:roleId
50
+ method: PATCH
51
+ - url: /role
52
+ method: DELETE
53
+ - url: /route
54
+ method: GET
55
+ - url: /route/:routeId
56
+ method: GET
57
+ - url: /route
58
+ method: POST
59
+ - url: /route/:routeId
60
+ method: PATCH
61
+ - url: /route
62
+ method: DELETE
63
+ - url: /route/:routeId/role
64
+ method: GET
65
+ - url: /route/:routeId/role
66
+ method: PATCH
67
+ - url: /route/:routeId/screen
68
+ method: GET
69
+ - url: /route/:routeId/screen
70
+ method: PATCH
71
+ - url: /screen
72
+ method: GET
73
+ - url: /screen/:screenId/role
74
+ method: GET
75
+ - url: /screen/:screenId/route
76
+ method: GET
77
+ - url: /screen/:screenId/role
78
+ method: PATCH
79
+ - url: /screen/:screenId/route
80
+ method: PATCH
81
+ - url: /screen/:screenId
82
+ method: GET
83
+ - url: /screen
84
+ method: POST
85
+ - url: /screen/:screenId
86
+ method: PATCH
87
+ - url: /screen
88
+ method: DELETE
89
+ - url: /setting
90
+ method: GET
91
+ - url: /setting/group/:slug
92
+ method: GET
93
+ - url: /setting/group
94
+ method: GET
95
+ - url: /setting/:settingId
96
+ method: GET
97
+ - url: /setting
98
+ method: POST
99
+ - url: /setting
100
+ method: PUT
101
+ - url: /setting/:slug
102
+ method: PUT
103
+ - url: /setting/user/:slug
104
+ method: PUT
105
+ - url: /setting/:settingId
106
+ method: PATCH
107
+ - url: /setting
108
+ method: DELETE
109
+ - url: /user
110
+ method: GET
111
+ - url: /user/:userId/role
112
+ method: GET
113
+ - url: /user/:userId/role
114
+ method: PATCH
115
+ - url: /user/:userId
116
+ method: GET
117
+ - url: /user
118
+ method: POST
119
+ - url: /user/:userId
120
+ method: PATCH
121
+ - url: /user
122
+ method: DELETE
123
+ - url: /locale
124
+ method: GET
125
+ - url: /locale/:localeId
126
+ method: GET
127
+ - url: /locale
128
+ method: POST
129
+ - url: /locale
130
+ method: PUT
131
+ - url: /locale/:localeId
132
+ method: PATCH
133
+ - url: /locale
134
+ method: DELETE
135
+ - url: /file
136
+ method: GET
137
+ - url: /file/:id
138
+ method: GET
139
+ - url: /file/download/:token
140
+ method: GET
141
+ - url: /file/download/:id
142
+ method: PUT
143
+ - url: /file
144
+ method: POST
145
+ - url: /file
146
+ method: DELETE
147
+ - url: /translation-namespace
148
+ method: GET
149
+ relations: &a1
150
+ role:
151
+ - where:
152
+ slug: admin
153
+ - url: /translation-namespace
154
+ method: POST
155
+ relations: *a1
156
+ - url: /translation-namespace/:id
157
+ method: GET
158
+ relations: *a1
159
+ - url: /translation-namespace/:id
160
+ method: PATCH
161
+ relations: *a1
162
+ - url: /translation-namespace
163
+ method: DELETE
164
+ relations: *a1
165
+ - url: /translation
166
+ method: GET
167
+ relations: &a2
168
+ role:
169
+ - where:
170
+ slug: admin
171
+ - url: /translation
172
+ method: POST
173
+ relations: *a2
174
+ - url: /translation/:id
175
+ method: GET
176
+ relations: *a2
177
+ - url: /translation/:id
178
+ method: PATCH
179
+ relations: *a2
180
+ - url: /translation
181
+ method: DELETE
182
+ relations: *a2
183
+ - url: /multifactor
184
+ method: GET
185
+ relations: &a3
186
+ role:
187
+ - where:
188
+ slug: admin
189
+ - url: /multifactor
190
+ method: POST
191
+ relations: *a3
192
+ - url: /multifactor/:id
193
+ method: GET
194
+ relations: *a3
195
+ - url: /multifactor/:id
196
+ method: PATCH
197
+ relations: *a3
198
+ - url: /multifactor
199
+ method: DELETE
200
+ relations: *a3
201
+ - url: /user/:id
202
+ method: GET
203
+ relations: &a4
204
+ role:
205
+ - where:
206
+ slug: admin
207
+ - url: /user/:id
208
+ method: PATCH
209
+ relations: *a4
210
+ - url: /screen/:id
211
+ method: GET
212
+ relations: &a5
213
+ role:
214
+ - where:
215
+ slug: admin
216
+ - url: /screen/:id
217
+ method: PATCH
218
+ relations: *a5
219
+ - url: /menu/:id
220
+ method: GET
221
+ relations: &a6
222
+ role:
223
+ - where:
224
+ slug: admin
225
+ - url: /menu/:id
226
+ method: PATCH
227
+ relations: *a6
228
+ - url: /menu-screen
229
+ method: GET
230
+ relations: &a7
231
+ role:
232
+ - where:
233
+ slug: admin
234
+ - url: /menu-screen
235
+ method: POST
236
+ relations: *a7
237
+ - url: /menu-screen/:menu_id
238
+ method: GET
239
+ relations: *a7
240
+ - url: /menu-screen/:menu_id
241
+ method: PATCH
242
+ relations: *a7
243
+ - url: /menu-screen
244
+ method: DELETE
245
+ relations: *a7
246
+ menu:
247
+ - url: /
248
+ icon: dashboard
249
+ name:
250
+ en: Dashboard
251
+ pt: Dashboard
252
+ slug: /
253
+ - url: /management
254
+ icon: settings-2
255
+ name:
256
+ en: Management
257
+ pt: Gerenciamento
258
+ slug: /management
259
+ - menu_id:
260
+ where:
261
+ slug: /management
262
+ url: /management/user
263
+ icon: user
264
+ name:
265
+ en: User
266
+ pt: Usuários
267
+ slug: /management/user
268
+ - menu_id:
269
+ where:
270
+ slug: /management
271
+ url: /management/role
272
+ icon: circles
273
+ name:
274
+ en: Role
275
+ pt: Cargos
276
+ slug: /management/role
277
+ - menu_id:
278
+ where:
279
+ slug: /management
280
+ url: /management/screen
281
+ icon: device-tv
282
+ name:
283
+ en: Screen
284
+ pt: Telas
285
+ slug: /management/screen
286
+ - menu_id:
287
+ where:
288
+ slug: /management
289
+ url: /management/menu
290
+ icon: menu
291
+ name:
292
+ en: Menu
293
+ pt: Menu
294
+ slug: /management/menu
295
+ - menu_id:
296
+ where:
297
+ slug: /management
298
+ url: /management/route
299
+ icon: route
300
+ name:
301
+ en: Route
302
+ pt: Rotas
303
+ slug: /management/route
304
+ - url: /management/setting
305
+ icon: settings
306
+ name:
307
+ en: Setting
308
+ pt: Configurações
309
+ slug: /management/setting
310
+ - menu_id:
311
+ where:
312
+ slug: /management
313
+ slug: /settings
314
+ icon: settings
315
+ name:
316
+ en: Settings
317
+ pt: Configurações
318
+ - menu_id:
319
+ where:
320
+ slug: /settings
321
+ name:
322
+ en: Setting Group
323
+ pt: Grupo de Configuração
324
+ icon: settings
325
+ url: /settings/setting-group
326
+ slug: /settings/setting-group
327
+ - menu_id:
328
+ where:
329
+ slug: /settings
330
+ name:
331
+ en: Setting User
332
+ pt: Configuração de Usuário
333
+ icon: user-cog
334
+ url: /settings/setting-user
335
+ slug: /settings/setting-user
336
+ - menu_id:
337
+ where:
338
+ slug: /settings
339
+ name:
340
+ en: Locale
341
+ pt: Locale
342
+ icon: world
343
+ url: /settings/locale
344
+ slug: /settings/locale
345
+ - name:
346
+ en: TranslationNamespace
347
+ pt: TranslationNamespace
348
+ icon: file
349
+ url: /translation-namespace
350
+ slug: translation-namespace
351
+ relations: *a1
352
+ - name:
353
+ en: Translation
354
+ pt: Translation
355
+ icon: file
356
+ url: /translation
357
+ slug: translation
358
+ relations: *a2
359
+ - name:
360
+ en: Multifactor
361
+ pt: Multifactor
362
+ icon: file
363
+ url: /multifactor
364
+ slug: multifactor
365
+ relations: *a3
366
+ - name:
367
+ en: User
368
+ pt: User
369
+ icon: file
370
+ url: /user
371
+ slug: user
372
+ relations: *a4
373
+ - name:
374
+ en: Screen
375
+ pt: Screen
376
+ icon: file
377
+ url: /screen
378
+ slug: screen
379
+ relations: *a5
380
+ - name:
381
+ en: Menu
382
+ pt: Menu
383
+ icon: file
384
+ url: /menu
385
+ slug: menu
386
+ relations: *a6
387
+ - name:
388
+ en: MenuScreen
389
+ pt: MenuScreen
390
+ icon: file
391
+ url: /menu-screen
392
+ slug: menu-screen
393
+ relations: *a7
394
+ screen:
395
+ - slug: /management/user
396
+ icon: user
397
+ name:
398
+ en: User
399
+ pt: Usuários
400
+ description:
401
+ en: Manage user in the system.
402
+ pt: Gerenciar usuários no sistema.
403
+ relations:
404
+ route:
405
+ - where:
406
+ url:
407
+ like: /user%
408
+ - slug: /management/role
409
+ icon: circles
410
+ name:
411
+ en: Role
412
+ pt: Funções
413
+ description:
414
+ en: Manage role assigned to user.
415
+ pt: Gerenciar funções atribuídas a usuários.
416
+ relations:
417
+ route:
418
+ - where:
419
+ url:
420
+ like: /role%
421
+ - slug: /management/screen
422
+ icon: device-tv
423
+ name:
424
+ en: Screen
425
+ pt: Telas
426
+ description:
427
+ en: Manage the screen available in the system.
428
+ pt: Gerenciar as telas disponíveis no sistema.
429
+ relations:
430
+ route:
431
+ - where:
432
+ url:
433
+ like: /screen%
434
+ - slug: /management/menu
435
+ icon: menu
436
+ name:
437
+ en: Menu
438
+ pt: Menu
439
+ description:
440
+ en: Manage the menu in the system.
441
+ pt: Gerenciar os menu no sistema.
442
+ relations:
443
+ route:
444
+ - where:
445
+ url:
446
+ like: /menu%
447
+ - slug: /management/route
448
+ icon: route
449
+ name:
450
+ en: Route
451
+ pt: Rotas
452
+ description:
453
+ en: Manage route for navigation within the system.
454
+ pt: Gerenciar rotas para navegação dentro do sistema.
455
+ relations:
456
+ route:
457
+ - where:
458
+ url:
459
+ like: /route%
460
+ - slug: /management/setting
461
+ icon: settings
462
+ name:
463
+ en: Setting
464
+ pt: Configurações
465
+ description:
466
+ en: Manage system setting and configurations.
467
+ pt: Gerenciar configurações e definições do sistema.
468
+ relations:
469
+ route:
470
+ - where:
471
+ url:
472
+ like: /setting%
473
+ - name:
474
+ en: Setting Group
475
+ pt: Grupo de Configuração
476
+ slug: /settings/setting-group
477
+ description:
478
+ en: Screen to manage a group of settings
479
+ pt: Tela para gerenciar grupo de configurações
480
+ icon: file
481
+ - name:
482
+ en: Setting User
483
+ pt: Configuração de Usuário
484
+ slug: /settings/setting-user
485
+ description:
486
+ en: Screen to manage user settings
487
+ pt: Tela para gerenciar configurações de usuário
488
+ icon: file
489
+ - name:
490
+ en: Locale
491
+ pt: Locale
492
+ slug: /settings/locale
493
+ description:
494
+ en: Screen to manage locale
495
+ pt: Tela para gerenciar localização/tradução
496
+ icon: file
497
+ relations:
498
+ route:
499
+ - where:
500
+ url:
501
+ like: /locale%
502
+ - name:
503
+ en: TranslationNamespace
504
+ pt: TranslationNamespace
505
+ slug: translation-namespace
506
+ description:
507
+ en: Screen to manage translation_namespace
508
+ pt: Tela para gerenciar translation_namespace
509
+ icon: file
510
+ - name:
511
+ en: Translation
512
+ pt: Translation
513
+ slug: translation
514
+ description:
515
+ en: Screen to manage translation
516
+ pt: Tela para gerenciar translation
517
+ icon: file
518
+ - name:
519
+ en: Multifactor
520
+ pt: Multifactor
521
+ slug: multifactor
522
+ description:
523
+ en: Screen to manage multifactor
524
+ pt: Tela para gerenciar multifactor
525
+ icon: file
526
+ - name:
527
+ en: User
528
+ pt: User
529
+ slug: user
530
+ description:
531
+ en: Screen to manage user
532
+ pt: Tela para gerenciar user
533
+ icon: file
534
+ - name:
535
+ en: Screen
536
+ pt: Screen
537
+ slug: screen
538
+ description:
539
+ en: Screen to manage screen
540
+ pt: Tela para gerenciar screen
541
+ icon: file
542
+ - name:
543
+ en: Menu
544
+ pt: Menu
545
+ slug: menu
546
+ description:
547
+ en: Screen to manage menu
548
+ pt: Tela para gerenciar menu
549
+ icon: file
550
+ - name:
551
+ en: MenuScreen
552
+ pt: MenuScreen
553
+ slug: menu-screen
554
+ description:
555
+ en: Screen to manage menu_screen
556
+ pt: Tela para gerenciar menu_screen
557
+ icon: file
558
+ multifactor:
559
+ - name:
560
+ en: Email
561
+ pt: E-mail
562
+ slug: email
563
+ - name:
564
+ en: Authenticator
565
+ pt: Autenticador
566
+ slug: authenticator
567
+ user:
568
+ - name: Administrator
569
+ email: root@hedhog.com
570
+ password:
571
+ hash: changeme
572
+ - name: User
573
+ email: user@hedhog.com
574
+ password:
575
+ hash: changeme
576
+ role:
577
+ - slug: admin
578
+ name:
579
+ en: Administrator
580
+ pt: Administrador
581
+ description:
582
+ en: System administrator with full access.
583
+ pt: Administrador do sistema com acesso total.
584
+ relations:
585
+ user:
586
+ - where:
587
+ email: root@hedhog.com
588
+ menu:
589
+ - where:
590
+ id:
591
+ gte: 0
592
+ route:
593
+ - where:
594
+ id:
595
+ gte: 0
596
+ screen:
597
+ - where:
598
+ id:
599
+ gte: 0
600
+ - slug: screen-manager
601
+ name:
602
+ en: Screen Manager
603
+ pt: Gerente de Telas
604
+ description:
605
+ en: Manage screen in the system.
606
+ pt: Gerenciar telas no sistema.
607
+ relations:
608
+ user:
609
+ - where:
610
+ email: user@hedhog.com
611
+ route:
612
+ - where:
613
+ url:
614
+ like: /screen%
615
+ menu:
616
+ - where:
617
+ slug: /
618
+ - slug: admin-access
619
+ name:
620
+ en: Admin Access
621
+ pt: Acesso de Administrador
622
+ description:
623
+ en: Access to administrative features.
624
+ pt: Acesso a funcionalidades administrativas.
625
+ relations:
626
+ user:
627
+ - where:
628
+ email: root@hedhog.com
629
+ - where:
630
+ email: user@hedhog.com
631
+ route:
632
+ - where:
633
+ method: GET
634
+ url:
635
+ in:
636
+ - /menu/system
637
+ - /auth/verify
638
+ - /setting/group/:slug
639
+ - /setting/group
640
+ - where:
641
+ method: PUT
642
+ url:
643
+ in:
644
+ - /setting/:slug
645
+ translation_namespace:
646
+ - name: translation
647
+ relations:
648
+ translation:
649
+ - locale_id:
650
+ where:
651
+ code: en
652
+ name: slogan
653
+ value: Administration Panel
654
+ - locale_id:
655
+ where:
656
+ code: pt
657
+ name: slogan
658
+ value: Painel de Administração
659
+ - locale_id:
660
+ where:
661
+ code: en
662
+ name: en
663
+ value: English
664
+ - locale_id:
665
+ where:
666
+ code: en
667
+ name: pt
668
+ value: Portuguese
669
+ - locale_id:
670
+ where:
671
+ code: pt
672
+ name: en
673
+ value: Inglês
674
+ - locale_id:
675
+ where:
676
+ code: pt
677
+ name: pt
678
+ value: Português
679
+ tables:
680
+ translation_namespace:
681
+ columns:
682
+ - type: pk
683
+ - name: name
684
+ - type: created_at
685
+ - type: updated_at
686
+ ifNotExists: true
687
+ translation:
688
+ columns:
689
+ - type: pk
690
+ - name: locale_id
691
+ type: fk
692
+ references:
693
+ table: locale
694
+ column: id
695
+ onDelete: CASCADE
696
+ - name: namespace_id
697
+ type: fk
698
+ references:
699
+ table: translation_namespace
700
+ column: id
701
+ onDelete: CASCADE
702
+ - name: name
703
+ - name: value
704
+ - type: created_at
705
+ - type: updated_at
706
+ indices:
707
+ - columns:
708
+ - locale_id
709
+ - namespace_id
710
+ - name
711
+ isUnique: true
712
+ ifNotExists: true
713
+ multifactor:
714
+ columns:
715
+ - type: pk
716
+ - type: slug
717
+ - type: created_at
718
+ - type: updated_at
719
+ ifNotExists: true
720
+ multifactor_locale:
721
+ columns:
722
+ - name: multifactor_id
723
+ type: fk
724
+ isPrimary: true
725
+ references:
726
+ table: multifactor
727
+ column: id
728
+ onDelete: CASCADE
729
+ - name: locale_id
730
+ type: fk
731
+ isPrimary: true
732
+ references:
733
+ table: locale
734
+ column: id
735
+ onDelete: CASCADE
736
+ - name: name
737
+ - type: created_at
738
+ - type: updated_at
739
+ ifNotExists: true
740
+ user:
741
+ columns:
742
+ - type: pk
743
+ - name: multifactor_id
744
+ type: fk
745
+ isNullable: true
746
+ references:
747
+ table: multifactor
748
+ column: id
749
+ onDelete: SET NULL
750
+ - name: name
751
+ - name: email
752
+ - name: password
753
+ - name: code
754
+ isNullable: true
755
+ - type: created_at
756
+ - type: updated_at
757
+ ifNotExists: true
758
+ screen:
759
+ columns:
760
+ - type: pk
761
+ - type: slug
762
+ - name: icon
763
+ isNullable: true
764
+ - type: created_at
765
+ - type: updated_at
766
+ ifNotExists: true
767
+ screen_locale:
768
+ columns:
769
+ - name: screen_id
770
+ type: fk
771
+ isPrimary: true
772
+ references:
773
+ table: screen
774
+ column: id
775
+ onDelete: CASCADE
776
+ - name: locale_id
777
+ type: fk
778
+ isPrimary: true
779
+ references:
780
+ table: locale
781
+ column: id
782
+ onDelete: CASCADE
783
+ - name: name
784
+ - name: description
785
+ - type: created_at
786
+ - type: updated_at
787
+ ifNotExists: true
788
+ menu:
789
+ columns:
790
+ - type: pk
791
+ - name: menu_id
792
+ type: fk
793
+ isNullable: true
794
+ references:
795
+ table: menu
796
+ column: id
797
+ onDelete: CASCADE
798
+ - type: slug
799
+ - name: url
800
+ isNullable: true
801
+ - type: order
802
+ - name: icon
803
+ isNullable: true
804
+ - type: created_at
805
+ - type: updated_at
806
+ ifNotExists: true
807
+ menu_locale:
808
+ columns:
809
+ - name: menu_id
810
+ type: fk
811
+ isPrimary: true
812
+ references:
813
+ table: menu
814
+ column: id
815
+ onDelete: CASCADE
816
+ - name: locale_id
817
+ type: fk
818
+ isPrimary: true
819
+ references:
820
+ table: locale
821
+ column: id
822
+ onDelete: CASCADE
823
+ - name: name
824
+ - type: created_at
825
+ - type: updated_at
826
+ ifNotExists: true
827
+ menu_screen:
828
+ columns:
829
+ - name: menu_id
830
+ type: fk
831
+ isPrimary: true
832
+ references:
833
+ table: menu
834
+ column: id
835
+ onDelete: CASCADE
836
+ - name: screen_id
837
+ type: fk
838
+ isPrimary: true
839
+ references:
840
+ table: screen
841
+ column: id
842
+ onDelete: CASCADE
843
+ ifNotExists: true
844
+ route:
845
+ columns:
846
+ - type: pk
847
+ - name: url
848
+ - name: method
849
+ type: enum
850
+ enum:
851
+ - GET
852
+ - POST
853
+ - PATCH
854
+ - DELETE
855
+ - PUT
856
+ - OPTIONS
857
+ - HEAD
858
+ - name: description
859
+ isNullable: true
860
+ - type: created_at
861
+ - type: updated_at
862
+ indices:
863
+ - columns:
864
+ - url
865
+ - method
866
+ isUnique: true
867
+ ifNotExists: true
868
+ role:
869
+ columns:
870
+ - type: pk
871
+ - type: slug
872
+ - type: created_at
873
+ - type: updated_at
874
+ ifNotExists: true
875
+ role_locale:
876
+ columns:
877
+ - name: role_id
878
+ type: fk
879
+ isPrimary: true
880
+ references:
881
+ table: role
882
+ column: id
883
+ onDelete: CASCADE
884
+ - name: locale_id
885
+ type: fk
886
+ isPrimary: true
887
+ references:
888
+ table: locale
889
+ column: id
890
+ onDelete: CASCADE
891
+ - name: name
892
+ - name: description
893
+ - type: created_at
894
+ - type: updated_at
895
+ ifNotExists: true
896
+ role_menu:
897
+ columns:
898
+ - name: role_id
899
+ type: fk
900
+ isPrimary: true
901
+ references:
902
+ table: role
903
+ column: id
904
+ onDelete: CASCADE
905
+ - name: menu_id
906
+ type: fk
907
+ isPrimary: true
908
+ references:
909
+ table: menu
910
+ column: id
911
+ onDelete: CASCADE
912
+ - type: created_at
913
+ - type: updated_at
914
+ ifNotExists: true
915
+ route_screen:
916
+ columns:
917
+ - name: route_id
918
+ type: fk
919
+ isPrimary: true
920
+ references:
921
+ table: route
922
+ column: id
923
+ onDelete: CASCADE
924
+ - name: screen_id
925
+ type: fk
926
+ isPrimary: true
927
+ references:
928
+ table: screen
929
+ column: id
930
+ onDelete: CASCADE
931
+ - type: created_at
932
+ - type: updated_at
933
+ ifNotExists: true
934
+ role_screen:
935
+ columns:
936
+ - name: role_id
937
+ type: fk
938
+ isPrimary: true
939
+ references:
940
+ table: role
941
+ column: id
942
+ onDelete: CASCADE
943
+ - name: screen_id
944
+ type: fk
945
+ isPrimary: true
946
+ references:
947
+ table: screen
948
+ column: id
949
+ onDelete: CASCADE
950
+ - type: created_at
951
+ - type: updated_at
952
+ ifNotExists: true
953
+ role_user:
954
+ columns:
955
+ - name: role_id
956
+ type: fk
957
+ isPrimary: true
958
+ references:
959
+ table: role
960
+ column: id
961
+ onDelete: CASCADE
962
+ - name: user_id
963
+ type: fk
964
+ isPrimary: true
965
+ references:
966
+ table: user
967
+ column: id
968
+ onDelete: CASCADE
969
+ - type: created_at
970
+ - type: updated_at
971
+ ifNotExists: true
972
+ role_route:
973
+ columns:
974
+ - name: role_id
975
+ type: fk
976
+ isPrimary: true
977
+ references:
978
+ table: role
979
+ column: id
980
+ onDelete: CASCADE
981
+ - name: route_id
982
+ type: fk
983
+ isPrimary: true
984
+ references:
985
+ table: route
986
+ column: id
987
+ onDelete: CASCADE
988
+ - type: created_at
989
+ - type: updated_at
990
+ ifNotExists: true
991
+ setting_user:
992
+ columns:
993
+ - name: user_id
994
+ type: fk
995
+ isPrimary: true
996
+ references:
997
+ table: user
998
+ column: id
999
+ onDelete: CASCADE
1000
+ - name: setting_id
1001
+ type: fk
1002
+ isPrimary: true
1003
+ references:
1004
+ table: setting
1005
+ column: id
1006
+ onDelete: CASCADE
1007
+ - name: value
1008
+ length: 1023
1009
+ isNullable: true
1010
+ - type: created_at
1011
+ - type: updated_at
1012
+ ifNotExists: true