robbyson-frontend-library 0.0.1-rc1

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 (241) hide show
  1. package/dist/components/accordion/accordion.interface.js +1 -0
  2. package/dist/components/assets/assets.interfaces.js +1 -0
  3. package/dist/components/badge/badge.interface.js +1 -0
  4. package/dist/components/balloon/balloon.interface.js +1 -0
  5. package/dist/components/base-component.prop.interface.js +1 -0
  6. package/dist/components/base-page.prop.interface.js +1 -0
  7. package/dist/components/base-test.prop.interface.js +1 -0
  8. package/dist/components/basic-button/basic-button.interface.js +1 -0
  9. package/dist/components/checkbox/checkbox.interface.js +1 -0
  10. package/dist/components/colors/colors.interfaces.js +1 -0
  11. package/dist/components/context-menu/context-menu.interface.js +1 -0
  12. package/dist/components/divider/divider.interface.js +1 -0
  13. package/dist/components/icon-button/icon-button.interface.js +1 -0
  14. package/dist/components/image-progress-graph/image-progress-graph.interface.js +1 -0
  15. package/dist/components/index.js +5 -0
  16. package/dist/components/menu.interface.js +1 -0
  17. package/dist/components/modal/modal.interface.js +1 -0
  18. package/dist/components/mood-button/mood-button.interface.js +1 -0
  19. package/dist/components/pages/base-app-page.component.js +46 -0
  20. package/dist/components/pages/base-app-page.styles.js +13 -0
  21. package/dist/components/pagination/pagination.interface.js +1 -0
  22. package/dist/components/profile-image/profile-image.interface.js +1 -0
  23. package/dist/components/progress-bar/progress-bar.interface.js +1 -0
  24. package/dist/components/progress-tracker/progress-tracker.interface.js +1 -0
  25. package/dist/components/radio-button/radio-button.interface.js +1 -0
  26. package/dist/components/scroll-box/scroll-box.interface.js +1 -0
  27. package/dist/components/search-input/search-input.interfaces.js +1 -0
  28. package/dist/components/select/select.interface.js +1 -0
  29. package/dist/components/sidebar/sidebar.interface.js +1 -0
  30. package/dist/components/snackbar/snackbar.interface.js +1 -0
  31. package/dist/components/speed-dial/speed-dial.interface.js +1 -0
  32. package/dist/components/spin-edit/spin-edit.interface.js +1 -0
  33. package/dist/components/switch/switch.interface.js +1 -0
  34. package/dist/components/tag-expand/tag-expand.interface.js +1 -0
  35. package/dist/components/tags/tags.interface.js +1 -0
  36. package/dist/components/text-field/text-field.interface.js +1 -0
  37. package/dist/components/timer/timer.interface.js +1 -0
  38. package/dist/components/toggle-icon-button/toggle-icon-button.interface.js +1 -0
  39. package/dist/components/tooltip/tooltip.interface.js +1 -0
  40. package/dist/components/transitions/transitions.interfaces.js +1 -0
  41. package/dist/components/typography/typography.interfaces.js +1 -0
  42. package/dist/components/upload/upload.interface.js +1 -0
  43. package/dist/constants/index.js +1 -0
  44. package/dist/constants/layout-dimensions.constants.js +10 -0
  45. package/dist/factories/base.factory.js +6 -0
  46. package/dist/factories/index.js +1 -0
  47. package/dist/factories/response.factory.js +77 -0
  48. package/dist/index.js +19 -0
  49. package/dist/ioc.js +18 -0
  50. package/dist/models/angel-friend-status.model.js +25 -0
  51. package/dist/models/base.repository.model.js +6 -0
  52. package/dist/models/result-level.model.js +24 -0
  53. package/dist/models/send-user-to-login.model.js +6 -0
  54. package/dist/models/term-of-use.model.js +24 -0
  55. package/dist/models/theme-base.js +44 -0
  56. package/dist/models/user-mirror.model.js +24 -0
  57. package/dist/models/user-session.model.js +24 -0
  58. package/dist/repositories/angel-friend.repository.interface.js +1 -0
  59. package/dist/repositories/authentication.repository.interface.js +1 -0
  60. package/dist/repositories/base.repository.js +185 -0
  61. package/dist/repositories/locale.repository.interface.js +1 -0
  62. package/dist/repositories/results.repository.interface.js +1 -0
  63. package/dist/repositories/terms-of-use.repository.interface.js +1 -0
  64. package/dist/repositories/theme.repository.interface.js +1 -0
  65. package/dist/repositories/user.repository.interface.js +1 -0
  66. package/dist/services/angel-friend.service.interface.js +1 -0
  67. package/dist/services/authentication.service.interface.js +1 -0
  68. package/dist/services/locale.service.interface.js +1 -0
  69. package/dist/services/results.service.interface.js +1 -0
  70. package/dist/services/terms-of-use.service.interface.js +1 -0
  71. package/dist/services/theme.service.interface.js +1 -0
  72. package/dist/services/user.service.interface.js +1 -0
  73. package/dist/states/index.js +3 -0
  74. package/dist/states/main-container/app.state.interface.js +2 -0
  75. package/dist/states/main-container/plataform.state.interface.js +1 -0
  76. package/dist/states/main-container/root-app.state.interface.js +1 -0
  77. package/dist/utils/build-error/buildError.util.interface.js +1 -0
  78. package/dist/utils/build-error/buildError.util.js +13 -0
  79. package/dist/utils/cache-control.js +121 -0
  80. package/dist/utils/index.js +5 -0
  81. package/dist/utils/query-params/index.js +34 -0
  82. package/dist/utils/robbyson-navigate.js +53 -0
  83. package/importComponents.js +113 -0
  84. package/index.d.ts +43 -0
  85. package/package.json +40 -0
  86. package/src/components/accordion/accordion.interface.ts +26 -0
  87. package/src/components/accordion/accordion.types.d.ts +9 -0
  88. package/src/components/accordion/index.d.ts +1 -0
  89. package/src/components/assets/assets.interfaces.tsx +5 -0
  90. package/src/components/assets/assets.types.d.ts +9 -0
  91. package/src/components/assets/index.d.ts +1 -0
  92. package/src/components/badge/badge.interface.ts +11 -0
  93. package/src/components/badge/badge.types.d.ts +9 -0
  94. package/src/components/badge/index.d.ts +1 -0
  95. package/src/components/balloon/balloon.interface.ts +14 -0
  96. package/src/components/balloon/balloon.types.d.ts +9 -0
  97. package/src/components/balloon/index.d.ts +1 -0
  98. package/src/components/base-component.prop.interface.tsx +4 -0
  99. package/src/components/base-page.prop.interface.tsx +4 -0
  100. package/src/components/base-test.prop.interface.tsx +3 -0
  101. package/src/components/basic-button/basic-button.interface.tsx +10 -0
  102. package/src/components/basic-button/basic-button.types.d.ts +9 -0
  103. package/src/components/basic-button/index.d.ts +1 -0
  104. package/src/components/checkbox/checkbox.interface.ts +8 -0
  105. package/src/components/checkbox/checkbox.types.d.ts +9 -0
  106. package/src/components/checkbox/index.d.ts +1 -0
  107. package/src/components/colors/colors.interfaces.tsx +5 -0
  108. package/src/components/colors/colors.types.d.ts +9 -0
  109. package/src/components/colors/index.d.ts +1 -0
  110. package/src/components/context-menu/context-menu.interface.ts +22 -0
  111. package/src/components/context-menu/context-menu.types.d.ts +9 -0
  112. package/src/components/context-menu/index.d.ts +1 -0
  113. package/src/components/divider/divider.interface.tsx +4 -0
  114. package/src/components/divider/divider.types.d.ts +9 -0
  115. package/src/components/divider/index.d.ts +1 -0
  116. package/src/components/icon-button/icon-button.interface.ts +7 -0
  117. package/src/components/icon-button/icon-button.types.d.ts +9 -0
  118. package/src/components/icon-button/index.d.ts +1 -0
  119. package/src/components/image-progress-graph/image-progress-graph.interface.ts +13 -0
  120. package/src/components/image-progress-graph/image-progress-graph.types.d.ts +9 -0
  121. package/src/components/image-progress-graph/index.d.ts +1 -0
  122. package/src/components/index.tsx +5 -0
  123. package/src/components/menu.interface.tsx +10 -0
  124. package/src/components/modal/index.d.ts +1 -0
  125. package/src/components/modal/modal.interface.ts +20 -0
  126. package/src/components/modal/modal.types.d.ts +10 -0
  127. package/src/components/mood-button/index.d.ts +1 -0
  128. package/src/components/mood-button/mood-button.interface.ts +10 -0
  129. package/src/components/mood-button/mood-button.types.d.ts +9 -0
  130. package/src/components/pages/base-app-page.component.tsx +65 -0
  131. package/src/components/pages/base-app-page.styles.ts +45 -0
  132. package/src/components/pagination/index.d.ts +1 -0
  133. package/src/components/pagination/pagination.interface.ts +14 -0
  134. package/src/components/pagination/pagination.types.d.ts +10 -0
  135. package/src/components/profile-image/index.d.ts +1 -0
  136. package/src/components/profile-image/profile-image.interface.ts +6 -0
  137. package/src/components/profile-image/profile-image.types.d.ts +9 -0
  138. package/src/components/progress-bar/index.d.ts +1 -0
  139. package/src/components/progress-bar/progress-bar.interface.tsx +8 -0
  140. package/src/components/progress-bar/progress-bar.types.d.ts +9 -0
  141. package/src/components/progress-tracker/index.d.ts +1 -0
  142. package/src/components/progress-tracker/progress-tracker.interface.tsx +6 -0
  143. package/src/components/progress-tracker/progress-tracker.types.d.ts +9 -0
  144. package/src/components/radio-button/index.d.ts +1 -0
  145. package/src/components/radio-button/radio-button.interface.ts +5 -0
  146. package/src/components/radio-button/radio-button.types.d.ts +9 -0
  147. package/src/components/scroll-box/index.d.ts +1 -0
  148. package/src/components/scroll-box/scroll-box.interface.ts +9 -0
  149. package/src/components/scroll-box/scroll-box.types.d.ts +9 -0
  150. package/src/components/search-input/index.d.ts +1 -0
  151. package/src/components/search-input/search-input.interfaces.ts +14 -0
  152. package/src/components/search-input/search-input.types.d.ts +9 -0
  153. package/src/components/select/index.d.ts +1 -0
  154. package/src/components/select/select.interface.tsx +18 -0
  155. package/src/components/select/select.types.d.ts +9 -0
  156. package/src/components/sidebar/index.d.ts +1 -0
  157. package/src/components/sidebar/sidebar.interface.ts +12 -0
  158. package/src/components/sidebar/sidebar.types.d.ts +9 -0
  159. package/src/components/snackbar/index.d.ts +1 -0
  160. package/src/components/snackbar/snackbar.interface.ts +16 -0
  161. package/src/components/snackbar/snackbar.types.d.ts +9 -0
  162. package/src/components/speed-dial/index.d.ts +1 -0
  163. package/src/components/speed-dial/speed-dial.interface.ts +16 -0
  164. package/src/components/speed-dial/speed-dial.types.d.ts +9 -0
  165. package/src/components/spin-edit/index.d.ts +1 -0
  166. package/src/components/spin-edit/spin-edit.interface.ts +12 -0
  167. package/src/components/spin-edit/spin-edit.types.d.ts +9 -0
  168. package/src/components/switch/index.d.ts +1 -0
  169. package/src/components/switch/switch.interface.ts +7 -0
  170. package/src/components/switch/switch.types.d.ts +9 -0
  171. package/src/components/tag-expand/index.d.ts +1 -0
  172. package/src/components/tag-expand/tag-expand.interface.ts +9 -0
  173. package/src/components/tag-expand/tag-expand.types.d.ts +9 -0
  174. package/src/components/tags/index.d.ts +1 -0
  175. package/src/components/tags/tags.interface.ts +16 -0
  176. package/src/components/tags/tags.types.d.ts +9 -0
  177. package/src/components/text-field/index.d.ts +1 -0
  178. package/src/components/text-field/text-field.interface.tsx +27 -0
  179. package/src/components/text-field/text-field.types.d.ts +9 -0
  180. package/src/components/timer/index.d.ts +1 -0
  181. package/src/components/timer/timer.interface.ts +12 -0
  182. package/src/components/timer/timer.types.d.ts +9 -0
  183. package/src/components/toggle-icon-button/index.d.ts +1 -0
  184. package/src/components/toggle-icon-button/toggle-icon-button.interface.ts +16 -0
  185. package/src/components/toggle-icon-button/toggle-icon-button.types.d.ts +9 -0
  186. package/src/components/tooltip/index.d.ts +1 -0
  187. package/src/components/tooltip/tooltip.interface.ts +21 -0
  188. package/src/components/tooltip/tooltip.types.d.ts +9 -0
  189. package/src/components/transitions/index.d.ts +1 -0
  190. package/src/components/transitions/transitions.interfaces.ts +5 -0
  191. package/src/components/transitions/transitions.types.d.ts +9 -0
  192. package/src/components/typography/index.d.ts +1 -0
  193. package/src/components/typography/typography.interfaces.tsx +5 -0
  194. package/src/components/typography/typography.types.d.ts +9 -0
  195. package/src/components/upload/index.d.ts +1 -0
  196. package/src/components/upload/upload.interface.tsx +20 -0
  197. package/src/components/upload/upload.types.d.ts +7 -0
  198. package/src/constants/index.ts +1 -0
  199. package/src/constants/layout-dimensions.constants.ts +6 -0
  200. package/src/factories/base.factory.ts +1 -0
  201. package/src/factories/index.ts +1 -0
  202. package/src/factories/response.factory.ts +79 -0
  203. package/src/index.ts +26 -0
  204. package/src/ioc.ts +18 -0
  205. package/src/models/angel-friend-status.model.ts +7 -0
  206. package/src/models/base.repository.model.ts +3 -0
  207. package/src/models/index.d.ts +7 -0
  208. package/src/models/result-level.model.ts +6 -0
  209. package/src/models/send-user-to-login.model.ts +10 -0
  210. package/src/models/term-of-use.model.ts +6 -0
  211. package/src/models/theme-base.ts +171 -0
  212. package/src/models/user-mirror.model.ts +10 -0
  213. package/src/models/user-session.model.ts +103 -0
  214. package/src/repositories/angel-friend.repository.interface.ts +5 -0
  215. package/src/repositories/authentication.repository.interface.ts +14 -0
  216. package/src/repositories/base.repository.tsx +128 -0
  217. package/src/repositories/index.d.ts +7 -0
  218. package/src/repositories/locale.repository.interface.ts +4 -0
  219. package/src/repositories/results.repository.interface.ts +5 -0
  220. package/src/repositories/terms-of-use.repository.interface.ts +6 -0
  221. package/src/repositories/theme.repository.interface.ts +5 -0
  222. package/src/repositories/user.repository.interface.ts +15 -0
  223. package/src/services/angel-friend.service.interface.ts +3 -0
  224. package/src/services/authentication.service.interface.ts +17 -0
  225. package/src/services/index.d.ts +7 -0
  226. package/src/services/locale.service.interface.ts +4 -0
  227. package/src/services/results.service.interface.ts +3 -0
  228. package/src/services/terms-of-use.service.interface.ts +7 -0
  229. package/src/services/theme.service.interface.ts +8 -0
  230. package/src/services/user.service.interface.ts +14 -0
  231. package/src/states/index.ts +3 -0
  232. package/src/states/main-container/app.state.interface.ts +7 -0
  233. package/src/states/main-container/plataform.state.interface.ts +5 -0
  234. package/src/states/main-container/root-app.state.interface.ts +15 -0
  235. package/src/utils/build-error/buildError.util.interface.ts +5 -0
  236. package/src/utils/build-error/buildError.util.ts +13 -0
  237. package/src/utils/cache-control.tsx +92 -0
  238. package/src/utils/index.ts +5 -0
  239. package/src/utils/query-params/index.ts +38 -0
  240. package/src/utils/robbyson-navigate.ts +76 -0
  241. package/tsconfig.json +30 -0
