robbyson-frontend-library 0.0.1-rc1 → 0.0.1-rc11
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/components/drawer/drawer.interface.js +1 -0
- package/dist/components/filter/filter.interface.js +1 -0
- package/dist/components/header-context-menu/header-context-menu.interface.js +1 -0
- package/dist/components/loading/loading.interface.js +1 -0
- package/dist/components/overlay/overlay.interface.js +1 -0
- package/dist/components/pages/base-app-page.component.js +20 -5
- package/dist/components/pages/base-app-page.styles.js +14 -5
- package/dist/components/pdf-viewer/pdf-viewer.interface.js +1 -0
- package/dist/components/range-date-picker/range-date-picker.interface.js +1 -0
- package/dist/components/sort/sort.interface.js +1 -0
- package/dist/components/tab/tab.interface.js +1 -0
- package/dist/components/terms-of-use/terms-of-use.interface.js +1 -0
- package/dist/components/time-picker/time-picker.interface.js +1 -0
- package/dist/components/tree-date-picker/tree-date-picker.interface.js +1 -0
- package/dist/constants/layout-dimensions.constants.js +4 -3
- package/dist/factories/index.js +1 -0
- package/dist/factories/query-params.factory.js +52 -0
- package/dist/factories/response.factory.js +3 -2
- package/dist/index.js +7 -0
- package/dist/models/document.model.js +24 -0
- package/dist/models/guidance-category.model.js +24 -0
- package/dist/models/guidance-query.model.js +24 -0
- package/dist/models/guidance.model.js +40 -0
- package/dist/models/http-response.model.js +11 -0
- package/dist/models/humor-list.model.js +24 -0
- package/dist/models/humor-register.model.js +40 -0
- package/dist/models/theme-base.js +4 -0
- package/dist/repositories/base.repository.js +9 -0
- package/dist/repositories/document.repository.interface.js +1 -0
- package/dist/repositories/guidance.repository.interface.js +1 -0
- package/dist/repositories/humor.repository.interface.js +1 -0
- package/dist/services/document.service.interface.js +1 -0
- package/dist/services/dtos/example.dto.js +1 -0
- package/dist/services/dtos/index.js +1 -0
- package/dist/services/guidance.service.interface.js +1 -0
- package/dist/services/humor.service.interface.js +1 -0
- package/dist/services/validations.service.interface.js +1 -0
- package/dist/utils/build-error/buildError.util.js +1 -1
- package/dist/utils/date.utils.js +30 -0
- package/dist/utils/index.js +1 -0
- package/dist/utils/layout.utils.js +10 -0
- package/dist/utils/robbyson-navigate.js +34 -1
- package/index.d.ts +18 -5
- package/package.json +7 -5
- package/src/components/accordion/accordion.interface.ts +2 -1
- package/src/components/badge/badge.interface.ts +3 -2
- package/src/components/balloon/balloon.interface.ts +2 -2
- package/src/components/base-component.prop.interface.ts +2 -0
- package/src/components/{base-page.prop.interface.tsx → base-page.prop.interface.ts} +1 -2
- package/src/components/basic-button/{basic-button.interface.tsx → basic-button.interface.ts} +4 -1
- package/src/components/date-picker/date-picker.interface.ts +13 -0
- package/src/components/date-picker/date-picker.types.d.ts +10 -0
- package/src/components/date-picker/index.d.ts +1 -0
- package/src/components/drawer/drawer.interface.ts +10 -0
- package/src/components/drawer/drawer.types.d.ts +10 -0
- package/src/components/drawer/index.d.ts +1 -0
- package/src/components/filter/basic-button.types.d.ts +9 -0
- package/src/components/filter/filter.interface.tsx +61 -0
- package/src/components/filter/index.d.ts +1 -0
- package/src/components/header-context-menu/header-context-menu.interface.ts +13 -0
- package/src/components/header-context-menu/header-context-menu.types.d.ts +9 -0
- package/src/components/header-context-menu/index.d.ts +1 -0
- package/src/components/loading/index.d.ts +1 -0
- package/src/components/loading/loading.interface.ts +10 -0
- package/src/components/loading/loading.types.d.ts +9 -0
- package/src/components/{menu.interface.tsx → menu.interface.ts} +6 -0
- package/src/components/modal/modal.interface.ts +19 -9
- package/src/components/mood-button/mood-button.interface.ts +2 -2
- package/src/components/overlay/index.d.ts +1 -0
- package/src/components/overlay/overlay.interface.ts +7 -0
- package/src/components/overlay/overlay.types.d.ts +9 -0
- package/src/components/pages/base-app-page.component.tsx +15 -13
- package/src/components/pages/base-app-page.styles.ts +53 -7
- package/src/components/pagination/pagination.interface.ts +2 -2
- package/src/components/pdf-viewer/index.d.ts +1 -0
- package/src/components/pdf-viewer/pdf-viewer.interface.ts +5 -0
- package/src/components/pdf-viewer/pdf-viewer.types.d.ts +10 -0
- package/src/components/range-date-picker/index.d.ts +1 -0
- package/src/components/range-date-picker/range-date-picker.interface.ts +16 -0
- package/src/components/range-date-picker/range-date-picker.types.d.ts +10 -0
- package/src/components/scroll-box/scroll-box.interface.ts +2 -1
- package/src/components/sidebar/sidebar.interface.ts +13 -9
- package/src/components/sort/index.d.ts +1 -0
- package/src/components/sort/sort.interface.ts +28 -0
- package/src/components/sort/sort.types.d.ts +9 -0
- package/src/components/tab/index.d.ts +1 -0
- package/src/components/tab/tab.interface.ts +16 -0
- package/src/components/tab/tab.types.d.ts +9 -0
- package/src/components/tags/tags.interface.ts +2 -1
- package/src/components/terms-of-use/index.d.ts +1 -0
- package/src/components/terms-of-use/terms-of-use.interface.tsx +13 -0
- package/src/components/terms-of-use/terms-of-use.types.d.ts +11 -0
- package/src/components/text-field/text-field.interface.ts +41 -0
- package/src/components/time-picker/index.d.ts +1 -0
- package/src/components/time-picker/time-picker.interface.ts +15 -0
- package/src/components/time-picker/time-picker.types.d.ts +9 -0
- package/src/components/toggle-icon-button/toggle-icon-button.interface.ts +1 -1
- package/src/components/tree-date-picker/index.d.ts +1 -0
- package/src/components/tree-date-picker/tree-date-picker.interface.ts +30 -0
- package/src/components/tree-date-picker/tree-date-picker.types.d.ts +10 -0
- package/src/constants/layout-dimensions.constants.ts +4 -3
- package/src/factories/index.ts +2 -1
- package/src/factories/query-params.factory.ts +82 -0
- package/src/factories/response.factory.ts +17 -12
- package/src/index.ts +9 -1
- package/src/models/document.model.ts +27 -0
- package/src/models/guidance-category.model.ts +8 -0
- package/src/models/guidance-query.model.ts +11 -0
- package/src/models/guidance.model.ts +58 -0
- package/src/models/http-response.model.ts +14 -0
- package/src/models/humor-list.model.ts +23 -0
- package/src/models/humor-register.model.ts +35 -0
- package/src/models/index.d.ts +7 -0
- package/src/models/theme-base.ts +16 -1
- package/src/repositories/{base.repository.tsx → base.repository.ts} +11 -0
- package/src/repositories/document.repository.interface.ts +17 -0
- package/src/repositories/guidance.repository.interface.ts +11 -0
- package/src/repositories/humor.repository.interface.ts +10 -0
- package/src/repositories/index.d.ts +4 -1
- package/src/services/authentication.service.interface.ts +2 -0
- package/src/services/document.service.interface.ts +20 -0
- package/src/services/dtos/example.dto.ts +1 -0
- package/src/services/dtos/index.ts +1 -0
- package/src/services/guidance.service.interface.ts +27 -0
- package/src/services/humor.service.interface.ts +12 -0
- package/src/services/index.d.ts +5 -0
- package/src/services/theme.service.interface.ts +2 -1
- package/src/services/validations.service.interface.ts +7 -0
- package/src/states/main-container/root-app.state.interface.ts +8 -1
- package/src/utils/build-error/buildError.util.ts +1 -1
- package/src/utils/date.utils.ts +35 -0
- package/src/utils/index.ts +2 -1
- package/src/utils/layout.utils.ts +7 -0
- package/src/utils/robbyson-navigate.ts +45 -2
- package/tsconfig.json +4 -1
- package/src/components/base-component.prop.interface.tsx +0 -4
- package/src/components/snackbar/index.d.ts +0 -1
- package/src/components/snackbar/snackbar.interface.ts +0 -16
- package/src/components/snackbar/snackbar.types.d.ts +0 -9
- package/src/components/text-field/text-field.interface.tsx +0 -27
- /package/dist/components/{snackbar/snackbar.interface.js → date-picker/date-picker.interface.js} +0 -0
- /package/src/components/assets/{assets.interfaces.tsx → assets.interfaces.ts} +0 -0
- /package/src/components/{base-test.prop.interface.tsx → base-test.prop.interface.ts} +0 -0
- /package/src/components/colors/{colors.interfaces.tsx → colors.interfaces.ts} +0 -0
- /package/src/components/divider/{divider.interface.tsx → divider.interface.ts} +0 -0
- /package/src/components/{index.tsx → index.ts} +0 -0
- /package/src/components/progress-bar/{progress-bar.interface.tsx → progress-bar.interface.ts} +0 -0
- /package/src/components/progress-tracker/{progress-tracker.interface.tsx → progress-tracker.interface.ts} +0 -0
- /package/src/components/select/{select.interface.tsx → select.interface.ts} +0 -0
- /package/src/components/typography/{typography.interfaces.tsx → typography.interfaces.ts} +0 -0
- /package/src/components/upload/{upload.interface.tsx → upload.interface.ts} +0 -0
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
///<reference types="react" />
|
|
2
|
+
///<reference types="robbyson-frontend-library" />
|
|
3
|
+
|
|
4
|
+
declare module "styleguide/RangeDatePicker" {
|
|
5
|
+
import { IRangeDatePickerProps } from "robbyson-frontend-library";
|
|
6
|
+
|
|
7
|
+
const RangeDatePicker: React.ComponentType<IRangeDatePickerProps>;
|
|
8
|
+
|
|
9
|
+
export default RangeDatePicker;
|
|
10
|
+
}
|
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
import { IBaseComponentProp } from "../base-component.prop.interface";
|
|
3
3
|
|
|
4
4
|
export interface IScrollBoxProps extends IBaseComponentProp {
|
|
5
|
-
height:
|
|
5
|
+
height: string;
|
|
6
6
|
children: React.ReactNode;
|
|
7
7
|
onScrollBottom?(): void;
|
|
8
8
|
className?: string;
|
|
9
|
+
hideScrollBar?: boolean;
|
|
9
10
|
}
|
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
import { IBaseComponentProp } from "../base-component.prop.interface";
|
|
2
2
|
|
|
3
3
|
export interface ISidebarProps extends IBaseComponentProp {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
4
|
+
show: boolean;
|
|
5
|
+
position: "left" | "right";
|
|
6
|
+
children: React.ReactNode;
|
|
7
|
+
onClose: () => void;
|
|
8
|
+
titleLocaleHandle: string;
|
|
9
|
+
height?: number;
|
|
10
|
+
width?: number;
|
|
11
|
+
top?: number;
|
|
12
|
+
overlayZindex?: string;
|
|
13
|
+
showOverlay?: boolean;
|
|
14
|
+
subtitle?: string;
|
|
15
|
+
enableDrawer?: boolean;
|
|
16
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './sort.interface';
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { IconHandle } from "../../models";
|
|
2
|
+
import { IBaseComponentProp } from "../base-component.prop.interface";
|
|
3
|
+
|
|
4
|
+
export interface ISortProps extends IBaseComponentProp {
|
|
5
|
+
titleLocaleHandle?: string;
|
|
6
|
+
options: Array<{
|
|
7
|
+
nameLocaleHandle: string;
|
|
8
|
+
value: string | number;
|
|
9
|
+
}>;
|
|
10
|
+
defaultOption?: string | number;
|
|
11
|
+
selectedKeys?: string[];
|
|
12
|
+
icon: IconHandle;
|
|
13
|
+
onChangeOption?(option: {
|
|
14
|
+
nameLocaleHandle: string;
|
|
15
|
+
value: string | number;
|
|
16
|
+
}): void;
|
|
17
|
+
hideOnMouseOver?: boolean;
|
|
18
|
+
hideOnChangeOption?: boolean;
|
|
19
|
+
width?: string | number;
|
|
20
|
+
type?: "checkbox" | "default";
|
|
21
|
+
className?: string;
|
|
22
|
+
fillIcon?: string;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export interface ISortState {
|
|
26
|
+
showSort: boolean;
|
|
27
|
+
sortValue?: string | number;
|
|
28
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './tab.interface';
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { IBaseComponentProp } from "../base-component.prop.interface";
|
|
2
|
+
|
|
3
|
+
export interface ITabProps<T> extends IBaseComponentProp {
|
|
4
|
+
onClickTab(tabKey: T): void;
|
|
5
|
+
tabOptions: TabOptions<T>[];
|
|
6
|
+
activeTab: T;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
interface TabOptions<T> {
|
|
10
|
+
tabKey: T;
|
|
11
|
+
tabLocaleHandle: string;
|
|
12
|
+
suffix?: JSX.Element;
|
|
13
|
+
prefix?: JSX.Element;
|
|
14
|
+
content?: React.ReactNode;
|
|
15
|
+
disabled?: boolean;
|
|
16
|
+
}
|
|
@@ -4,8 +4,9 @@ import { IBaseComponentProp } from "../base-component.prop.interface";
|
|
|
4
4
|
export interface ITagsState {
|
|
5
5
|
show: boolean;
|
|
6
6
|
}
|
|
7
|
-
export interface ITagsProps<T> extends IBaseComponentProp {
|
|
7
|
+
export interface ITagsProps<T> extends IBaseComponentProp, React.HTMLAttributes<T> {
|
|
8
8
|
closeable?: boolean;
|
|
9
|
+
fillIcon?: string;
|
|
9
10
|
iconHandle?: IconHandle;
|
|
10
11
|
children?: any;
|
|
11
12
|
variant?: "primary" | "secondary";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './terms-of-use.interface';
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { TermsOfUseModel } from "../../models";
|
|
2
|
+
import { IBaseComponentProp } from "../base-component.prop.interface";
|
|
3
|
+
|
|
4
|
+
export interface ITermsOfUseProps extends IBaseComponentProp {
|
|
5
|
+
termsOfUse: TermsOfUseModel;
|
|
6
|
+
onAccepted(): void;
|
|
7
|
+
buttonLocaleTitle?: string;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export interface ITermsOfUseState {
|
|
11
|
+
isRead: boolean;
|
|
12
|
+
disableButton: boolean;
|
|
13
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
///<reference types="react" />
|
|
2
|
+
///<reference types="robbyson-frontend-library" />
|
|
3
|
+
|
|
4
|
+
declare module 'terms_of_use_application/TermsOfUse' {
|
|
5
|
+
|
|
6
|
+
import { ITermsOfUseProps } from "robbyson-frontend-library";
|
|
7
|
+
const TermsOfUse: React.ComponentType<ITermsOfUseProps<any>>;
|
|
8
|
+
|
|
9
|
+
export default TermsOfUse;
|
|
10
|
+
}
|
|
11
|
+
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { IconHandle } from "../../models";
|
|
2
|
+
import { IBaseComponentProp } from "../base-component.prop.interface";
|
|
3
|
+
import { IScrollBoxProps } from "../scroll-box";
|
|
4
|
+
|
|
5
|
+
export interface ITextFieldState {
|
|
6
|
+
isDropdownOpen: boolean;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export interface ITextFieldProps
|
|
10
|
+
extends React.InputHTMLAttributes<any>,
|
|
11
|
+
IBaseComponentProp {
|
|
12
|
+
placeholderLocaleHandle?: string;
|
|
13
|
+
prefixIconHandle?: IconHandle;
|
|
14
|
+
dropdownOptions?: DropdownOptions;
|
|
15
|
+
suffixIconHandle?: IconHandle;
|
|
16
|
+
helperTextLocaleHandle?: string;
|
|
17
|
+
errorTextLocaleHandle?: string;
|
|
18
|
+
onPrefixIconPressed?: () => void;
|
|
19
|
+
onSuffixIconPressed?: () => void;
|
|
20
|
+
width?: number;
|
|
21
|
+
height?: number;
|
|
22
|
+
value: string;
|
|
23
|
+
mask?: string;
|
|
24
|
+
hasError?: boolean;
|
|
25
|
+
fillPrefixIcon?: string;
|
|
26
|
+
fillSuffixIcon?: string;
|
|
27
|
+
pointerCursor?: boolean;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
type DropdownOptions = {
|
|
31
|
+
data: {
|
|
32
|
+
labelLocaleHandle: string;
|
|
33
|
+
key: string;
|
|
34
|
+
}[];
|
|
35
|
+
selectedKey?: string;
|
|
36
|
+
selectedKeys?: string[];
|
|
37
|
+
onClickItem( key: string): void;
|
|
38
|
+
scrollBoxProps: Omit<IScrollBoxProps, "children">;
|
|
39
|
+
dataTestId: string;
|
|
40
|
+
value?: string;
|
|
41
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './time-picker.interface';
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { IBaseComponentProp } from "../base-component.prop.interface";
|
|
2
|
+
import { ITextFieldProps } from "../text-field";
|
|
3
|
+
|
|
4
|
+
export interface ITimePickerProps extends IBaseComponentProp {
|
|
5
|
+
interval?: number;
|
|
6
|
+
startTime?: string;
|
|
7
|
+
endTime?: string;
|
|
8
|
+
onClickTime(hour: string, minutes: string): void;
|
|
9
|
+
timerPickerValue: string;
|
|
10
|
+
inputProps?: Omit<ITextFieldProps, "value" | "dataTestId">;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export interface ITimePickerState {
|
|
14
|
+
isDropDownOpen: boolean;
|
|
15
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
///<reference types="react" />
|
|
2
|
+
///<reference types="robbyson-frontend-library" />
|
|
3
|
+
|
|
4
|
+
declare module "styleguide/TimePicker" {
|
|
5
|
+
import { ITimePickerProps } from "robbyson-frontend-library";
|
|
6
|
+
const TimePicker: React.ComponentType<ITimePickerProps<any>>;
|
|
7
|
+
|
|
8
|
+
export default TimePicker;
|
|
9
|
+
}
|
|
@@ -9,8 +9,8 @@ export interface IToggleIconButtonProps<T> extends React.ButtonHTMLAttributes<T>
|
|
|
9
9
|
active?: boolean,
|
|
10
10
|
disabled?: boolean,
|
|
11
11
|
disabledIconHandle?: IconHandle,
|
|
12
|
+
fatherControl?: boolean,
|
|
12
13
|
}
|
|
13
|
-
|
|
14
14
|
export interface IToggleIconButtonState {
|
|
15
15
|
active: boolean,
|
|
16
16
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './tree-date-picker.interface';
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { IBaseComponentProp } from "../base-component.prop.interface";
|
|
2
|
+
import { ITextFieldProps } from "../text-field";
|
|
3
|
+
|
|
4
|
+
export interface ITreeDatePickerProps extends IBaseComponentProp {
|
|
5
|
+
onConfirm(params: {
|
|
6
|
+
selectedDate?: Date;
|
|
7
|
+
selectedWeek?: Week;
|
|
8
|
+
selectedMonth?: Date;
|
|
9
|
+
}): void;
|
|
10
|
+
customInputOptions?: Omit<ITextFieldProps, "value">;
|
|
11
|
+
selectedDate: Date | null;
|
|
12
|
+
selectedWeek: Week | null;
|
|
13
|
+
selectedMonth: Date | null;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export interface ITreeDatePickerState {
|
|
17
|
+
selectedDate: Date | null;
|
|
18
|
+
selectedWeek: Week | null;
|
|
19
|
+
selectedMonth: Date | null;
|
|
20
|
+
activeTab: TabKey;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export type Week = {
|
|
24
|
+
from: Date;
|
|
25
|
+
until: Date;
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
export type Weeks = Week[];
|
|
29
|
+
|
|
30
|
+
type TabKey = "day" | "week" | "monthly";
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
///<reference types="react" />
|
|
2
|
+
///<reference types="robbyson-frontend-library" />
|
|
3
|
+
|
|
4
|
+
declare module "styleguide/TreeDatePicker" {
|
|
5
|
+
import { ITreeDatePickerProps } from "robbyson-frontend-library";
|
|
6
|
+
|
|
7
|
+
const TreeDatePicker: React.ComponentType<ITreeDatePickerProps>;
|
|
8
|
+
|
|
9
|
+
export default TreeDatePicker;
|
|
10
|
+
}
|
package/src/factories/index.ts
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
export * from './response.factory';
|
|
1
|
+
export * from './response.factory';
|
|
2
|
+
export * from './query-params.factory';
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { BaseFactory } from "./base.factory";
|
|
2
|
+
import { RobbysonNavigate } from "../utils";
|
|
3
|
+
|
|
4
|
+
export class QueryParamsFactory implements BaseFactory {
|
|
5
|
+
private static checkDefaultValues(
|
|
6
|
+
validValues: {},
|
|
7
|
+
defaultValues: {}
|
|
8
|
+
): void {
|
|
9
|
+
// Verifica se os parâmetros validados possuem um valor padrão
|
|
10
|
+
for (const [key, value] of Object.entries(validValues || [])) {
|
|
11
|
+
if (!defaultValues.hasOwnProperty(key))
|
|
12
|
+
throw `The "${key}" query parameter does not have a default value.`;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
public static validate<T>(validValues: {}, defaultValues: {}): void {
|
|
17
|
+
const queryParams = RobbysonNavigate.getQueryParams<T>();
|
|
18
|
+
|
|
19
|
+
this.checkDefaultValues(validValues, defaultValues);
|
|
20
|
+
|
|
21
|
+
// Transforma a variável 'queryParams' em um objeto
|
|
22
|
+
if (Object.prototype.toString.call(queryParams) === "[object Object]") {
|
|
23
|
+
const queryParamsCopy = Object(queryParams);
|
|
24
|
+
|
|
25
|
+
for (const [queryParamsKey, queryParamsValue] of Object.entries(
|
|
26
|
+
queryParamsCopy
|
|
27
|
+
)!) {
|
|
28
|
+
for (const [key, value] of Object.entries(validValues)) {
|
|
29
|
+
// Verifica se o parâmetro da URL é o mesmo parâmetro da validação que está sendo iterado
|
|
30
|
+
if (queryParamsKey === key) {
|
|
31
|
+
|
|
32
|
+
// Caso os valores permitidos para esse parâmetro estejam em um objeto, será convertido para um array
|
|
33
|
+
if (value instanceof Object) {
|
|
34
|
+
let validValuesToArray = [];
|
|
35
|
+
for (const [
|
|
36
|
+
objectKey,
|
|
37
|
+
objectValue,
|
|
38
|
+
] of Object.entries(value)) {
|
|
39
|
+
validValuesToArray.push(String(objectValue));
|
|
40
|
+
}
|
|
41
|
+
// Caso o valor do parâmetro atual que está na url não seja um valor válido, o valor padrão será definido
|
|
42
|
+
if (
|
|
43
|
+
!validValuesToArray.includes(
|
|
44
|
+
String(queryParamsValue)
|
|
45
|
+
)
|
|
46
|
+
) {
|
|
47
|
+
RobbysonNavigate.setQueryParams(
|
|
48
|
+
queryParamsKey,
|
|
49
|
+
defaultValues[
|
|
50
|
+
String(
|
|
51
|
+
queryParamsKey
|
|
52
|
+
) as keyof typeof defaultValues
|
|
53
|
+
]
|
|
54
|
+
);
|
|
55
|
+
}
|
|
56
|
+
} else if (value instanceof Array) {
|
|
57
|
+
if (!value.includes(String(queryParamsValue)))
|
|
58
|
+
RobbysonNavigate.setQueryParams(
|
|
59
|
+
queryParamsKey,
|
|
60
|
+
defaultValues[
|
|
61
|
+
String(
|
|
62
|
+
queryParamsKey
|
|
63
|
+
) as keyof typeof defaultValues
|
|
64
|
+
]
|
|
65
|
+
);
|
|
66
|
+
} else if (value instanceof String || value instanceof Number) {
|
|
67
|
+
if (String(value) !== String(queryParamsValue))
|
|
68
|
+
RobbysonNavigate.setQueryParams(
|
|
69
|
+
queryParamsKey,
|
|
70
|
+
defaultValues[
|
|
71
|
+
String(
|
|
72
|
+
queryParamsKey
|
|
73
|
+
) as keyof typeof defaultValues
|
|
74
|
+
]
|
|
75
|
+
);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
@@ -25,12 +25,12 @@ export class RobbysonResponse<T> {
|
|
|
25
25
|
|
|
26
26
|
export class RobbysonResponseError {
|
|
27
27
|
public data: ResponseStatusLogMessages[];
|
|
28
|
-
|
|
28
|
+
|
|
29
29
|
constructor(data?: RobbysonResponse<any>) {
|
|
30
|
-
if (data && this.isRobbysonError(data)) this.buildRobbysonError(data)
|
|
31
|
-
else this.buildGenericError()
|
|
30
|
+
if (data && this.isRobbysonError(data)) this.buildRobbysonError(data);
|
|
31
|
+
else this.buildGenericError();
|
|
32
32
|
}
|
|
33
|
-
|
|
33
|
+
|
|
34
34
|
private buildRobbysonError(data: RobbysonResponse<any>): void {
|
|
35
35
|
this.data = data.statusLog[0].messages.map((message: any) => {
|
|
36
36
|
if (typeof message === "string") {
|
|
@@ -39,7 +39,7 @@ export class RobbysonResponseError {
|
|
|
39
39
|
return message;
|
|
40
40
|
});
|
|
41
41
|
}
|
|
42
|
-
|
|
42
|
+
|
|
43
43
|
private buildGenericError(): void {
|
|
44
44
|
this.data = [
|
|
45
45
|
{
|
|
@@ -55,25 +55,30 @@ export class RobbysonResponseError {
|
|
|
55
55
|
data.statusLog.length &&
|
|
56
56
|
data.statusLog[0].messages?.length
|
|
57
57
|
) {
|
|
58
|
-
return true
|
|
58
|
+
return true;
|
|
59
59
|
}
|
|
60
|
-
return false
|
|
60
|
+
return false;
|
|
61
61
|
}
|
|
62
62
|
}
|
|
63
63
|
export class ResponseFactory implements BaseFactory {
|
|
64
|
-
private static checkResponseError<T>(
|
|
64
|
+
private static checkResponseError<T>(
|
|
65
|
+
response: AxiosResponse<any, any>
|
|
66
|
+
): void {
|
|
65
67
|
if (response instanceof Error) throw new RobbysonResponseError();
|
|
66
68
|
|
|
67
69
|
if (
|
|
68
70
|
response.data.statusLog &&
|
|
69
71
|
response.data.statusLog.length &&
|
|
70
|
-
response.data.statusLog[0].type !==
|
|
72
|
+
response.data.statusLog[0].type !==
|
|
73
|
+
ResponseStatusLogType.SUCCESS_RESPONSE
|
|
71
74
|
)
|
|
72
|
-
throw new RobbysonResponseError(
|
|
75
|
+
throw new RobbysonResponseError(
|
|
76
|
+
response.data as RobbysonResponse<T>
|
|
77
|
+
);
|
|
73
78
|
}
|
|
74
79
|
|
|
75
|
-
public static Create<T>(response: AxiosResponse<any, any>):T {
|
|
80
|
+
public static Create<T>(response: AxiosResponse<any, any>): T {
|
|
76
81
|
this.checkResponseError<T>(response);
|
|
77
|
-
return response.data
|
|
82
|
+
return response.data as T;
|
|
78
83
|
}
|
|
79
84
|
}
|
package/src/index.ts
CHANGED
|
@@ -9,6 +9,11 @@ export * from "./models/user-mirror.model";
|
|
|
9
9
|
export * from "./models/user-session.model";
|
|
10
10
|
export * from "./models/send-user-to-login.model";
|
|
11
11
|
export * from "./models/angel-friend-status.model";
|
|
12
|
+
export * from './models/document.model';
|
|
13
|
+
export * from "./models/guidance-category.model";
|
|
14
|
+
export * from "./models/guidance.model";
|
|
15
|
+
export * from "./models/guidance-query.model";
|
|
16
|
+
export * from "./models/http-response.model";
|
|
12
17
|
|
|
13
18
|
// Repositories
|
|
14
19
|
export * from "./repositories/base.repository";
|
|
@@ -23,4 +28,7 @@ export * from "./states";
|
|
|
23
28
|
export * from "./utils";
|
|
24
29
|
|
|
25
30
|
// Constants
|
|
26
|
-
export * from "./constants";
|
|
31
|
+
export * from "./constants";
|
|
32
|
+
|
|
33
|
+
// DTOs
|
|
34
|
+
export * from "./services/dtos";
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { BaseRepositoryModel } from "./base.repository.model";
|
|
2
|
+
|
|
3
|
+
export class DocumentModel extends BaseRepositoryModel {
|
|
4
|
+
_id: string;
|
|
5
|
+
identification: string;
|
|
6
|
+
document_id: string;
|
|
7
|
+
documentType: {
|
|
8
|
+
_id: string;
|
|
9
|
+
name: string;
|
|
10
|
+
};
|
|
11
|
+
fileUrl?: string;
|
|
12
|
+
sender: {
|
|
13
|
+
identification: string;
|
|
14
|
+
name: string;
|
|
15
|
+
};
|
|
16
|
+
createdAt?: Date;
|
|
17
|
+
publishedAt?: Date;
|
|
18
|
+
title: string;
|
|
19
|
+
text: string;
|
|
20
|
+
observation?: string;
|
|
21
|
+
viewed?: boolean;
|
|
22
|
+
viewedAt?: Date;
|
|
23
|
+
answered?: boolean;
|
|
24
|
+
answeredAt?: Date;
|
|
25
|
+
accepted?: boolean;
|
|
26
|
+
canceled?: boolean;
|
|
27
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { BaseRepositoryModel } from "./base.repository.model";
|
|
2
|
+
|
|
3
|
+
export class GuidanceQueryListModel extends BaseRepositoryModel {
|
|
4
|
+
name?: string;
|
|
5
|
+
categoryId?: string;
|
|
6
|
+
period?:number;
|
|
7
|
+
page?: number;
|
|
8
|
+
per?: number;
|
|
9
|
+
orderBy?: string;
|
|
10
|
+
orderDirection?: "asc" | "desc";
|
|
11
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { BaseRepositoryModel } from "./base.repository.model";
|
|
2
|
+
import { GuidanceCategoryModel } from "./guidance-category.model";
|
|
3
|
+
|
|
4
|
+
export class GuidanceModel extends BaseRepositoryModel {
|
|
5
|
+
_id: string;
|
|
6
|
+
revision: number;
|
|
7
|
+
tags: string[];
|
|
8
|
+
allowDownload: boolean;
|
|
9
|
+
visibilityType: string;
|
|
10
|
+
files: GuidanceFileObject[];
|
|
11
|
+
name: string;
|
|
12
|
+
description: string;
|
|
13
|
+
category: GuidanceCategoryModel;
|
|
14
|
+
status: string;
|
|
15
|
+
visibleFrom: string;
|
|
16
|
+
visibleUntil: string;
|
|
17
|
+
content: string;
|
|
18
|
+
contentType: string;
|
|
19
|
+
coverImageMetaData: FileMetaData;
|
|
20
|
+
fileMetaData: FileMetaData;
|
|
21
|
+
firstLetter: string;
|
|
22
|
+
createdBy: User;
|
|
23
|
+
updatedBy: User;
|
|
24
|
+
visibleToUsers: string[];
|
|
25
|
+
notVisibleToUsers: string[];
|
|
26
|
+
visibleToAttributeValues: string[];
|
|
27
|
+
notVisibleToAttributeValues: string[];
|
|
28
|
+
visibleToHierarchyLevels: string[];
|
|
29
|
+
notVisibleToHierarchyLevels: string[];
|
|
30
|
+
visibleToGroups: string[];
|
|
31
|
+
notVisibleToGroups: string[];
|
|
32
|
+
createdAt: Date;
|
|
33
|
+
updatedAt: Date;
|
|
34
|
+
isFavorite: boolean;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export class GuidanceFileObject {
|
|
38
|
+
fileMetaData: FileMetaData;
|
|
39
|
+
contentType: string;
|
|
40
|
+
allowDownload?: boolean;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
class FileMetaData {
|
|
44
|
+
_id: string;
|
|
45
|
+
token: string;
|
|
46
|
+
fileType: string;
|
|
47
|
+
fileName: string;
|
|
48
|
+
fileMD5: string;
|
|
49
|
+
publicUrl: string;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
class User {
|
|
53
|
+
_id: number;
|
|
54
|
+
name: string;
|
|
55
|
+
identification: string;
|
|
56
|
+
login: string;
|
|
57
|
+
}
|
|
58
|
+
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export class HttpListResponse<T> {
|
|
2
|
+
data: T;
|
|
3
|
+
meta: GenericHttpListResponseMeta | Record<string, never>;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
class GenericHttpListResponseMeta {
|
|
7
|
+
orderBy: string;
|
|
8
|
+
orderDirection: "DESC" | "ASC";
|
|
9
|
+
page: number;
|
|
10
|
+
per: number;
|
|
11
|
+
total: number;
|
|
12
|
+
totalDocs: number;
|
|
13
|
+
type: string;
|
|
14
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { BaseRepositoryModel } from "./base.repository.model";
|
|
2
|
+
import { IconHandle } from "./theme-base";
|
|
3
|
+
|
|
4
|
+
export interface IHumorFrases {
|
|
5
|
+
_id: string,
|
|
6
|
+
texto: string
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export interface IHumorMotives {
|
|
10
|
+
_id: string;
|
|
11
|
+
descricao: string;
|
|
12
|
+
icone: IconHandle;
|
|
13
|
+
frases: IHumorFrases[];
|
|
14
|
+
feedback: string[];
|
|
15
|
+
}
|
|
16
|
+
export class HumorListModel extends BaseRepositoryModel {
|
|
17
|
+
_id: string;
|
|
18
|
+
descricao: string;
|
|
19
|
+
frases: IHumorFrases[];
|
|
20
|
+
icone: IconHandle;
|
|
21
|
+
motivos: IHumorMotives[];
|
|
22
|
+
__v: number;
|
|
23
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { BaseRepositoryModel } from "./base.repository.model";
|
|
2
|
+
|
|
3
|
+
export interface IRegistersHumor {
|
|
4
|
+
tipoHumor: number,
|
|
5
|
+
humor: {
|
|
6
|
+
_id: string,
|
|
7
|
+
descricao: string,
|
|
8
|
+
},
|
|
9
|
+
motivo: {
|
|
10
|
+
descricao: string
|
|
11
|
+
} | {}
|
|
12
|
+
dataHoraCriacao: Date,
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export class HumorRegisterModel extends BaseRepositoryModel {
|
|
16
|
+
_id: string;
|
|
17
|
+
registros: IRegistersHumor[];
|
|
18
|
+
tz: string;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export class HumorRegisterResponseModel extends BaseRepositoryModel {
|
|
22
|
+
_id?:string;
|
|
23
|
+
n: number;
|
|
24
|
+
nModified: number;
|
|
25
|
+
ok:number
|
|
26
|
+
}
|
|
27
|
+
export class HumorLastModel extends BaseRepositoryModel {
|
|
28
|
+
_id: string;
|
|
29
|
+
identification: string;
|
|
30
|
+
registros: IRegistersHumor[];
|
|
31
|
+
__v: number;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|