robbyson-frontend-library 0.0.1-rc9 → 1.0.0

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 (219) hide show
  1. package/dist/components/circular-progress/circular-progress.interface.js +1 -0
  2. package/dist/components/daily-chart/daily-chart.interface.js +1 -0
  3. package/dist/components/date-picker/date-picker.interface.js +1 -0
  4. package/dist/components/drawer/drawer.interface.js +1 -0
  5. package/dist/components/dropdown/dropdown.interface.js +1 -0
  6. package/dist/components/filter/filter.interface.js +1 -0
  7. package/dist/components/header-context-menu/header-context-menu.interface.js +1 -0
  8. package/dist/components/insight-chart/insight-chart.interface.js +1 -0
  9. package/dist/components/loading/loading.interface.js +1 -0
  10. package/dist/components/mountain-chart/mountain-chart.interface.js +1 -0
  11. package/dist/components/pages/base-app-page.component.js +30 -5
  12. package/dist/components/pages/base-app-page.styles.js +11 -5
  13. package/dist/components/pdf-viewer/pdf-viewer.interface.js +1 -0
  14. package/dist/components/primary-tag/primary-tag.interface.js +1 -0
  15. package/dist/components/range-date-picker/range-date-picker.interface.js +1 -0
  16. package/dist/components/result-chart/result-chart.interface.js +1 -0
  17. package/dist/components/sort/sort.interface.js +1 -0
  18. package/dist/components/tab/tab.interface.js +1 -0
  19. package/dist/components/tag/tag.interface.js +1 -0
  20. package/dist/components/terms-of-use/terms-of-use.interface.js +1 -0
  21. package/dist/components/text-area/text-area.interface.js +1 -0
  22. package/dist/components/time-picker/time-picker.interface.js +1 -0
  23. package/dist/components/tree-date-picker/tree-date-picker.interface.js +1 -0
  24. package/dist/components/weekly-chart/weekly-chart.interface.js +1 -0
  25. package/dist/constants/layout-dimensions.constants.js +3 -3
  26. package/dist/factories/index.js +1 -0
  27. package/dist/factories/query-params.factory.js +52 -0
  28. package/dist/factories/response.factory.js +3 -2
  29. package/dist/index.js +18 -1
  30. package/dist/models/agenda-invited-users.model.js +24 -0
  31. package/dist/models/agenda.model.js +36 -0
  32. package/dist/models/chat.model.js +11 -0
  33. package/dist/models/document.model.js +24 -0
  34. package/dist/models/friendship-team-list.model.js +1 -0
  35. package/dist/models/guidance-category.model.js +24 -0
  36. package/dist/models/guidance-query.model.js +24 -0
  37. package/dist/models/guidance.model.js +40 -0
  38. package/dist/models/http-response.model.js +11 -0
  39. package/dist/models/humor-list.model.js +24 -0
  40. package/dist/models/humor-register.model.js +40 -0
  41. package/dist/models/quiz-answered.model.js +24 -0
  42. package/dist/models/quiz-not-answered.model.js +24 -0
  43. package/dist/models/quiz.model.js +24 -0
  44. package/dist/models/theme-base.js +220 -1
  45. package/dist/models/user-list.model.js +24 -0
  46. package/dist/models/user.model.js +24 -0
  47. package/dist/repositories/agenda.repository.interface.js +1 -0
  48. package/dist/repositories/chat.repository.interface.js +1 -0
  49. package/dist/repositories/configuration.repository.interface.js +1 -0
  50. package/dist/repositories/document.repository.interface.js +1 -0
  51. package/dist/repositories/friendship.repository.interface.js +1 -0
  52. package/dist/repositories/guidance.repository.interface.js +1 -0
  53. package/dist/repositories/humor.repository.interface.js +1 -0
  54. package/dist/repositories/quiz.repository.interface.js +1 -0
  55. package/dist/services/agenda.service.interface.js +1 -0
  56. package/dist/services/chat.service.interface.js +1 -0
  57. package/dist/services/document.service.interface.js +1 -0
  58. package/dist/services/dtos/agenda.dto.js +1 -0
  59. package/dist/services/dtos/chat.dto.js +1 -0
  60. package/dist/services/dtos/example.dto.js +1 -0
  61. package/dist/services/dtos/friendship.dto.js +1 -0
  62. package/dist/services/dtos/index.js +6 -0
  63. package/dist/services/dtos/quiz.dto.js +1 -0
  64. package/dist/services/dtos/user.dto.js +1 -0
  65. package/dist/services/friendship.service.interface.js +1 -0
  66. package/dist/services/guidance.service.interface.js +1 -0
  67. package/dist/services/humor.service.interface.js +1 -0
  68. package/dist/services/quiz.service.interface.js +1 -0
  69. package/dist/services/tree.service.interface.js +1 -0
  70. package/dist/types/index.js +1 -0
  71. package/dist/types/tree/index.js +1 -0
  72. package/dist/types/tree/tree.types.js +15 -0
  73. package/dist/utils/build-error/buildError.util.js +1 -1
  74. package/dist/utils/date.utils.js +53 -0
  75. package/dist/utils/index.js +3 -0
  76. package/dist/utils/layout.utils.js +10 -0
  77. package/dist/utils/robbyson-navigate.js +8 -1
  78. package/dist/utils/timer.utils.js +22 -0
  79. package/index.d.ts +22 -2
  80. package/package.json +9 -6
  81. package/src/components/balloon/balloon.interface.ts +2 -2
  82. package/src/components/basic-button/basic-button.interface.ts +4 -2
  83. package/src/components/checkbox/checkbox.interface.ts +2 -0
  84. package/src/components/circular-general-level/circular-general-level.interface.ts +13 -0
  85. package/src/components/circular-general-level/circular-general-level.types.d.ts +9 -0
  86. package/src/components/circular-general-level/index.d.ts +1 -0
  87. package/src/components/circular-indicator-goal/circular-indicator-goal.interface.ts +13 -0
  88. package/src/components/circular-indicator-goal/circular-indicator-goal.types.d.ts +9 -0
  89. package/src/components/circular-indicator-goal/index.d.ts +1 -0
  90. package/src/components/circular-progress/circular-progress.interface.ts +12 -0
  91. package/src/components/circular-progress/circular-progress.types.d.ts +9 -0
  92. package/src/components/circular-progress/index.d.ts +1 -0
  93. package/src/components/daily-chart/daily-chart.interface.ts +22 -0
  94. package/src/components/daily-chart/daily-chart.types.d.ts +9 -0
  95. package/src/components/daily-chart/index.d.ts +1 -0
  96. package/src/components/date-picker/date-picker.interface.ts +15 -0
  97. package/src/components/date-picker/date-picker.types.d.ts +10 -0
  98. package/src/components/date-picker/index.d.ts +1 -0
  99. package/src/components/{mobile-filter/mobile-filter.interface.ts → drawer/drawer.interface.ts} +3 -1
  100. package/src/components/drawer/drawer.types.d.ts +10 -0
  101. package/src/components/drawer/index.d.ts +1 -0
  102. package/src/components/dropdown/dropdown.interface.ts +52 -0
  103. package/src/components/dropdown/dropdown.types.d.ts +9 -0
  104. package/src/components/dropdown/index.d.ts +1 -0
  105. package/src/components/filter/filter.interface.tsx +3 -1
  106. package/src/components/header-context-menu/header-context-menu.interface.ts +1 -1
  107. package/src/components/icon-button/icon-button.interface.ts +1 -1
  108. package/src/components/insight-chart/index.d.ts +1 -0
  109. package/src/components/insight-chart/insight-chart.interface.ts +23 -0
  110. package/src/components/insight-chart/insight-chart.types.d.ts +9 -0
  111. package/src/components/modal/modal.interface.ts +19 -10
  112. package/src/components/mood-button/mood-button.interface.ts +2 -2
  113. package/src/components/mountain-chart/index.d.ts +1 -0
  114. package/src/components/mountain-chart/mountain-chart.interface.ts +11 -0
  115. package/src/components/mountain-chart/mountain-chart.types.d.ts +9 -0
  116. package/src/components/pages/base-app-page.component.tsx +11 -2
  117. package/src/components/pages/base-app-page.styles.ts +14 -1
  118. package/src/components/pagination/pagination.interface.ts +3 -0
  119. package/src/components/primary-tag/index.d.ts +1 -0
  120. package/src/components/primary-tag/primary-tag.interface.ts +21 -0
  121. package/src/components/primary-tag/primary-tag.types.d.ts +9 -0
  122. package/src/components/profile-image/profile-image.interface.ts +1 -1
  123. package/src/components/progress-bar/progress-bar.interface.ts +15 -5
  124. package/src/components/progress-bar/progress-bar.types.d.ts +1 -1
  125. package/src/components/range-date-picker/index.d.ts +1 -0
  126. package/src/components/range-date-picker/range-date-picker.interface.ts +16 -0
  127. package/src/components/range-date-picker/range-date-picker.types.d.ts +10 -0
  128. package/src/components/result-chart/index.d.ts +1 -0
  129. package/src/components/result-chart/result-chart.interface.ts +25 -0
  130. package/src/components/result-chart/result-chart.types.d.ts +9 -0
  131. package/src/components/scroll-box/scroll-box.interface.ts +3 -1
  132. package/src/components/sidebar/sidebar.interface.ts +6 -0
  133. package/src/components/sort/sort.interface.ts +10 -3
  134. package/src/components/tab/index.d.ts +1 -0
  135. package/src/components/tab/tab.interface.ts +17 -0
  136. package/src/components/tab/tab.types.d.ts +9 -0
  137. package/src/components/tag/index.d.ts +1 -0
  138. package/src/components/tag/tag.interface.ts +8 -0
  139. package/src/components/tag/tag.types.d.ts +9 -0
  140. package/src/components/tag-expand/tag-expand.interface.ts +1 -0
  141. package/src/components/terms-of-use/index.d.ts +1 -0
  142. package/src/components/terms-of-use/terms-of-use.interface.tsx +13 -0
  143. package/src/components/terms-of-use/terms-of-use.types.d.ts +11 -0
  144. package/src/components/text-area/index.d.ts +1 -0
  145. package/src/components/text-area/text-area.interface.ts +3 -0
  146. package/src/components/text-area/text-area.types.d.ts +9 -0
  147. package/src/components/text-field/text-field.interface.ts +30 -8
  148. package/src/components/time-picker/index.d.ts +1 -0
  149. package/src/components/time-picker/time-picker.interface.ts +15 -0
  150. package/src/components/time-picker/time-picker.types.d.ts +9 -0
  151. package/src/components/timer/timer.interface.ts +1 -2
  152. package/src/components/toggle-icon-button/toggle-icon-button.interface.ts +0 -3
  153. package/src/components/tooltip/tooltip.interface.ts +20 -13
  154. package/src/components/tree-date-picker/index.d.ts +1 -0
  155. package/src/components/tree-date-picker/tree-date-picker.interface.ts +30 -0
  156. package/src/components/tree-date-picker/tree-date-picker.types.d.ts +10 -0
  157. package/src/components/weekly-chart/index.d.ts +1 -0
  158. package/src/components/weekly-chart/weekly-chart.interface.ts +22 -0
  159. package/src/components/weekly-chart/weekly-chart.types.d.ts +9 -0
  160. package/src/constants/layout-dimensions.constants.ts +3 -3
  161. package/src/factories/response.factory.ts +16 -11
  162. package/src/index.ts +16 -2
  163. package/src/models/agenda-invited-users.model.ts +37 -0
  164. package/src/models/agenda.model.ts +31 -0
  165. package/src/models/chat.model.ts +28 -0
  166. package/src/models/document.model.ts +27 -0
  167. package/src/models/friendship-team-list.model.ts +47 -0
  168. package/src/models/humor-list.model.ts +23 -0
  169. package/src/models/humor-register.model.ts +35 -0
  170. package/src/models/index.d.ts +12 -0
  171. package/src/models/quiz-answered.model.ts +28 -0
  172. package/src/models/quiz-not-answered.model.ts +5 -0
  173. package/src/models/quiz.model.ts +55 -0
  174. package/src/models/theme-base.ts +297 -67
  175. package/src/models/user-list.model.ts +26 -0
  176. package/src/models/user.model.ts +21 -0
  177. package/src/repositories/agenda.repository.interface.ts +26 -0
  178. package/src/repositories/chat.repository.interface.ts +10 -0
  179. package/src/repositories/configuration.repository.interface.ts +5 -0
  180. package/src/repositories/document.repository.interface.ts +17 -0
  181. package/src/repositories/friendship.repository.interface.ts +6 -0
  182. package/src/repositories/humor.repository.interface.ts +10 -0
  183. package/src/repositories/index.d.ts +14 -7
  184. package/src/repositories/quiz.repository.interface.ts +14 -0
  185. package/src/repositories/user.repository.interface.ts +9 -3
  186. package/src/services/agenda.service.interface.ts +39 -0
  187. package/src/services/angel-friend.service.interface.ts +1 -1
  188. package/src/services/chat.service.interface.ts +12 -0
  189. package/src/services/document.service.interface.ts +20 -0
  190. package/src/services/dtos/agenda.dto.ts +38 -0
  191. package/src/services/dtos/chat.dto.ts +24 -0
  192. package/src/services/dtos/friendship.dto.ts +6 -0
  193. package/src/services/dtos/index.ts +6 -1
  194. package/src/services/dtos/quiz.dto.ts +10 -0
  195. package/src/services/dtos/user.dto.ts +24 -0
  196. package/src/services/friendship.service.interface.ts +6 -0
  197. package/src/services/humor.service.interface.ts +12 -0
  198. package/src/services/index.d.ts +8 -1
  199. package/src/services/quiz.service.interface.ts +16 -0
  200. package/src/services/theme.service.interface.ts +3 -2
  201. package/src/services/tree.service.interface.ts +4 -0
  202. package/src/services/user.service.interface.ts +12 -7
  203. package/src/services/validations.service.interface.ts +4 -1
  204. package/src/states/main-container/root-app.state.interface.ts +29 -11
  205. package/src/types/index.ts +1 -0
  206. package/src/types/tree/index.ts +1 -0
  207. package/src/types/tree/tree.types.ts +31 -0
  208. package/src/utils/date.utils.ts +74 -0
  209. package/src/utils/index.ts +4 -1
  210. package/src/utils/layout.utils.ts +7 -0
  211. package/src/utils/timer.utils.ts +19 -0
  212. package/tsconfig.json +4 -1
  213. package/src/components/mobile-filter/index.d.ts +0 -1
  214. package/src/components/mobile-filter/mobile-filter.types.d.ts +0 -9
  215. package/src/components/tags/index.d.ts +0 -1
  216. package/src/components/tags/tags.interface.ts +0 -17
  217. package/src/components/tags/tags.types.d.ts +0 -9
  218. /package/dist/components/{snackbar/snackbar.interface.js → circular-general-level/circular-general-level.interface.js} +0 -0
  219. /package/dist/components/{tags/tags.interface.js → circular-indicator-goal/circular-indicator-goal.interface.js} +0 -0
