forlogic-core 1.15.8 → 1.16.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.note/memory/components/action-button-for-tables.md +23 -0
- package/.note/memory/components/alertdialog-permanent-deletion.md +47 -0
- package/.note/memory/components/baseform-custom-fields.md +60 -0
- package/.note/memory/components/baseform-usage.md +43 -0
- package/.note/memory/components/delete-confirmation-dialog.md +48 -0
- package/.note/memory/components/dialog-sizes-and-structure.md +31 -0
- package/.note/memory/components/dialog-variants.md +44 -0
- package/.note/memory/components/pagination-usage.md +28 -0
- package/.note/memory/documentation/consolidated-components-registry.md +18 -0
- package/.note/memory/features/crud-standardized-config-props.md +3 -0
- package/.note/memory/features/import/attachment-strategy.md +18 -0
- package/.note/memory/patterns/body-content-scroll-usage.md +59 -0
- package/.note/memory/patterns/crud-action-bar-3-zone-layout.md +3 -0
- package/.note/memory/patterns/crud-bulk-actions-dropdown-standard.md +3 -0
- package/.note/memory/patterns/crud-toolbar-layout.md +26 -0
- package/.note/memory/patterns/dialog-body-scroll-pattern.md +27 -0
- package/.note/memory/patterns/single-scroll-pattern.md +22 -0
- package/.note/memory/patterns/spa-navigation-pattern.md +19 -0
- package/.note/memory/rules/no-auto-index-rule.md +20 -0
- package/.note/memory/rules/no-delete-policy-rule.md +23 -0
- package/.note/memory/rules/no-env-modification-rule.md +19 -0
- package/.note/memory/rules/supabase-schema-rule.md +19 -0
- package/README.md +8 -4
- package/dist/README.md +7 -4
- package/dist/assets/AccordionDoc-BnfxyOi9.js +31 -0
- package/dist/assets/ActionButtonDoc-b4F_J8gn.js +47 -0
- package/dist/assets/AlertDoc-PkiHguSJ.js +37 -0
- package/dist/assets/AppHeaderDoc-CsFMZGV0.js +67 -0
- package/dist/assets/AppSidebarDoc-Bg71N-zq.js +196 -0
- package/dist/assets/AuthDoc-DDm57y_J.js +192 -0
- package/dist/assets/AvatarDoc-C6wiZIZR.js +11 -0
- package/dist/assets/BadgeDoc-Bsg7cfm0.js +36 -0
- package/dist/assets/BaseFormDoc-DeIlV273.js +169 -0
- package/dist/assets/BodyContentDoc-Q3DGvyN9.js +83 -0
- package/dist/assets/BreadcrumbDoc-ChsVFjMF.js +75 -0
- package/dist/assets/ButtonDoc-C7Q31Bh3.js +41 -0
- package/dist/assets/ButtonGroupDoc-Bn5vhjBq.js +7 -0
- package/dist/assets/CalendarDoc-iVjNyxyr.js +81 -0
- package/dist/assets/CardDoc-D511dll7.js +49 -0
- package/dist/assets/ChartDoc-CQyYOEHL.js +111 -0
- package/dist/assets/CheckboxDoc-Cjsy4XAq.js +55 -0
- package/dist/assets/ColorPickerDoc-hnYJUWpF.js +10 -0
- package/dist/assets/ColorsFoundationDoc-B8Z4tAyZ.js +13 -0
- package/dist/assets/ComboTreeDoc-ChEbW4a3.js +21 -0
- package/dist/assets/ComboboxDoc-CHWeGE_F.js +134 -0
- package/dist/assets/ComponentDocTemplate-BtOCnlM2.js +1 -0
- package/dist/assets/ContextMenuDoc-C3mFO_Yx.js +182 -0
- package/dist/assets/ContextsDoc-ChEbQxom.js +184 -0
- package/dist/assets/CreateCrudPageDoc-C9tXisCF.js +106 -0
- package/dist/assets/CrudActionBarDoc-Cp1L4gpO.js +112 -0
- package/dist/assets/CrudGridDoc-D-kSFBAQ.js +85 -0
- package/dist/assets/CrudOverviewDoc-CeLBwg-B.js +14 -0
- package/dist/assets/CrudPrimitivesDoc-B2u1vZog.js +164 -0
- package/dist/assets/CrudTableDoc-CvV-II_X.js +95 -0
- package/dist/assets/DataListDoc-BLRii0jB.js +13 -0
- package/dist/assets/DesignSystemHome-TE0Ubaup.js +1 -0
- package/dist/assets/DialogDoc--LC5Jvat.js +981 -0
- package/dist/assets/DropdownMenuDoc-oPlEriRY.js +175 -0
- package/dist/assets/EmptyStateDoc-rNqfWKok.js +35 -0
- package/dist/assets/EnvironmentsDoc-CT7l5s2u.js +96 -0
- package/dist/assets/ErrorBoundaryDoc-rPHOUygA.js +111 -0
- package/dist/assets/ExampleCard-DfuMYM6E.js +1 -0
- package/dist/assets/FormDoc-B0L_QaCT.js +81 -0
- package/dist/assets/FoundationOverview-Dbb8rBsU.js +1 -0
- package/dist/assets/GridDoc-ifcGA2Yw.js +28 -0
- package/dist/assets/HooksDoc-CUOT_3Du.js +665 -0
- package/dist/assets/HoverCardDoc-CdTU2QkI.js +31 -0
- package/dist/assets/I18nDoc-CMEvFqsz.js +232 -0
- package/dist/assets/IconPickerDoc-DF9hEwnJ.js +10 -0
- package/dist/assets/IconsFoundationDoc-D4Y0wKbm.js +33 -0
- package/dist/assets/InputDoc-d_IL4dsq.js +211 -0
- package/dist/assets/LabelDoc-Dr64ISiJ.js +42 -0
- package/dist/assets/LeadershipDoc-BnrTuaeV.js +416 -0
- package/dist/assets/MediaDoc-CLuVprAr.js +459 -0
- package/dist/assets/MenubarDoc-CW7L4QJ4.js +165 -0
- package/dist/assets/ModulesDialogDoc-CUb_g4X-.js +71 -0
- package/dist/assets/NavigationMenuDoc-Csc0U6bV.js +116 -0
- package/dist/assets/OnboardingDialogDoc-3RtjNH1O.js +55 -0
- package/dist/assets/PaginationDoc-BGurD4xQ.js +27 -0
- package/dist/assets/PaginationDoc-DqFyou6O.js +98 -0
- package/dist/assets/PlacesDoc-Dyx8gsqb.js +226 -0
- package/dist/assets/PopoverDoc-DHF-ItUX.js +64 -0
- package/dist/assets/ProgressDoc-DXKV-fkI.js +29 -0
- package/dist/assets/QualiexUserFieldDoc-BbP7w-Pu.js +149 -0
- package/dist/assets/RadioGroupDoc-D845uweM.js +57 -0
- package/dist/assets/RadiusDoc-vN4tTsay.js +7 -0
- package/dist/assets/RequiredFieldsCounterDoc-TzR9r-U9.js +58 -0
- package/dist/assets/ResizableDoc-Bkfz_25O.js +104 -0
- package/dist/assets/RichTextEditorDoc-BUQrg7M8.js +24 -0
- package/dist/assets/ScrollAreaDoc-B6ODYHMX.js +28 -0
- package/dist/assets/SecurityDoc-Chbt6w1s.js +204 -0
- package/dist/assets/SelectDoc-BhcpBIAO.js +80 -0
- package/dist/assets/SeparatorDoc-C3fhatb0.js +4 -0
- package/dist/assets/ServicesDoc-_uao-HA_.js +308 -0
- package/dist/assets/ShadowsDoc-DpkO_TZQ.js +9 -0
- package/dist/assets/SignDoc-BJtnoT6I.js +66 -0
- package/dist/assets/SkeletonDoc-BZS07PJh.js +54 -0
- package/dist/assets/SliderDoc-D2ApV3XT.js +41 -0
- package/dist/assets/SpacingDoc-PNrU24B2.js +12 -0
- package/dist/assets/SplitButtonDoc-D5tUF2Ja.js +53 -0
- package/dist/assets/StepSelectorDoc-Cj0ALYar.js +41 -0
- package/dist/assets/SwitchDoc-DtsT8oh_.js +56 -0
- package/dist/assets/TableDoc-BC-jQnXu.js +128 -0
- package/dist/assets/TableOfContents-DBMJMbI4.js +1 -0
- package/dist/assets/TabsDoc-DtXJ0xY5.js +42 -0
- package/dist/assets/TextareaDoc-nuW5tqBQ.js +46 -0
- package/dist/assets/ToastDoc-D1aX5zda.js +157 -0
- package/dist/assets/ToggleDoc-ILass4CS.js +51 -0
- package/dist/assets/TooltipDoc-lPbdWe_9.js +58 -0
- package/dist/assets/TruncatedCellDoc-DOAzbF2F.js +12 -0
- package/dist/assets/TypographyFoundationDoc-3ZD-rQZw.js +7 -0
- package/dist/assets/UtilitiesDoc-D7lkYhuz.js +145 -0
- package/dist/assets/blocks-Jy49RoqJ.js +1 -0
- package/dist/assets/calendar-days-Cvf2zLJl.js +1 -0
- package/dist/assets/circle-plus-MnG9kjyq.js +1 -0
- package/dist/assets/circle-x-B9ouupla.js +1 -0
- package/dist/assets/crown-BweN5jpI.js +1 -0
- package/dist/assets/date-picker-ttyYeYvC.js +1 -0
- package/dist/assets/disabled-menu-item-WlpPOqxg.js +1 -0
- package/dist/assets/drawer-DvU6_eK5.js +3 -0
- package/dist/assets/file-pen-line-C0VV-QjF.js +1 -0
- package/dist/assets/git-branch-DCjGGwvF.js +1 -0
- package/dist/assets/globe-BdFDFP_k.js +1 -0
- package/dist/assets/grip-vertical-CgXp0oI-.js +1 -0
- package/dist/assets/hash-BAYi_wfk.js +1 -0
- package/dist/assets/index-BtX5DZqb.js +310 -0
- package/dist/assets/index-C1So5Sai.css +1 -0
- package/dist/assets/life-buoy-BydIgTyJ.js +1 -0
- package/dist/assets/lucide-react-ZIMhRYmb.js +1 -0
- package/dist/assets/monitor-B6txWJPg.js +1 -0
- package/dist/assets/package-DNe3FsCh.js +1 -0
- package/dist/assets/pen-CzTmQ16z.js +1 -0
- package/dist/assets/pin-CJJgLEBz.js +1 -0
- package/dist/assets/radio-group-Btv_BY60.js +1 -0
- package/dist/assets/server-XQDXtrjm.js +1 -0
- package/dist/assets/share-2-Dz_89MJb.js +1 -0
- package/dist/assets/step-selector-D0_Y1dow.js +1 -0
- package/dist/assets/text-align-start-WsHo7CNJ.js +1 -0
- package/dist/assets/trash-CeK-mWnM.js +1 -0
- package/dist/assets/useMockCrud-RV9z9n5x.js +1 -0
- package/dist/assets/user-check-CrbWcnPN.js +1 -0
- package/dist/assets/user-plus-Dce9DbqQ.js +1 -0
- package/dist/auth/services/TokenManager.d.ts +5 -0
- package/dist/auth/services/TokenRegenerationService.d.ts +5 -3
- package/dist/auth/services/TokenService.d.ts +0 -4
- package/dist/bin/pull-docs.js +87 -64
- package/dist/components/modules/ModuleAccessGuard.d.ts +16 -0
- package/dist/components/modules/index.d.ts +2 -0
- package/dist/components/ui/chart.d.ts +1 -1
- package/dist/components/ui/color-picker.d.ts +4 -0
- package/dist/components/ui/combo-tree.d.ts +70 -0
- package/dist/components/ui/combobox.d.ts +1 -0
- package/dist/components/ui/dialog.d.ts +8 -0
- package/dist/components/ui/icon-picker.d.ts +2 -0
- package/dist/components/ui/input-group.d.ts +1 -1
- package/dist/components/ui/resizable.d.ts +1 -1
- package/dist/config/environments.d.ts +12 -0
- package/dist/config/index.d.ts +23 -9
- package/dist/contexts/ModuleContext.d.ts +34 -0
- package/dist/crud/components/SelectionCheckbox.d.ts +9 -0
- package/dist/crud/generateCrudConfig.d.ts +2 -2
- package/dist/docs/KNOWLEDGE.md +206 -0
- package/dist/exports/ui.d.ts +1 -0
- package/dist/hooks/useMediaQuery.d.ts +14 -0
- package/dist/hooks/useModuleAccess.d.ts +60 -0
- package/dist/hooks/usePageTitle.d.ts +7 -1
- package/dist/index.css +2 -2
- package/dist/index.css.map +1 -1
- package/dist/index.d.ts +9 -1
- package/dist/index.esm.js +1 -1
- package/dist/index.html +16 -11
- package/dist/index.js +1 -1
- package/dist/leadership/hooks/useLeadershipMutations.d.ts +0 -1
- package/dist/media/hooks/useMediaUpload.d.ts +0 -1
- package/dist/media/utils/imageHelpers.d.ts +1 -1
- package/dist/places/services/PlaceService.d.ts +1 -1
- package/dist/providers/CoreProviders.d.ts +20 -4
- package/dist/qualiex/services/qualiexApi.d.ts +22 -4
- package/dist/services/QualiexEnrichmentService.d.ts +0 -12
- package/dist/setup.d.ts +2 -0
- package/dist/sign/services/signService.d.ts +0 -6
- package/dist/types.d.ts +59 -10
- package/dist/utils/index.d.ts +2 -2
- package/docs/DESIGN_SYSTEM.md +12181 -0
- package/docs/KNOWLEDGE.md +206 -0
- package/docs/PUBLISH.md +168 -0
- package/package.json +16 -18
- package/dist/assets/index-D0RTIFH3.css +0 -1
- package/dist/assets/index-YMQXWoDk.js +0 -9868
- package/dist/auth/utils/AuthUtils.d.ts +0 -4
- package/dist/i18n/DatabaseBackend.d.ts +0 -9
- package/dist/i18n/components/TranslationLoader.d.ts +0 -10
- package/dist/services/TranslationService.d.ts +0 -20
|
@@ -12,7 +12,6 @@ interface UpdateLeaderData {
|
|
|
12
12
|
id: string;
|
|
13
13
|
id_leader: string | null;
|
|
14
14
|
}
|
|
15
|
-
export declare function useCreateLeaderMutation(): import("@tanstack/react-query").UseMutationResult<any, Error, CreateLeaderData, unknown>;
|
|
16
15
|
export declare function useCreateSingleLeaderMutation(): import("@tanstack/react-query").UseMutationResult<any, Error, CreateLeaderData, unknown>;
|
|
17
16
|
export declare function useCreateMultipleLeadersMutation(): import("@tanstack/react-query").UseMutationResult<any, Error, CreateMultipleLeadersData, unknown>;
|
|
18
17
|
export declare function useUpdateLeaderMutation(): import("@tanstack/react-query").UseMutationResult<any, Error, UpdateLeaderData, unknown>;
|
|
@@ -16,5 +16,4 @@ export declare function useMediaUpload(options?: UseMediaUploadOptions): {
|
|
|
16
16
|
upload: (file: File, uploadOptions?: UploadOptions) => Promise<UploadResult>;
|
|
17
17
|
deleteMedia: (path: string, bucket?: string) => Promise<void>;
|
|
18
18
|
uploading: boolean;
|
|
19
|
-
progress: number;
|
|
20
19
|
};
|
|
@@ -17,7 +17,7 @@ export declare function resizeKeepingAspect(originalWidth: number, originalHeigh
|
|
|
17
17
|
/**
|
|
18
18
|
* Verifica se uma URL é de imagem baseado na extensão
|
|
19
19
|
*/
|
|
20
|
-
export declare function isImageUrl(
|
|
20
|
+
export declare function isImageUrl(src: string): boolean;
|
|
21
21
|
/**
|
|
22
22
|
* Extrai o nome do arquivo de uma URL
|
|
23
23
|
*/
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
2
|
import { QueryClient } from '@tanstack/react-query';
|
|
3
|
+
import { ModuleAccessGuardProps } from '../components/modules';
|
|
3
4
|
/**
|
|
4
5
|
* Props for CoreProviders component
|
|
5
6
|
*/
|
|
@@ -13,6 +14,21 @@ export interface CoreProvidersProps {
|
|
|
13
14
|
* If not provided, a default QueryClient will be created
|
|
14
15
|
*/
|
|
15
16
|
queryClient?: QueryClient;
|
|
17
|
+
/**
|
|
18
|
+
* Alias do módulo do projeto consumidor.
|
|
19
|
+
* Usado pelo hook useModuleAccess para verificar automaticamente
|
|
20
|
+
* se o usuário tem acesso ao módulo deste projeto.
|
|
21
|
+
* Quando configurado, o ModuleAccessGuard bloqueia automaticamente
|
|
22
|
+
* o acesso caso o usuário não tenha permissão.
|
|
23
|
+
*
|
|
24
|
+
* @example "performance" | "suppliers" | "occurrences" | "audit"
|
|
25
|
+
*/
|
|
26
|
+
moduleAlias?: string;
|
|
27
|
+
/**
|
|
28
|
+
* Props opcionais para o ModuleAccessGuard.
|
|
29
|
+
* Permite configurar módulos contratados, callbacks e URLs.
|
|
30
|
+
*/
|
|
31
|
+
moduleAccessGuardProps?: Omit<ModuleAccessGuardProps, 'children'>;
|
|
16
32
|
}
|
|
17
33
|
/**
|
|
18
34
|
* CoreProviders - Encapsulates all essential providers for forlogic-core applications
|
|
@@ -23,7 +39,7 @@ export interface CoreProvidersProps {
|
|
|
23
39
|
* - QueryClientProvider (data fetching)
|
|
24
40
|
* - AuthProvider (authentication)
|
|
25
41
|
* - LocaleProvider (locale management)
|
|
26
|
-
* -
|
|
42
|
+
* - ModuleProvider (module access configuration)
|
|
27
43
|
*
|
|
28
44
|
* @example
|
|
29
45
|
* ```tsx
|
|
@@ -32,7 +48,7 @@ export interface CoreProvidersProps {
|
|
|
32
48
|
*
|
|
33
49
|
* function App() {
|
|
34
50
|
* return (
|
|
35
|
-
* <CoreProviders>
|
|
51
|
+
* <CoreProviders moduleAlias="performance">
|
|
36
52
|
* <BrowserRouter>
|
|
37
53
|
* <Routes>
|
|
38
54
|
* {/* Your routes here *\/}
|
|
@@ -56,11 +72,11 @@ export interface CoreProvidersProps {
|
|
|
56
72
|
*
|
|
57
73
|
* function App() {
|
|
58
74
|
* return (
|
|
59
|
-
* <CoreProviders queryClient={queryClient}>
|
|
75
|
+
* <CoreProviders queryClient={queryClient} moduleAlias="suppliers">
|
|
60
76
|
* {/* Your app *\/}
|
|
61
77
|
* </CoreProviders>
|
|
62
78
|
* );
|
|
63
79
|
* }
|
|
64
80
|
* ```
|
|
65
81
|
*/
|
|
66
|
-
export declare function CoreProviders({ children, queryClient }: CoreProvidersProps): import("react/jsx-runtime").JSX.Element;
|
|
82
|
+
export declare function CoreProviders({ children, queryClient, moduleAlias, moduleAccessGuardProps }: CoreProvidersProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { QualiexUser } from '../../types';
|
|
1
|
+
import { QualiexUser, Software, UserAssociation } from '../../types';
|
|
2
2
|
declare class QualiexApiService {
|
|
3
|
-
private baseUrl;
|
|
3
|
+
private get baseUrl();
|
|
4
4
|
/**
|
|
5
5
|
* Faz uma chamada para a API do Qualiex
|
|
6
6
|
* IMPORTANTE: O header 'un-alias' é OBRIGATÓRIO para todas as requisições da API common-v4
|
|
@@ -8,14 +8,32 @@ declare class QualiexApiService {
|
|
|
8
8
|
*/
|
|
9
9
|
private makeApiCall;
|
|
10
10
|
private mapToQualiexUser;
|
|
11
|
+
/**
|
|
12
|
+
* Extrai e valida o array de usuários da resposta da API.
|
|
13
|
+
* Retorna null se o formato for inválido.
|
|
14
|
+
*/
|
|
15
|
+
private parseUsersResponse;
|
|
11
16
|
fetchUsers(alias: string, companyId: string): Promise<QualiexUser[]>;
|
|
12
17
|
fetchUserById(userId: string, alias: string, companyId: string): Promise<QualiexUser | null>;
|
|
13
18
|
fetchActiveUsersMap(alias: string, companyId: string): Promise<Map<string, QualiexUser>>;
|
|
14
19
|
getUsers(alias: string): Promise<QualiexUser[]>;
|
|
15
20
|
/**
|
|
16
|
-
*
|
|
21
|
+
* Busca a lista de todos os módulos/softwares disponíveis na plataforma.
|
|
22
|
+
* GET /api/common/v1/softwares
|
|
23
|
+
*
|
|
24
|
+
* @param alias - Alias da unidade (usado no header un-alias)
|
|
25
|
+
* @returns Array de Software com id, alias, cores e nomes traduzidos
|
|
26
|
+
*/
|
|
27
|
+
fetchSoftwares(alias: string): Promise<Software[]>;
|
|
28
|
+
/**
|
|
29
|
+
* Busca as associações do usuário (empresas, roles, módulos com acesso).
|
|
30
|
+
* GET /api/common/v1/Users/{userId}/associations
|
|
31
|
+
*
|
|
32
|
+
* @param userId - ID do usuário no Qualiex (subNewId / user.id)
|
|
33
|
+
* @param alias - Alias da unidade (usado no header un-alias)
|
|
34
|
+
* @returns Array de UserAssociation com softwares[], roleId, roleName, etc.
|
|
17
35
|
*/
|
|
18
|
-
|
|
36
|
+
fetchUserAssociations(userId: string, alias: string): Promise<UserAssociation[]>;
|
|
19
37
|
}
|
|
20
38
|
export declare const qualiexApi: QualiexApiService;
|
|
21
39
|
export {};
|
|
@@ -50,16 +50,4 @@ export declare class QualiexEnrichmentService {
|
|
|
50
50
|
* ```
|
|
51
51
|
*/
|
|
52
52
|
static enrichWithUserData<T>(entities: T[], options: QualiexEnrichmentOptions): Promise<T[]>;
|
|
53
|
-
/**
|
|
54
|
-
* Método legado (retrocompatibilidade)
|
|
55
|
-
*
|
|
56
|
-
* @deprecated Use enrichWithUserData() para maior flexibilidade
|
|
57
|
-
*/
|
|
58
|
-
static enrichWithResponsibleNames<T extends {
|
|
59
|
-
id_user?: string | null;
|
|
60
|
-
}>(entities: T[], options: {
|
|
61
|
-
entityName: string;
|
|
62
|
-
}): Promise<(T & {
|
|
63
|
-
responsible_name?: string;
|
|
64
|
-
})[]>;
|
|
65
53
|
}
|
package/dist/setup.d.ts
CHANGED
|
@@ -6,6 +6,8 @@ interface QualiexCoreConfig {
|
|
|
6
6
|
};
|
|
7
7
|
theme?: 'light' | 'dark' | 'system';
|
|
8
8
|
queryClient?: QueryClient;
|
|
9
|
+
/** Alias do módulo do projeto consumidor (ex: 'performance', 'suppliers', 'occurrences') */
|
|
10
|
+
moduleAlias?: string;
|
|
9
11
|
}
|
|
10
12
|
export declare function setupQualiexCore(config: QualiexCoreConfig): {
|
|
11
13
|
queryClient: QueryClient;
|
|
@@ -1,11 +1,5 @@
|
|
|
1
1
|
import type { SignEnvelopeResult, SignedDocumentResult, SignProvider } from '../types';
|
|
2
2
|
export declare const signService: {
|
|
3
|
-
/**
|
|
4
|
-
* Resolve qual provedor está configurado para o alias.
|
|
5
|
-
* Tenta clicksign primeiro (backward compat), depois d4sign.
|
|
6
|
-
* Retorna o provedor resolvido.
|
|
7
|
-
*/
|
|
8
|
-
resolveProvider(alias: string): Promise<SignProvider>;
|
|
9
3
|
createEnvelopeWithSigner(params: {
|
|
10
4
|
alias: string;
|
|
11
5
|
contentBase64: string;
|
package/dist/types.d.ts
CHANGED
|
@@ -289,15 +289,7 @@ export interface EntityWithId {
|
|
|
289
289
|
}
|
|
290
290
|
export type CreateEntityInput<T extends EntityWithId> = Omit<T, 'id' | 'created_at' | 'updated_at'>;
|
|
291
291
|
export type UpdateEntityInput<T extends EntityWithId> = Partial<CreateEntityInput<T>>;
|
|
292
|
-
export interface
|
|
293
|
-
getAll: () => Promise<T[]>;
|
|
294
|
-
getById: (id: string | number) => Promise<T | null>;
|
|
295
|
-
create: (data: CreateEntityInput<T>) => Promise<T>;
|
|
296
|
-
update: (id: string | number, data: UpdateEntityInput<T>) => Promise<T>;
|
|
297
|
-
delete: (id: string | number) => Promise<void>;
|
|
298
|
-
search?: (query: string) => Promise<T[]>;
|
|
299
|
-
}
|
|
300
|
-
export interface CrudConfig<T extends EntityWithId> {
|
|
292
|
+
export interface GeneratedCrudConfig<T extends EntityWithId> {
|
|
301
293
|
title: string;
|
|
302
294
|
columns: CrudColumn<T>[];
|
|
303
295
|
searchPlaceholder?: string;
|
|
@@ -454,7 +446,6 @@ export interface QualiexUser {
|
|
|
454
446
|
userId?: string;
|
|
455
447
|
userName?: string;
|
|
456
448
|
userEmail?: string;
|
|
457
|
-
displayName?: string;
|
|
458
449
|
placeId?: string | null;
|
|
459
450
|
placeName?: string | null;
|
|
460
451
|
roleId?: string;
|
|
@@ -480,6 +471,64 @@ export interface QualiexEnrichmentConfig {
|
|
|
480
471
|
/** Sufixo padrão para campos de username (default: "_username") */
|
|
481
472
|
userUsernameFieldSuffix?: string;
|
|
482
473
|
}
|
|
474
|
+
/**
|
|
475
|
+
* Representa um módulo/software disponível na plataforma Qualiex.
|
|
476
|
+
* Retornado pela API GET /api/common/v1/softwares
|
|
477
|
+
*/
|
|
478
|
+
export interface Software {
|
|
479
|
+
id: number;
|
|
480
|
+
alias: string;
|
|
481
|
+
color: string;
|
|
482
|
+
colorLight: string;
|
|
483
|
+
namePtBr: string;
|
|
484
|
+
nameUs: string;
|
|
485
|
+
nameEs: string;
|
|
486
|
+
}
|
|
487
|
+
/**
|
|
488
|
+
* Representa uma associação do usuário com uma empresa/unidade.
|
|
489
|
+
* Retornado pela API GET /api/common/v1/Users/{userId}/associations
|
|
490
|
+
*
|
|
491
|
+
* O array `softwares` contém os IDs dos módulos aos quais o usuário tem acesso.
|
|
492
|
+
* O `roleId` e `roleName` representam o papel do usuário naquela associação.
|
|
493
|
+
*/
|
|
494
|
+
export interface UserAssociation {
|
|
495
|
+
associationId: string;
|
|
496
|
+
userId: string;
|
|
497
|
+
userName: string;
|
|
498
|
+
companyId: string;
|
|
499
|
+
companyName: string;
|
|
500
|
+
companyAlias: string;
|
|
501
|
+
companyPhotoDate?: string;
|
|
502
|
+
language?: string;
|
|
503
|
+
roleId: string;
|
|
504
|
+
roleName: string;
|
|
505
|
+
placeId?: string;
|
|
506
|
+
placeName?: string;
|
|
507
|
+
softwares: number[];
|
|
508
|
+
functionalities: string[];
|
|
509
|
+
isQualitfy?: boolean;
|
|
510
|
+
isMetroex?: boolean;
|
|
511
|
+
}
|
|
512
|
+
/**
|
|
513
|
+
* Resultado do hook useModuleAccess
|
|
514
|
+
*/
|
|
515
|
+
export interface ModuleAccessResult {
|
|
516
|
+
/** Se o usuário tem acesso ao módulo configurado/especificado */
|
|
517
|
+
hasAccess: boolean;
|
|
518
|
+
/** Se os dados ainda estão carregando */
|
|
519
|
+
isLoading: boolean;
|
|
520
|
+
/** Role do usuário na associação atual */
|
|
521
|
+
role: {
|
|
522
|
+
id: string;
|
|
523
|
+
name: string;
|
|
524
|
+
} | null;
|
|
525
|
+
/** Associação completa do usuário para a unidade atual */
|
|
526
|
+
association: UserAssociation | null;
|
|
527
|
+
/** Função para verificar acesso a outro(s) módulo(s) */
|
|
528
|
+
hasAccessTo: (alias: string | string[]) => boolean;
|
|
529
|
+
/** Lista completa de softwares/módulos disponíveis na plataforma */
|
|
530
|
+
softwares: Software[];
|
|
531
|
+
}
|
|
483
532
|
export interface ApiResponse<T = unknown> {
|
|
484
533
|
data: T;
|
|
485
534
|
success: boolean;
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { type ClassValue } from "clsx";
|
|
2
2
|
export declare function cn(...inputs: ClassValue[]): string;
|
|
3
3
|
export declare const trimTextFields: (data: any) => any;
|
|
4
|
-
export
|
|
5
|
-
export
|
|
4
|
+
export { formatDatetime, formatDate } from './formatters/dateFormatters';
|
|
5
|
+
export { formatCurrency } from './formatters/currencyFormatters';
|
|
6
6
|
export declare const debounce: <T extends (...args: any[]) => any>(func: T, wait: number) => ((...args: Parameters<T>) => void);
|
|
7
7
|
export declare const slugify: (text: string) => string;
|
|
8
8
|
export { handleExternalLink } from './linkHelpers';
|