package/src/index.ts ADDED
@@ -0,0 +1,26 @@
1
+ export * from "./ioc";
2
+
3
+ // Factories
4
+ export * from "./factories";
5
+
6
+ // Models
7
+ export * from "./models/theme-base";
8
+ export * from "./models/user-mirror.model";
9
+ export * from "./models/user-session.model";
10
+ export * from "./models/send-user-to-login.model";
11
+ export * from "./models/angel-friend-status.model";
12
+
13
+ // Repositories
14
+ export * from "./repositories/base.repository";
15
+
16
+ // Components
17
+ export * from "./components";
18
+
19
+ // States
20
+ export * from "./states";
21
+
22
+ // Utils
23
+ export * from "./utils";
24
+
25
+ // Constants
26
+ export * from "./constants";
package/src/ioc.ts ADDED
@@ -0,0 +1,18 @@
1
+ export class IoC {
2
+
3
+ private static _registed: { identifier: string, instance: any }[] = [];
4
+
5
+ public static GetInstance<T>(instanceIdentifier: string): T {
6
+ var implementation: any;
7
+ IoC._registed.forEach((registeredInstance) => {
8
+ if (registeredInstance.identifier === instanceIdentifier)
9
+ implementation = registeredInstance.instance as T;
10
+ });
11
+
12
+ return implementation as T;
13
+ }
14
+
15
+ public static Register(instanceIdentifier: string, instance: any) {
16
+ IoC._registed.push({ identifier: instanceIdentifier, instance });
17
+ }
18
+ }
@@ -0,0 +1,7 @@
1
+ import { BaseRepositoryModel } from "./base.repository.model";
2
+
3
+ // TODO: ADD OTHERS TYPES
4
+ export class AngelFriendStatusModel extends BaseRepositoryModel {
5
+ activeSponsorships: [];
6
+ configuration: { possibleGodfather: boolean };
7
+ }
@@ -0,0 +1,3 @@
1
+ export class BaseRepositoryModel {
2
+
3
+ }
@@ -0,0 +1,7 @@
1
+ export * from "./theme-base";
2
+ export * from "./user-session.model";
3
+ export * from "./user-mirror.model";
4
+ export * from "./result-level.model";
5
+ export * from "./angel-friend-status.model";
6
+ export * from "./send-user-to-login.model";
7
+ export * from "./term-of-use.model";
@@ -0,0 +1,6 @@
1
+ import { BaseRepositoryModel } from "./base.repository.model";
2
+
3
+ export class ResultLevelModel extends BaseRepositoryModel {
4
+ level: number;
5
+ kiteLevel: number;
6
+ }
@@ -0,0 +1,10 @@
1
+ export class SendUserToAuthModel {
2
+ login: string;
3
+ password: string;
4
+ system_id: number;
5
+ recaptchaResponse?: string | null;
6
+ timeZone: {
7
+ local: string;
8
+ offset: number;
9
+ };
10
+ }
@@ -0,0 +1,6 @@
1
+ import { BaseRepositoryModel } from "./base.repository.model";
2
+
3
+ export class TermsOfUseModel extends BaseRepositoryModel {
4
+ _id: string;
5
+ texto: string;
6
+ }
@@ -0,0 +1,171 @@
1
+
2
+ class ThemeBaseColors {
3
+ primary1: string;
4
+ primary2: string;
5
+ secondary1: string;
6
+ secondary2: string;
7
+ secondary3: string;
8
+ brand1: string;
9
+ brand2: string;
10
+ hover1: string;
11
+ solidBackground: string;
12
+ gradientBackground: string;
13
+ levels: {
14
+ shade100: string,
15
+ shade75: string,
16
+ shade50: string,
17
+ shade25: string,
18
+ radialGradient: string;
19
+ }[];
20
+ neutral90: string;
21
+ neutral80: string;
22
+ neutral70: string;
23
+ neutral60: string;
24
+ neutral50: string;
25
+ neutral40: string;
26
+ neutral30: string;
27
+ neutral20: string;
28
+ neutral10: string;
29
+ neutral0: string;
30
+ successes: {
31
+ text: string,
32
+ hover: string,
33
+ dark: string,
34
+ default: string,
35
+ light: string,
36
+ background: string
37
+ };
38
+ errors: {
39
+ text: string,
40
+ hover: string,
41
+ dark: string,
42
+ default: string,
43
+ light: string,
44
+ background: string
45
+ };
46
+ warnings: {
47
+ text: string,
48
+ hover: string,
49
+ dark: string,
50
+ default: string,
51
+ light: string,
52
+ background: string
53
+ };
54
+ itemsTags: {
55
+ experience: {
56
+ text: string,
57
+ background: string
58
+ },
59
+ physical: {
60
+ text: string,
61
+ background: string
62
+ },
63
+ auction: {
64
+ text: string,
65
+ background: string
66
+ },
67
+ raffle: {
68
+ text: string,
69
+ background: string
70
+ },
71
+ crowdfunding: {
72
+ text: string,
73
+ background: string
74
+ },
75
+ voucher: {
76
+ text: string,
77
+ background: string
78
+ }
79
+ };
80
+ complementary: {
81
+ agendaReminder: string;
82
+ };
83
+
84
+ }
85
+
86
+ export type IconHandle = 'active-bold' | 'active-thin' | 'add-challenge-bold' | 'avatar-login' | 'add-challenge-thin' | 'add-notification-bold' | 'add-notification-thin' | 'add-quiz-bold' | 'add-quiz-thin' | 'angel-friend-add-bold' | 'angel-friend-add-thin' | 'angel-friend-bold' | 'angel-friend-thin' | 'attachment-bold' | 'attachment-thin' | 'auction-bold' | 'auction-thin' | 'available-bold' | 'available-thin' | 'broadcast-bold' | 'broadcast-thin' | 'calendar-bold' | 'calendar-thin' | 'camera-bold' | 'camera-thin' | 'cancel-bold' | 'cancel-thin' | 'challenge-bold' | 'challenge-thin' | 'chat-bold' | 'chatbot-bold' | 'chatbot-thin' | 'chat-fil-bold' | 'chat-fill-thin' | 'chat-smile-bold' | 'chat-smile-thin' | 'chat-thin' | 'check-bold' | 'check-thin' | 'chocolate-menu' | 'chronometer-bold' | 'chronometer-thin' | 'clock-bold' | 'clock-thin' | 'close-bold' | 'close-thin' | 'cloud-bold' | 'cloud-thin' | 'coin-bold' | 'coin-thin' | 'column-view-active-bold' | 'column-view-active-thin' | 'column-view-bold' | 'column-view-thin' | 'contacts-bold' | 'contacts-thin' | 'delete-bold' | 'delete-thin' | 'documents-bold' | 'documents-thin' | 'down-arrow' | 'download-bold' | 'download-thin' | 'downward-arrow-bold' | 'downward-arrow-thin' | 'duplicate-bold' | 'duplicate-thin' | 'eagle-bold' | 'eagle-thin' | 'edit-bold' | 'edit-thin' | 'emoji-bold' | 'emoji-thin' | 'family-bold' | 'family-thin' | 'filter-active-bold' | 'filter-active-thin' | 'filter-inactive-bold' | 'filter-inactive-thin' | 'filter' | 'forward-bold' | 'forward-thin' | 'goal-bold' | 'goal-thin' | 'grid-view-active-bold' | 'grid-view-active-thin' | 'grid-view-bold' | 'grid-view-thin' | 'group-bold' | 'group-brackets-bold' | 'group-brackets-thin' | 'group-fill-bold' | 'group-fill-thin' | 'group-thin' | 'guide-bold' | 'guide-thin' | 'health-bold' | 'health-thin' | 'heart-bold' | 'heart-fill-bold' | 'heart-fill-thin' | 'heart-thin' | 'humor-bold' | 'humor-thin' | 'inactive-bold' | 'inactive-thin' | 'indicator-bold' | 'indicator-thin' | 'info-bold' | 'info-thin' | 'integration-bold' | 'integration-thin' | 'learning-bold' | 'learning-thin' | 'leave-bold' | 'leave-thin' | 'left-arrow-large' | 'left-arrow-small' | 'like-bold' | 'like-fill-bold' | 'like-fill-thin' | 'like-thin' | 'magnifying-glass-bold' | 'magnifying-glass-thin' | 'minus' | 'more-vert' | 'mountain-bold' | 'mountain-thin' | 'new-document-bold' | 'new-document-thin' | 'new-tip-thin-1' | 'new-tip-thin' | 'notification-bold' | 'notification-thin' | 'objetive-bold' | 'objetive-thin' | 'order-bold-1' | 'order-bold' | 'order-thin-1' | 'order-thin' | 'performance-bold' | 'performance-thin' | 'phone-bold' | 'phone-thin' | 'plus' | 'quiz-bold' | 'quiz-thin' | 'raffle-bold' | 'raffle-draw-bold' | 'raffle-draw-thin' | 'raffle-thin' | 'relationship-bold' | 'relationship-thin' | 'reports-bold' | 'reports-thin' | 'right-arrow-large' | 'right-arrow-small' | 'send-bold' | 'send-thin' | 'settings-bold' | 'settings-thin' | 'star-bold' | 'star-thin' | 'store-bold' | 'store-item-bold' | 'store-item-thin' | 'store-thin' | 'tag-bold' | 'tag-thin' | 'test-bold' | 'test-thin' | 'tips-bold' | 'tips-thin' | 'tree-bold' | 'tree-thin' | 'trophy-bold' | 'trophy-thin' | 'up-arrow' | 'upload-bold' | 'upload-thin' | 'upward-arrow-bold' | 'upward-arrow-thin' | 'user-bold' | 'user-thin' | 'variable-pay-bold' | 'variable-pay-thin' | 'view-bold' | 'view-thin' | 'not-view-thin' | 'not-view-bold' | 'work-bold' | 'working' | 'work-thin';
87
+
88
+ class ThemeBaseRect {
89
+ top: string;
90
+ right: string;
91
+ bottom: string;
92
+ left: string;
93
+ }
94
+
95
+ class ThemeTypography {
96
+ fontFamily: string; // font-family
97
+ size: string; // size
98
+ textTransform: string; //text-transform
99
+ letterSpacing: string; //letter-spacing
100
+ lineHeight: string; //line-height
101
+ fontWeight: string; //font-weight
102
+ }
103
+
104
+ class ThemeTransition {
105
+ transitionPrimary1: string;
106
+ }
107
+
108
+ class ThemeAssets {
109
+ src: string;
110
+ width: string;
111
+ height: string;
112
+ }
113
+
114
+ export class ThemeBase {
115
+ colors: ThemeBaseColors;
116
+ fonts: {
117
+ fontFamily: string; // font-family
118
+ fontWeight: string; // font-weight
119
+ fontStyle: string; // font-style
120
+ src: string; // src
121
+ }[];
122
+ transitions: ThemeTransition;
123
+ typography: {
124
+ h1: ThemeTypography,
125
+ h2: ThemeTypography,
126
+ h3: ThemeTypography,
127
+ h4: ThemeTypography,
128
+ h5: ThemeTypography,
129
+ h6: ThemeTypography,
130
+ subtitle1: ThemeTypography,
131
+ subtitle2: ThemeTypography,
132
+ body1Medium: ThemeTypography,
133
+ body1Book: ThemeTypography,
134
+ body1BookItalic: ThemeTypography,
135
+ body1Link: ThemeTypography,
136
+ body2Medium: ThemeTypography,
137
+ body2Book: ThemeTypography,
138
+ buttonMedium: ThemeTypography,
139
+ chip: ThemeTypography,
140
+ chipMedium: ThemeTypography,
141
+ overline: ThemeTypography,
142
+ small: ThemeTypography,
143
+ toolTip: ThemeTypography,
144
+ };
145
+ assets: {
146
+ logoText: ThemeAssets;
147
+ logoComplete: ThemeAssets;
148
+ logoIcon: ThemeAssets;
149
+ logoTextNegative: ThemeAssets;
150
+ logoCompleteNegative: ThemeAssets;
151
+ logoIconNegative: ThemeAssets;
152
+ backgroundLogo: ThemeAssets;
153
+ logoMobile: ThemeAssets;
154
+ loginRobbysonAvatar: ThemeAssets;
155
+ };
156
+
157
+ constructor() {
158
+ this.colors = new ThemeBaseColors();
159
+ this.assets = {
160
+ logoText: new ThemeAssets(),
161
+ logoComplete: new ThemeAssets(),
162
+ logoIcon: new ThemeAssets(),
163
+ logoTextNegative: new ThemeAssets(),
164
+ logoCompleteNegative: new ThemeAssets(),
165
+ logoIconNegative: new ThemeAssets(),
166
+ backgroundLogo: new ThemeAssets(),
167
+ logoMobile: new ThemeAssets(),
168
+ loginRobbysonAvatar: new ThemeAssets(),
169
+ };
170
+ }
171
+ };
@@ -0,0 +1,10 @@
1
+ import { BaseRepositoryModel } from "./base.repository.model";
2
+
3
+ export class UserMirrorModel extends BaseRepositoryModel {
4
+ beginDate: Date;
5
+ endDate: Date;
6
+ identification: string;
7
+ name: string;
8
+ user_id: string;
9
+ _id: string;
10
+ }
@@ -0,0 +1,103 @@
1
+ import { BaseRepositoryModel } from "./base.repository.model";
2
+ import { UserMirrorModel } from "./user-mirror.model";
3
+
4
+ export class UserSessionModel extends BaseRepositoryModel {
5
+ _id: number;
6
+ name: string;
7
+ identification: string;
8
+ externalKey: string;
9
+ RobbysonUserId: number;
10
+ primaryAttribute: {
11
+ attribute: {
12
+ _id: string,
13
+ primary: boolean
14
+ },
15
+ _id: string,
16
+ active: boolean
17
+ };
18
+ passwordUpdatedAt: Date;
19
+ hierarchy: {
20
+ hierarchyLevel: {
21
+ _id: string,
22
+ name: string,
23
+ weight: number,
24
+ permission: {
25
+ application: {
26
+ _id: number,
27
+ description: string
28
+ },
29
+ _id: string,
30
+ send?: boolean,
31
+ receive?: boolean
32
+ }[]
33
+ },
34
+ parents: string[];
35
+ _id: string;
36
+ date: Date;
37
+ identification: string,
38
+ attributes:
39
+ {
40
+ attribute: {
41
+ _id: string,
42
+ primary: boolean
43
+ },
44
+ _id: string,
45
+ active: boolean
46
+ }[],
47
+ name: string
48
+ };
49
+ nickname: string;
50
+ about: string;
51
+ contractor: { // @TODO: this field is not completed filled as ClienteRobbyson and both needs to be the same, fix it at service-authentication
52
+ _id: number,
53
+ active: boolean,
54
+ closingDay: number,
55
+ coins_indicator_id: number,
56
+ enableEAD: boolean,
57
+ enableHumor: boolean,
58
+ enableRobbysonCorporateApp: boolean,
59
+ enableMeetings: boolean,
60
+ locale: {
61
+ identifier: string,
62
+ name: string
63
+ },
64
+ minDaysToEarnCoins: number,
65
+ name: string,
66
+ timezone: string,
67
+ usesAccessControl: boolean,
68
+ usesCustomClosingDay: boolean,
69
+ usesExternalAuthentication: boolean,
70
+ passwordLength?: number,
71
+ passwordExpirationDays?: number,
72
+ usesSpeedTest: boolean,
73
+ sessionTime?: boolean
74
+ };
75
+ ClienteRobbyson: { // @TODO: Merge it with contractor
76
+ IdIndicadorTaxaAcesso: number,
77
+ IdIndicadorHumorToPraBaixo: number,
78
+ IdIndicadorHumorToDeBoa: number,
79
+ IdIndicadorHumorTopDeMais: number,
80
+ IdClassificacaoMensagemPrivada: number,
81
+ usesRobbysonAuthentication: boolean,
82
+ externalAuth?: boolean,
83
+ usesCustomClosingDay: boolean,
84
+ idAngelFriendClassification: number,
85
+ enableGuidance: boolean,
86
+ treeVisualizationMonths: number,
87
+ embeddedThirdPartyRv: boolean,
88
+ chatSendFiles: boolean,
89
+ chatMaxSizeFile?: number
90
+ };
91
+ UsuarioAceitouTermoUsoAtual: boolean;
92
+ isAcceptedLastUseTerm: boolean;
93
+ UsuarioJaLogou: boolean;
94
+ firstAccess: boolean;
95
+ forceAvatarDisplay?: boolean;
96
+ Admin: boolean;
97
+ Operation: boolean;
98
+ login: string;
99
+ system_id: number;
100
+ mirror: boolean;
101
+ userMirror?: UserMirrorModel;
102
+ SessionKey: string;
103
+ }
@@ -0,0 +1,5 @@
1
+ import { AngelFriendStatusModel } from "../models";
2
+
3
+ export interface IAngelFriendRepository {
4
+ getAngelFriendStatus(_id: number): Promise<AngelFriendStatusModel>;
5
+ }
@@ -0,0 +1,14 @@
1
+ import { UserSessionModel, SendUserToAuthModel } from "../models";
2
+
3
+ export interface IAuthenticationRepository {
4
+ auth({
5
+ login,
6
+ password,
7
+ system_id,
8
+ recaptchaResponse,
9
+ timeZone,
10
+ }: SendUserToAuthModel): Promise<UserSessionModel>;
11
+
12
+ getRecaptchaWhiteListed(): Promise<boolean>;
13
+
14
+ }
@@ -0,0 +1,128 @@
1
+ import axios, { AxiosInstance, AxiosRequestConfig } from 'axios';
2
+ import moment from 'moment';
3
+ import { CacheConfig, CacheControl, Cache } from '../utils';
4
+ import sha1 from 'crypto-js/sha1';
5
+ import { GlobalStore, IGlobalStore } from 'redux-micro-frontend';
6
+ import { IPlatformState } from '../states';
7
+ import { ResponseFactory } from '../factories';
8
+
9
+ export class BaseRepository {
10
+
11
+ protected _axioInstance: AxiosInstance;
12
+ private static _sessionKey: string = "";
13
+ private static _systemId: number = 1;
14
+ private static _baseURL: string = "";
15
+ private static _source: any;
16
+
17
+ private static _globalStore: IGlobalStore;
18
+ private static _globalState: IPlatformState;
19
+
20
+ public constructor() {
21
+ this._axioInstance = axios.create({
22
+ headers: {
23
+ Accept: 'application/json',
24
+ 'Content-Type': 'application/json',
25
+ },
26
+ });
27
+ BaseRepository.updateGlobalState();
28
+ this.configure();
29
+ }
30
+
31
+ protected static updateGlobalState() {
32
+ BaseRepository._globalStore = GlobalStore.Get();
33
+ BaseRepository._globalState = BaseRepository._globalStore.GetGlobalState();
34
+ }
35
+
36
+ protected async get<T>(url: string, config?: CacheConfig): Promise<T> {
37
+ if (config && config.cache) {
38
+ return new Promise(async (resolve, reject) => {
39
+ try {
40
+
41
+ const key: string = sha1(
42
+ url + JSON.stringify(config.params),
43
+ ).toString();
44
+
45
+ const { expire, value }: Cache =
46
+ (await CacheControl.getCache(key)) || {};
47
+
48
+ const isExpired: boolean = moment().isSameOrAfter(
49
+ moment(expire),
50
+ );
51
+
52
+ if (value && !isExpired) {
53
+ console.log('RECOVERED FROM CACHE', url);
54
+ return setTimeout(
55
+ () => resolve(value),
56
+ config.delayOnCache || 0,
57
+ );
58
+ }
59
+
60
+ const response = ResponseFactory.Create<T>(await this._axioInstance.get(url, config));
61
+ console.log('SENT REQUEST', url);
62
+ CacheControl.setCache(
63
+ key,
64
+ response,
65
+ config.maxAge || [0, 'seconds'],
66
+ config.type,
67
+ );
68
+ return setTimeout(
69
+ () => resolve(response),
70
+ config.delayOnCache || 0,
71
+ );
72
+ } catch (error) {
73
+ console.log('====================> ERROR CACHE', error);
74
+ reject(error);
75
+ }
76
+ });
77
+ }
78
+ return ResponseFactory.Create<T>(await this._axioInstance.get(url, config));
79
+ }
80
+
81
+ protected async post<T>(url: string, data: any, config?: AxiosRequestConfig): Promise<T> {
82
+ return ResponseFactory.Create<T>( await this._axioInstance.post(url, data, config));
83
+ }
84
+
85
+ protected async delete<T>(url: string, data: any, config?: AxiosRequestConfig): Promise<T> {
86
+ return ResponseFactory.Create<T>(await this._axioInstance.delete(url, config));
87
+ }
88
+
89
+ protected async put<T>(url: string, data: any, config?: AxiosRequestConfig): Promise<T> {
90
+ return ResponseFactory.Create<T>(await this._axioInstance.put(url, data, config));
91
+ }
92
+
93
+ protected async patch<T>(url: string, data: any, config?: AxiosRequestConfig): Promise<T> {
94
+ return ResponseFactory.Create<T>(await this._axioInstance.patch(url, data, config));
95
+ }
96
+
97
+ public configure() {
98
+ this._axioInstance.interceptors.request.clear();
99
+ this._axioInstance.interceptors.request.use(
100
+ this.axioConfigurationMiddleware,
101
+ error => Promise.reject(error),
102
+ );
103
+ this._axioInstance.interceptors.response.use((res) => {
104
+ return res
105
+ }, (err) => {
106
+ Promise.reject(ResponseFactory.Create<any>(err))
107
+ })
108
+ }
109
+
110
+ public axioConfigurationMiddleware(config: any) {
111
+ BaseRepository.updateGlobalState();
112
+
113
+ config.url = `${BaseRepository._globalState.Global.RootApp.apisUrls.private}${config.url}`;
114
+ if (BaseRepository._source && BaseRepository._source.token) {
115
+ config.cancelToken = BaseRepository._source.token;
116
+ }
117
+
118
+ const sessionKey = BaseRepository._globalState.Global.RootApp.userSession?.SessionKey;
119
+
120
+ if (sessionKey) {
121
+ config.headers.SessionKey = sessionKey;
122
+ }
123
+
124
+ config.headers['x-system-id'] = BaseRepository._systemId;
125
+
126
+ return config;
127
+ }
128
+ }
@@ -0,0 +1,7 @@
1
+ export * from './authentication.repository.interface';
2
+ export * from './locale.repository.interface';
3
+ export * from './theme.repository.interface';
4
+ export * from './results.repository.interface';
5
+ export * from './angel-friend.repository.interface';
6
+ export * from './user.repository.interface';
7
+ export * from "./terms-of-use.repository.interface";
@@ -0,0 +1,4 @@
1
+ export interface ILocaleRepository {
2
+ getByContractor(contractorId: number, languageIdentifier: string): Promise<any>;
3
+ getByHeader(): Promise<any>;
4
+ }
@@ -0,0 +1,5 @@
1
+ import { ResultLevelModel } from "../models";
2
+
3
+ export interface IResultsRepository {
4
+ getMonthlyKiteLevelResults(identification: string): Promise<ResultLevelModel>;
5
+ }
@@ -0,0 +1,6 @@
1
+ import { TermsOfUseModel } from "../models";
2
+
3
+ export interface ITermsOfUseRepository {
4
+ getTermsOfUse(attributesIds: string[]): Promise<TermsOfUseModel>;
5
+ acceptTermsOfUse(_id: string): Promise<void>;
6
+ }
@@ -0,0 +1,5 @@
1
+ import { ThemeBase } from "../models/theme-base";
2
+
3
+ export interface IThemeRepository {
4
+ getContractorTheme(contractorId: number): Promise<ThemeBase>;
5
+ }
@@ -0,0 +1,15 @@
1
+ import { UserMirrorModel } from "../models";
2
+
3
+ export interface IUserRepository {
4
+ getRobbysonUser(body: {
5
+ filter: {
6
+ robbyson_user_id: number[],
7
+ },
8
+ pagination: {
9
+ limit: number,
10
+ },
11
+ }): Promise<any>;
12
+
13
+ getUserMirror(_id: number): Promise<UserMirrorModel>;
14
+
15
+ }
@@ -0,0 +1,3 @@
1
+ export interface IAngelFriendService {
2
+ getAngelFriendStatus(_id: number): Promise<void>;
3
+ }
@@ -0,0 +1,17 @@
1
+ import { SendUserToAuthModel, UserSessionModel } from "../models";
2
+
3
+ export interface IAuthenticationService {
4
+ auth({
5
+ login,
6
+ password,
7
+ system_id,
8
+ recaptchaResponse,
9
+ }: SendUserToAuthModel): Promise<UserSessionModel>;
10
+
11
+ getLoggedUser(): UserSessionModel;
12
+ checkSession(): boolean;
13
+ getUserSession(): UserSessionModel | undefined
14
+ clearSession(): void;
15
+ ipWhiteList(): boolean;
16
+ getRecaptchaWhiteListed(): Promise<void>;
17
+ }
@@ -0,0 +1,7 @@
1
+ export * from "./authentication.service.interface";
2
+ export * from "./locale.service.interface";
3
+ export * from "./theme.service.interface";
4
+ export * from "./results.service.interface";
5
+ export * from "./angel-friend.service.interface";
6
+ export * from "./user.service.interface";
7
+ export * from "./terms-of-use.service.interface";
@@ -0,0 +1,4 @@
1
+ export interface ILocaleService {
2
+ setApplicationLocale(contractorId?: number, languageIdentifier?: string): Promise<Boolean>;
3
+ getLocaleByHandle(handle: string, ...args: string[]): string
4
+ }
@@ -0,0 +1,3 @@
1
+ export interface IResultsService {
2
+ getMonthlyKiteLevelResults(identification: string): Promise<void>;
3
+ }
@@ -0,0 +1,7 @@
1
+ import { TermsOfUseModel } from "../models";
2
+
3
+ export interface ITermsOfUseService {
4
+ getTermsOfUse(attributesIds: string[]): Promise<TermsOfUseModel>;
5
+ acceptTermsOfUse(_id: string): Promise<void>;
6
+ acceptTermsOfUseAndUpdateUserSession(_id: string): Promise<void>;
7
+ }
@@ -0,0 +1,8 @@
1
+ import { IconHandle } from "../models";
2
+
3
+ export interface IThemeService {
4
+ setApplicationTheme(contractorId?: number): Promise<Boolean>;
5
+ getIconAssetUrl(iconHandle: IconHandle): string;
6
+ getIconsList(): readonly IconHandle[];
7
+ getIconsPath(): string;
8
+ }
@@ -0,0 +1,14 @@
1
+ import { UserMirrorModel } from "../models";
2
+
3
+ export interface IUserService {
4
+ getRobbysonUser(body: {
5
+ filter: {
6
+ robbyson_user_id: number[],
7
+ },
8
+ pagination: {
9
+ limit: number,
10
+ },
11
+ }): Promise<any>;
12
+
13
+ getUserMirror(_id: number): Promise<UserMirrorModel>;
14
+ }
@@ -0,0 +1,3 @@
1
+ export * from './main-container/plataform.state.interface';
2
+ export * from './main-container/app.state.interface';
3
+ export * from './main-container/root-app.state.interface';