@@ -0,0 +1,10 @@
1
+ import { ChatModel } from "../models";
2
+ import { ChatDTO, UserDTO } from "../services";
3
+
4
+ export interface IChatRepository {
5
+ getConversations(params: ChatDTO.IGetConversationDTO): Promise<ChatModel[]>;
6
+ createConversation(params: ChatDTO.ICreateConversationDTO): Promise<ChatModel>;
7
+ addUsersToConversation(conversationId: string, users: UserDTO.GetUserDTO[]): Promise<void>;
8
+ deleteConversation(conversationId: string): Promise<void>;
9
+ removeUserFromConversation(conversationId: string, robbysonUserId: number): Promise<void>;
10
+ }
@@ -0,0 +1,5 @@
1
+ export interface IConfigurationRepository {
2
+ getResizableImageURL(imageName: string, dimension: number): string;
3
+ getOriginalImageURL(imageName: string): string;
4
+ getBaseURL(): string;
5
+ }
@@ -0,0 +1,17 @@
1
+ import { DocumentModel } from "../models";
2
+
3
+ export interface IDocumentRepository {
4
+ getUnansweredDocuments(): Promise<{
5
+ items: Array<DocumentModel>;
6
+ numTotalItems: number;
7
+ }>;
8
+ updateDocument(
9
+ id: string,
10
+ data: {
11
+ answered?: boolean;
12
+ accepted?: boolean;
13
+ observation?: string;
14
+ viewed?: boolean;
15
+ }
16
+ ): Promise<void>;
17
+ }
@@ -0,0 +1,6 @@
1
+ import { FriendShipTeamListModel } from "../models";
2
+ import { FriendshipDTO } from "../services";
3
+
4
+ export interface IFriendshipRepository {
5
+ getTeamList(params: FriendshipDTO.IGetTeamListDTO): Promise<FriendShipTeamListModel[]>;
6
+ }
@@ -0,0 +1,10 @@
1
+ import { HumorLastModel, HumorListModel, HumorRegisterModel, HumorRegisterResponseModel } from "../models";
2
+
3
+ export interface IHumorRepository {
4
+ getLastHumor(id : number): Promise<HumorLastModel[]>;
5
+ getListHumor(): Promise<HumorListModel[]>;
6
+ registerHumor({ humor }: {
7
+ humor: HumorRegisterModel;
8
+ }): Promise<HumorRegisterResponseModel>;
9
+ answeredHumorToday(id: number, timezone: string): Promise<boolean>;
10
+ }
@@ -1,8 +1,15 @@
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';
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
7
  export * from "./terms-of-use.repository.interface";
