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.
Files changed (151) hide show
  1. package/dist/components/drawer/drawer.interface.js +1 -0
  2. package/dist/components/filter/filter.interface.js +1 -0
  3. package/dist/components/header-context-menu/header-context-menu.interface.js +1 -0
  4. package/dist/components/loading/loading.interface.js +1 -0
  5. package/dist/components/overlay/overlay.interface.js +1 -0
  6. package/dist/components/pages/base-app-page.component.js +20 -5
  7. package/dist/components/pages/base-app-page.styles.js +14 -5
  8. package/dist/components/pdf-viewer/pdf-viewer.interface.js +1 -0
  9. package/dist/components/range-date-picker/range-date-picker.interface.js +1 -0
  10. package/dist/components/sort/sort.interface.js +1 -0
  11. package/dist/components/tab/tab.interface.js +1 -0
  12. package/dist/components/terms-of-use/terms-of-use.interface.js +1 -0
  13. package/dist/components/time-picker/time-picker.interface.js +1 -0
  14. package/dist/components/tree-date-picker/tree-date-picker.interface.js +1 -0
  15. package/dist/constants/layout-dimensions.constants.js +4 -3
  16. package/dist/factories/index.js +1 -0
  17. package/dist/factories/query-params.factory.js +52 -0
  18. package/dist/factories/response.factory.js +3 -2
  19. package/dist/index.js +7 -0
  20. package/dist/models/document.model.js +24 -0
  21. package/dist/models/guidance-category.model.js +24 -0
  22. package/dist/models/guidance-query.model.js +24 -0
  23. package/dist/models/guidance.model.js +40 -0
  24. package/dist/models/http-response.model.js +11 -0
  25. package/dist/models/humor-list.model.js +24 -0
  26. package/dist/models/humor-register.model.js +40 -0
  27. package/dist/models/theme-base.js +4 -0
  28. package/dist/repositories/base.repository.js +9 -0
  29. package/dist/repositories/document.repository.interface.js +1 -0
  30. package/dist/repositories/guidance.repository.interface.js +1 -0
  31. package/dist/repositories/humor.repository.interface.js +1 -0
  32. package/dist/services/document.service.interface.js +1 -0
  33. package/dist/services/dtos/example.dto.js +1 -0
  34. package/dist/services/dtos/index.js +1 -0
  35. package/dist/services/guidance.service.interface.js +1 -0
  36. package/dist/services/humor.service.interface.js +1 -0
  37. package/dist/services/validations.service.interface.js +1 -0
  38. package/dist/utils/build-error/buildError.util.js +1 -1
  39. package/dist/utils/date.utils.js +30 -0
  40. package/dist/utils/index.js +1 -0
  41. package/dist/utils/layout.utils.js +10 -0
  42. package/dist/utils/robbyson-navigate.js +34 -1
  43. package/index.d.ts +18 -5
  44. package/package.json +7 -5
  45. package/src/components/accordion/accordion.interface.ts +2 -1
  46. package/src/components/badge/badge.interface.ts +3 -2
  47. package/src/components/balloon/balloon.interface.ts +2 -2
  48. package/src/components/base-component.prop.interface.ts +2 -0
  49. package/src/components/{base-page.prop.interface.tsx → base-page.prop.interface.ts} +1 -2
  50. package/src/components/basic-button/{basic-button.interface.tsx → basic-button.interface.ts} +4 -1
  51. package/src/components/date-picker/date-picker.interface.ts +13 -0
  52. package/src/components/date-picker/date-picker.types.d.ts +10 -0
  53. package/src/components/date-picker/index.d.ts +1 -0
  54. package/src/components/drawer/drawer.interface.ts +10 -0
  55. package/src/components/drawer/drawer.types.d.ts +10 -0
  56. package/src/components/drawer/index.d.ts +1 -0
  57. package/src/components/filter/basic-button.types.d.ts +9 -0
  58. package/src/components/filter/filter.interface.tsx +61 -0
  59. package/src/components/filter/index.d.ts +1 -0
  60. package/src/components/header-context-menu/header-context-menu.interface.ts +13 -0
  61. package/src/components/header-context-menu/header-context-menu.types.d.ts +9 -0
  62. package/src/components/header-context-menu/index.d.ts +1 -0
  63. package/src/components/loading/index.d.ts +1 -0
  64. package/src/components/loading/loading.interface.ts +10 -0
  65. package/src/components/loading/loading.types.d.ts +9 -0
  66. package/src/components/{menu.interface.tsx → menu.interface.ts} +6 -0
  67. package/src/components/modal/modal.interface.ts +19 -9
  68. package/src/components/mood-button/mood-button.interface.ts +2 -2
  69. package/src/components/overlay/index.d.ts +1 -0
  70. package/src/components/overlay/overlay.interface.ts +7 -0
  71. package/src/components/overlay/overlay.types.d.ts +9 -0
  72. package/src/components/pages/base-app-page.component.tsx +15 -13
  73. package/src/components/pages/base-app-page.styles.ts +53 -7
  74. package/src/components/pagination/pagination.interface.ts +2 -2
  75. package/src/components/pdf-viewer/index.d.ts +1 -0
  76. package/src/components/pdf-viewer/pdf-viewer.interface.ts +5 -0
  77. package/src/components/pdf-viewer/pdf-viewer.types.d.ts +10 -0
  78. package/src/components/range-date-picker/index.d.ts +1 -0
  79. package/src/components/range-date-picker/range-date-picker.interface.ts +16 -0
  80. package/src/components/range-date-picker/range-date-picker.types.d.ts +10 -0
  81. package/src/components/scroll-box/scroll-box.interface.ts +2 -1
  82. package/src/components/sidebar/sidebar.interface.ts +13 -9
  83. package/src/components/sort/index.d.ts +1 -0
  84. package/src/components/sort/sort.interface.ts +28 -0
  85. package/src/components/sort/sort.types.d.ts +9 -0
  86. package/src/components/tab/index.d.ts +1 -0
  87. package/src/components/tab/tab.interface.ts +16 -0
  88. package/src/components/tab/tab.types.d.ts +9 -0
  89. package/src/components/tags/tags.interface.ts +2 -1
  90. package/src/components/terms-of-use/index.d.ts +1 -0
  91. package/src/components/terms-of-use/terms-of-use.interface.tsx +13 -0
  92. package/src/components/terms-of-use/terms-of-use.types.d.ts +11 -0
  93. package/src/components/text-field/text-field.interface.ts +41 -0
  94. package/src/components/time-picker/index.d.ts +1 -0
  95. package/src/components/time-picker/time-picker.interface.ts +15 -0
  96. package/src/components/time-picker/time-picker.types.d.ts +9 -0
  97. package/src/components/toggle-icon-button/toggle-icon-button.interface.ts +1 -1
  98. package/src/components/tree-date-picker/index.d.ts +1 -0
  99. package/src/components/tree-date-picker/tree-date-picker.interface.ts +30 -0
  100. package/src/components/tree-date-picker/tree-date-picker.types.d.ts +10 -0
  101. package/src/constants/layout-dimensions.constants.ts +4 -3
  102. package/src/factories/index.ts +2 -1
  103. package/src/factories/query-params.factory.ts +82 -0
  104. package/src/factories/response.factory.ts +17 -12
  105. package/src/index.ts +9 -1
  106. package/src/models/document.model.ts +27 -0
  107. package/src/models/guidance-category.model.ts +8 -0
  108. package/src/models/guidance-query.model.ts +11 -0
  109. package/src/models/guidance.model.ts +58 -0
  110. package/src/models/http-response.model.ts +14 -0
  111. package/src/models/humor-list.model.ts +23 -0
  112. package/src/models/humor-register.model.ts +35 -0
  113. package/src/models/index.d.ts +7 -0
  114. package/src/models/theme-base.ts +16 -1
  115. package/src/repositories/{base.repository.tsx → base.repository.ts} +11 -0
  116. package/src/repositories/document.repository.interface.ts +17 -0
  117. package/src/repositories/guidance.repository.interface.ts +11 -0
  118. package/src/repositories/humor.repository.interface.ts +10 -0
  119. package/src/repositories/index.d.ts +4 -1
  120. package/src/services/authentication.service.interface.ts +2 -0
  121. package/src/services/document.service.interface.ts +20 -0
  122. package/src/services/dtos/example.dto.ts +1 -0
  123. package/src/services/dtos/index.ts +1 -0
  124. package/src/services/guidance.service.interface.ts +27 -0
  125. package/src/services/humor.service.interface.ts +12 -0
  126. package/src/services/index.d.ts +5 -0
  127. package/src/services/theme.service.interface.ts +2 -1
  128. package/src/services/validations.service.interface.ts +7 -0
  129. package/src/states/main-container/root-app.state.interface.ts +8 -1
  130. package/src/utils/build-error/buildError.util.ts +1 -1
  131. package/src/utils/date.utils.ts +35 -0
  132. package/src/utils/index.ts +2 -1
  133. package/src/utils/layout.utils.ts +7 -0
  134. package/src/utils/robbyson-navigate.ts +45 -2
  135. package/tsconfig.json +4 -1
  136. package/src/components/base-component.prop.interface.tsx +0 -4
  137. package/src/components/snackbar/index.d.ts +0 -1
  138. package/src/components/snackbar/snackbar.interface.ts +0 -16
  139. package/src/components/snackbar/snackbar.types.d.ts +0 -9
  140. package/src/components/text-field/text-field.interface.tsx +0 -27
  141. /package/dist/components/{snackbar/snackbar.interface.js → date-picker/date-picker.interface.js} +0 -0
  142. /package/src/components/assets/{assets.interfaces.tsx → assets.interfaces.ts} +0 -0
  143. /package/src/components/{base-test.prop.interface.tsx → base-test.prop.interface.ts} +0 -0
  144. /package/src/components/colors/{colors.interfaces.tsx → colors.interfaces.ts} +0 -0
  145. /package/src/components/divider/{divider.interface.tsx → divider.interface.ts} +0 -0
  146. /package/src/components/{index.tsx → index.ts} +0 -0
  147. /package/src/components/progress-bar/{progress-bar.interface.tsx → progress-bar.interface.ts} +0 -0
  148. /package/src/components/progress-tracker/{progress-tracker.interface.tsx → progress-tracker.interface.ts} +0 -0
  149. /package/src/components/select/{select.interface.tsx → select.interface.ts} +0 -0
  150. /package/src/components/typography/{typography.interfaces.tsx → typography.interfaces.ts} +0 -0
  151. /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: number;
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
- 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
- }
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,9 @@
1
+ ///<reference types="react" />
2
+ ///<reference types="robbyson-frontend-library" />
3
+
4
+ declare module 'styleguide/Sort' {
5
+ import { ISortProps } from "robbyson-frontend-library";
6
+ const Sort: React.ComponentType<ISortProps>;
7
+
8
+ export default Sort;
9
+ }
@@ -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
+ }
@@ -0,0 +1,9 @@
1
+ ///<reference types="react" />
2
+ ///<reference types="robbyson-frontend-library" />
3
+
4
+ declare module 'styleguide/Tab' {
5
+ import { ITabProps } from "robbyson-frontend-library";
6
+ const Tab: React.ComponentType<ITabProps<any>>;
7
+
8
+ export default Tab;
9
+ }
@@ -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
+ }
@@ -1,6 +1,7 @@
1
1
  export class LayoutDimensions {
2
- static _width = {
3
- ipadMini: 1133,
4
- mobile: 412,
2
+ static width = {
3
+ horizontalIpadMini: 1199,
4
+ verticalIpadMini: 767,
5
+ mobile: 575,
5
6
  }
6
7
  }
@@ -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>(response: AxiosResponse<any, any>): void {
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 !== ResponseStatusLogType.SUCCESS_RESPONSE
72
+ response.data.statusLog[0].type !==
73
+ ResponseStatusLogType.SUCCESS_RESPONSE
71
74
  )
72
- throw new RobbysonResponseError(response.data as RobbysonResponse<T>);
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.data as T;
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,8 @@
1
+ import { BaseRepositoryModel } from "./base.repository.model";
2
+
3
+ export class GuidanceCategoryModel extends BaseRepositoryModel {
4
+ _id: string;
5
+ name: string;
6
+ color: string;
7
+ parent: [string];
8
+ }
@@ -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
+