8
- export * from "./guidance.repository.interface";
8
+ export * from "./agenda.repository.interface";
9
+ export * from "./chat.repository.interface";
10
+ export * from "./friendship.repository.interface";
11
+ export * from "./guidance.repository.interface";
12
+ export * from "./humor.repository.interface";
13
+ export * from "./document.repository.interface";
14
+ export * from "./quiz.repository.interface";
15
+ export * from "./configuration.repository.interface";
@@ -0,0 +1,14 @@
1
+ import { QuizDTO } from "../services";
2
+ import { QuizAnsweredModel, QuizModel, QuizNotAnsweredModel } from "../models";
3
+
4
+ export interface IQuizRepository {
5
+ getQuizById(quizId: string): Promise<QuizModel>;
6
+ setRefusedQuiz(quizId: string): Promise<void>;
7
+ setAnsweredQuiz(
8
+ quizId: string,
9
+ body: QuizDTO.QuestionAnswerDTO
10
+ ): Promise<void>;
11
+ getQuizzesToBeAnsweredLater(): Promise<QuizModel[]>;
12
+ getNotAnsweredQuizzes(): Promise<QuizNotAnsweredModel[]>;
13
+ getAnsweredQuizzes(): Promise<QuizAnsweredModel[]>;
14
+ }
@@ -1,7 +1,11 @@
1
- import { UserMirrorModel } from "../models";
1
+ import { UserDTO } from "../services";
2
+ import { UserListModel, UserMirrorModel, UserModel } from "../models";
2
3
 
3
4
  export interface IUserRepository {
4
- getRobbysonUser(body: {
5
+
6
+ getUser(id: number): Promise<UserModel>;
7
+
8
+ getUsers(body: {
5
9
  filter: {
6
10
  robbyson_user_id: number[],
7
11
  },
@@ -10,6 +14,8 @@ export interface IUserRepository {
10
14
  },
11
15
  }): Promise<any>;
12
16
 
13
- getUserMirror(_id: number): Promise<UserMirrorModel>;
17
+ getUserMirror(id: number): Promise<UserMirrorModel>;
18
+
19
+ getUserList(params: UserDTO.IGetUserListDTO): Promise<UserListModel[]>;
14
20
 
15
21
  }
@@ -0,0 +1,39 @@
1
+ import {
2
+ AgendaModel,
3
+ ChatModel,
4
+ UserListModel,
5
+ FriendShipTeamListModel,
6
+ } from "../models";
7
+ import { AgendaDTO } from "./dtos";
8
+
9
+ export interface IAgendaService {
10
+ getUserAppointments(
11
+ start: string,
12
+ end: string
13
+ ): Promise<AgendaModel[]>;
14
+
15
+ getAppointmentDetails(id: string): Promise<AgendaModel>;
16
+
17
+ confirmParticipation(
18
+ id: string,
19
+ body: {
20
+ confirmation: AgendaModel["confirmation"];
21
+ }
22
+ ): Promise<void>;
23
+
24
+ cancelAppointment(id: string): Promise<void>;
25
+
26
+ insertAppointment(params: AgendaDTO.IInsertAppointmentDTO): Promise<string>;
27
+
28
+ updateAppointment(params: AgendaDTO.IUpdateAppointmentDTO): Promise<void>;
29
+
30
+ getUsersByName(name: string): Promise<UserListModel[]>;
31
+
32
+ getUsersByIdentification(identification: string): Promise<UserListModel[]>;
33
+
34
+ getTeamByName(search: string): Promise<FriendShipTeamListModel[]>;
35
+
36
+ getGroupsByName(name: string): Promise<ChatModel[]>;
37
+
38
+ createOrGetConversation(params: AgendaDTO.ICreateOrGetConversationDTO): Promise<ChatModel>;
39
+ }
@@ -1,3 +1,3 @@
1
1
  export interface IAngelFriendService {
2
- getAngelFriendStatus(_id: number): Promise<void>;
2
+
3
3
  }
@@ -0,0 +1,12 @@
1
+ import { ChatModel } from "../models";
2
+ import { ChatDTO, UserDTO } from "./dtos";
3
+
4
+ export interface IChatService {
5
+ getConversations(
6
+ parameters: ChatDTO.IGetConversationDTO
7
+ ): Promise<ChatModel[]>;
8
+ createConversation(parameters: ChatDTO.ICreateConversationDTO): Promise<ChatModel>;
9
+ addUsersToConversation(conversationId: string, users: UserDTO.GetUserDTO[]): Promise<void>;
10
+ deleteConversation(conversationId: string): Promise<void>;
11
+ removeUserFromConversation(conversationId: string, robbysonUserId: number): Promise<void>;
12
+ }
@@ -0,0 +1,20 @@
1
+ import { DocumentModel } from "../models";
2
+
3
+ export interface IDocumentService {
4
+ getUnansweredDocuments(): Promise<{
5
+ items: Array<DocumentModel>;
6
+ numTotalItems: number;
7
+ }>;
8
+ updateDocument(
9
+ id: string,
10
+ data: {
11
+ answered?: boolean;
12
+ accepted?: boolean;
13
+ observation?: string;
14
+ viewed?: boolean;
15
+ }
16
+ ): Promise<void>;
17
+
18
+ setDocumentsToAnswer(data: boolean): void;
19
+ hasDocumentsToAnswer(): boolean | undefined;
20
+ }
@@ -0,0 +1,38 @@
1
+ import { AgendaModel } from "../../models";
2
+
3
+ export interface IInsertAppointmentDTO {
4
+ title: AgendaModel["title"];
5
+ start: AgendaModel["start"];
6
+ end: AgendaModel["end"];
7
+ conversation_id: AgendaModel["conversation_id"];
8
+ daysOfWeek: AgendaModel["daysOfWeek"];
9
+ description: AgendaModel["description"];
10
+ recurrence: AgendaModel["recurrence"];
11
+ status: AgendaModel["status"];
12
+ type: AgendaModel["type"];
13
+ }
14
+
15
+ export interface IUpdateAppointmentDTO extends IInsertAppointmentDTO {
16
+ _id: AgendaModel["_id"];
17
+ confirmations: {
18
+ identification: AgendaModel["confirmations"][0]["identification"];
19
+ user_id: AgendaModel["confirmations"][0]["user_id"];
20
+ robbyson_user_id: AgendaModel["confirmations"][0]["robbyson_user_id"];
21
+ name: AgendaModel["confirmations"][0]["name"];
22
+ _id?: number;
23
+ }[];
24
+ conversation_id: AgendaModel["conversation_id"];
25
+ owner_identification: AgendaModel["owner_identification"];
26
+ }
27
+
28
+ export interface ICreateOrGetConversationDTO {
29
+ name?: string;
30
+ admin?: boolean;
31
+ type: "chat" | "group";
32
+ user: {
33
+ identification: string;
34
+ robbyson_user_id: number;
35
+ user_id: number;
36
+ name: string;
37
+ }[];
38
+ }
@@ -0,0 +1,24 @@
1
+ import { GetUserDTO } from "./user.dto";
2
+
3
+ export interface IGetConversationDTO {
4
+ page?: number;
5
+ per?: number;
6
+ search?: string;
7
+ name?: string;
8
+ identification?: string;
9
+ classification?: string;
10
+ favorite?: boolean;
11
+ type?: ConversationType;
12
+ }
13
+
14
+ export interface ICreateConversationDTO {
15
+ name?: string;
16
+ description?: string;
17
+ type?: ConversationType;
18
+ users?: GetUserDTO[];
19
+ temporary?: boolean;
20
+ photo?: string;
21
+ admin?: boolean;
22
+ }
23
+
24
+ export type ConversationType = "chat" | "group";
@@ -0,0 +1,6 @@
1
+ export interface IGetTeamListDTO {
2
+ search: string;
3
+ page: number;
4
+ typeSearch: string;
5
+ per: number;
6
+ }
@@ -1 +1,6 @@
1
- export * as ExampleDTO from "./example.dto";
1
+ export * as ExampleDTO from "./example.dto";
2
+ export * as QuizDTO from "./quiz.dto";
3
+ export * as AgendaDTO from "./agenda.dto";
4
+ export * as ChatDTO from "./chat.dto";
5
+ export * as UserDTO from "./user.dto";
6
+ export * as FriendshipDTO from "./friendship.dto";
@@ -0,0 +1,10 @@
1
+ export type QuestionAnswerDTO = {
2
+ _id: string;
3
+ alternatives: {
4
+ _id?: string;
5
+ body?: string;
6
+ }[];
7
+ userDoesntKnow: boolean;
8
+ questionType: number;
9
+ time: number;
10
+ };
@@ -0,0 +1,24 @@
1
+ export interface GetUserDTO {
2
+ name?: string;
3
+ identification?: string;
4
+ robbyson_user_id?: number;
5
+ initial?: boolean;
6
+ active?: boolean;
7
+ deleted?: boolean;
8
+ admin?: boolean;
9
+ status?: boolean;
10
+ user_id?: number;
11
+ createdAt?: Date;
12
+ createdBy?: string;
13
+ lastUpdatedAt?: Date;
14
+ lastUpdatedBy?: string;
15
+ photo?: string;
16
+ }
17
+
18
+ export interface IGetUserListDTO {
19
+ name?: string;
20
+ identification?: string;
21
+ page?: number;
22
+ per?: number;
23
+ active?: boolean;
24
+ }
@@ -0,0 +1,6 @@
1
+ import { FriendShipTeamListModel } from "../models";
2
+ import { FriendshipDTO } from "./dtos";
3
+
4
+ export interface IFriendshipService {
5
+ getTeamList(params: FriendshipDTO.IGetTeamListDTO): Promise<FriendShipTeamListModel[]>;
6
+ }
@@ -0,0 +1,12 @@
1
+ import { HumorLastModel, HumorListModel, HumorRegisterModel } from "../models";
2
+
3
+ export interface IHumorService {
4
+ getLastHumor(id : number): Promise<HumorLastModel[]>;
5
+ getLastHumorUser(): HumorLastModel[] | undefined;
6
+ hasRegisterHumor(): boolean | undefined;
7
+ getListHumor(): Promise<HumorListModel[]>;
8
+ registerHumor({ humor }: {
9
+ humor: HumorRegisterModel;
10
+ }): Promise<boolean>;
11
+ answeredHumorToday(id: number, timezone: string): Promise<boolean>;
12
+ }
@@ -5,6 +5,13 @@ export * from "./results.service.interface";
5
5
  export * from "./angel-friend.service.interface";
6
6
  export * from "./user.service.interface";
7
7
  export * from "./terms-of-use.service.interface";
8
+ export * from "./humor.service.interface";
9
+ export * from "./document.service.interface";
8
10
  export * from "./guidance.service.interface";
9
11
  export * from "./validations.service.interface";
10
- export * from "./dtos";
12
+ export * from "./quiz.service.interface";
13
+ export * from "./dtos";
14
+ export * from "./agenda.service.interface";
15
+ export * from "./chat.service.interface";
16
+ export * from "./friendship.service.interface";
17
+ export * from "./tree.service.interface";
@@ -0,0 +1,16 @@
1
+ import { QuizAnsweredModel, QuizModel, QuizNotAnsweredModel } from "../models";
2
+ import { QuizDTO } from "./dtos";
3
+
4
+ export interface IQuizService {
5
+ getQuizById(quizId: string): Promise<QuizModel>;
6
+ setRefusedQuiz(quizId: string): Promise<void>;
7
+ setAnsweredQuiz(
8
+ quizId: string,
9
+ body: QuizDTO.QuestionAnswerDTO
10
+ ): Promise<void>;
11
+ getQuizzesToBeAnsweredLater(): Promise<QuizModel[]>;
12
+ getNotAnsweredQuizzes(): Promise<QuizNotAnsweredModel[]>;
13
+ getAnsweredQuizzes(): Promise<QuizAnsweredModel[]>;
14
+ getNotAnsweredQuizzesCount(): number;
15
+ getHistory(): Promise<[QuizModel[], QuizAnsweredModel[]]>;
16
+ }
@@ -1,8 +1,9 @@
1
- import { IconHandle } from "../models";
1
+ import { IconHandle, ThemeBase } from "../models";
2
2
 
3
3
  export interface IThemeService {
4
4
  setApplicationTheme(contractorId?: number): Promise<Boolean>;
5
- getIconAssetUrl(iconHandle: IconHandle): string;
5
+ getIconAssetUrl(iconHandle: IconHandle | undefined): string;
6
6
  getIconsList(): readonly IconHandle[];
7
7
  getIconsPath(): string;
8
+ getApplicationTheme(): ThemeBase| undefined;
8
9
  }
@@ -0,0 +1,4 @@
1
+ export interface ITreeService {
2
+ setDateTree(date: any): void;
3
+ }
4
+
@@ -1,14 +1,19 @@
1
- import { UserMirrorModel } from "../models";
1
+ import { UserListModel, UserMirrorModel, UserModel } from "../models";
2
+ import { UserDTO } from "./dtos";
2
3
 
3
4
  export interface IUserService {
4
- getRobbysonUser(body: {
5
+ getUser(id: number): Promise<UserModel>;
6
+
7
+ getUsers(body: {
5
8
  filter: {
6
- robbyson_user_id: number[],
7
- },
9
+ robbyson_user_id: number[];
10
+ };
8
11
  pagination: {
9
- limit: number,
10
- },
12
+ limit: number;
13
+ };
11
14
  }): Promise<any>;
12
15
 
13
16
  getUserMirror(_id: number): Promise<UserMirrorModel>;
14
- }
17
+
18
+ getUserList(params: UserDTO.IGetUserListDTO): Promise<UserListModel[]>;
19
+ }
@@ -1,5 +1,8 @@
1
1
  import { UserSessionModel } from "../models";
2
2
 
3
3
  export interface IValidationsService {
4
- checkTermsOfUse(userSession: UserSessionModel | undefined): void;
4
+ checkTermsOfUse(userSession: UserSessionModel | undefined): boolean;
5
+ checkHumor(): Promise<void>;
6
+ checkDocuments(userSession: UserSessionModel | undefined): Promise<boolean>;
7
+ checkQuiz(): Promise<boolean>;
5
8
  }
@@ -1,15 +1,33 @@
1
- import { ThemeBase, UserSessionModel } from "../../models";
1
+ import { Week } from "../../components/tree-date-picker";
2
+
3
+ import {
4
+ HumorLastModel,
5
+ HumorListModel,
6
+ ThemeBase,
7
+ UserSessionModel,
8
+ } from "../../models";
2
9
  import { BrowserHistory } from "history";
3
10
 
4
11
  export interface IRootApp {
5
- userSession?: UserSessionModel,
6
- angelFriendData?: any,
7
- ipWhiteList: boolean,
8
- currentLocale?: any,
9
- currentTheme: ThemeBase,
12
+ userSession?: UserSessionModel;
13
+ angelFriendData?: any;
14
+ ipWhiteList: boolean;
15
+ isTabletOrMobile: boolean;
16
+ currentLocale?: any;
17
+ currentTheme: ThemeBase;
18
+ notAnsweredQuizzesCount?: number;
10
19
  apisUrls: {
11
- private: string
12
- },
13
- history: BrowserHistory,
14
- createGlobalImplementations: () => void,
15
- }
20
+ private: string;
21
+ };
22
+ hasDocumentsToAnswer: boolean | undefined;
23
+ history: BrowserHistory;
24
+ humor?: {
25
+ listHumor: HumorListModel[];
26
+ lastHumor: HumorLastModel[];
27
+ hasRegisterMood: boolean;
28
+ };
29
+ selectedDate: Date| null,
30
+ selectedMonth: Date | null,
31
+ selectedWeek?: Week,
32
+ createGlobalImplementations: () => void;
33
+ }
@@ -0,0 +1 @@
1
+ export * from './tree';
@@ -0,0 +1 @@
1
+ export * from './tree.types';
@@ -0,0 +1,31 @@
1
+ // import { DurationInputArg1, DurationInputArg2 } from 'moment';
2
+ // import { AxiosRequestConfig } from 'axios';
3
+
4
+ export enum UnitType {
5
+ MONTHS = 'months',
6
+ WEEKS = 'weeks',
7
+ DAYS = 'days',
8
+ HOURS = 'hours',
9
+ MINUTES = 'minutes',
10
+ SECONDS = 'seconds',
11
+ }
12
+
13
+ type User = {
14
+ _id: number;
15
+ contractor_id: number;
16
+ login: string;
17
+ name: string;
18
+ robbyson_user_id: number;
19
+ system_id: number;
20
+ identification: string;
21
+ }
22
+
23
+ export type JWT = {
24
+ iat: number;
25
+ exp: number;
26
+ sub: User;
27
+ }
28
+
29
+ export enum TreeActionTypes {
30
+ SET_DATETREE = "SET_DATETREE",
31
+ }
@@ -0,0 +1,74 @@
1
+ import _ from "lodash";
2
+ import moment from "moment";
3
+
4
+ type RemainingTime = {
5
+ timeRemainingText: string;
6
+ secondsDistance: number;
7
+ };
8
+
9
+ export class DateUtils {
10
+ static isSameDateAsNow(date: Date): boolean {
11
+ return moment(date).isSame(moment(new Date()), "day");
12
+ }
13
+
14
+ static isPastDateAsNow(date: Date): boolean {
15
+ return moment(date).isBefore(moment(new Date()));
16
+ }
17
+
18
+ static getDateBetweenDates(start: Date, end: Date): Date[] {
19
+ const clonedStart = _.cloneDeep(start);
20
+
21
+ if (
22
+ !start ||
23
+ !end ||
24
+ !(start instanceof Date) ||
25
+ !(end instanceof Date)
26
+ ) {
27
+ throw new Error("Invalid date");
28
+ }
29
+
30
+ const dates = [];
31
+ let currentDate = clonedStart;
32
+
33
+ while (currentDate <= end) {
34
+ dates.push(new Date(currentDate));
35
+ currentDate.setDate(currentDate.getDate() + 1);
36
+ }
37
+
38
+ return dates;
39
+ }
40
+
41
+ static getRemainingTimeFromNow(
42
+ compareDate: Date,
43
+ complementaryText: string
44
+ ): RemainingTime {
45
+ if (!compareDate)
46
+ return {
47
+ secondsDistance: 0,
48
+ timeRemainingText: "",
49
+ };
50
+
51
+ function formatTime(time: number, length = 2): string {
52
+ return time.toString().padStart(length, "0");
53
+ }
54
+
55
+ const diff = moment(compareDate).diff(moment(), "seconds");
56
+
57
+ const days = formatTime(Math.floor(diff / (60 * 60 * 24)), 3);
58
+ const hours = formatTime(
59
+ Math.floor((diff % (60 * 60 * 24)) / (60 * 60))
60
+ );
61
+ const minutes = formatTime(Math.floor((diff % (60 * 60)) / 60));
62
+ const seconds = formatTime(Math.floor(diff % 60));
63
+
64
+ const text =
65
+ diff < 0
66
+ ? `000 ${complementaryText} 00:00:00`
67
+ : `${days} ${complementaryText} ${hours}:${minutes}:${seconds}`;
68
+
69
+ return {
70
+ timeRemainingText: text,
71
+ secondsDistance: diff,
72
+ };
73
+ }
74
+ }
@@ -2,4 +2,7 @@ export * from './build-error/buildError.util.interface';
2
2
  export * from './build-error/buildError.util';
3
3
  export * from './query-params'
4
4
  export * from './cache-control'
5
- export * from "./robbyson-navigate";
5
+ export * from "./robbyson-navigate";
6
+ export * from "./layout.utils";
7
+ export * from "./date.utils";
8
+ export * from "./timer.utils";
@@ -0,0 +1,7 @@
1
+ import { LayoutDimensions } from "../constants";
2
+
3
+ export class LayoutUtils {
4
+ static isMobile(): boolean {
5
+ return window.innerWidth <= LayoutDimensions.width.horizontalIpadMini;
6
+ }
7
+ }
@@ -0,0 +1,19 @@
1
+ export class TimerUtils {
2
+ static delay(time: number): Promise<unknown> {
3
+ return new Promise((resolve) =>
4
+ setTimeout(() => resolve(undefined), time)
5
+ );
6
+ }
7
+
8
+ static stopwatch = (function SetInterval() {
9
+ let interval: number | undefined;
10
+ return () => ({
11
+ initInterval(func: TimerHandler, time: number) {
12
+ interval = setInterval(func, time);
13
+ },
14
+ clearInterval() {
15
+ clearInterval(interval);
16
+ },
17
+ });
18
+ })();
19
+ }
package/tsconfig.json CHANGED
@@ -21,7 +21,10 @@
21
21
  "noEmit": false,
22
22
  "strictPropertyInitialization": false,
23
23
  "outDir": "./dist",
24
- "jsx": "react"
24
+ "jsx": "react",
25
+ "paths": {
26
+ "react": ["./node_modules/@types/react"]
27
+ }
25
28
  },
26
29
  "include": [
27
30
  "src",
@@ -1 +0,0 @@
1
- export * from './mobile-filter.interface';
@@ -1,9 +0,0 @@
1
- ///<reference types="react" />
2
- ///<reference types="robbyson-frontend-library" />
3
-
4
- declare module "styleguide/MobileFilter" {
5
- import { IMobileFilterProps } from "robbyson-frontend-library";
6
- const MobileFilter: React.ComponentType<IMobileFilterProps>;
7
-
8
- export default MobileFilter;
9
- }
@@ -1 +0,0 @@
1
- export * from './tags.interface';