robbyson-frontend-library 0.0.1-rc11 → 0.0.1-rc12

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 (124) hide show
  1. package/dist/components/circular-general-level/circular-general-level.interface.js +1 -0
  2. package/dist/components/circular-indicator-goal/circular-indicator-goal.interface.js +1 -0
  3. package/dist/components/circular-progress/circular-progress.interface.js +1 -0
  4. package/dist/components/daily-chart/daily-chart.interface.js +1 -0
  5. package/dist/components/dropdown/dropdown.interface.js +1 -0
  6. package/dist/components/insight-chart/insight-chart.interface.js +1 -0
  7. package/dist/components/mountain-chart/mountain-chart.interface.js +1 -0
  8. package/dist/components/pages/base-app-page.component.js +11 -1
  9. package/dist/components/result-chart/result-chart.interface.js +1 -0
  10. package/dist/components/text-area/text-area.interface.js +1 -0
  11. package/dist/components/weekly-chart/weekly-chart.interface.js +1 -0
  12. package/dist/index.js +10 -2
  13. package/dist/models/agenda-invited-users.model.js +24 -0
  14. package/dist/models/agenda.model.js +36 -0
  15. package/dist/models/chat.model.js +11 -0
  16. package/dist/models/friendship-team-list.model.js +1 -0
  17. package/dist/models/quiz-answered.model.js +24 -0
  18. package/dist/models/quiz-not-answered.model.js +24 -0
  19. package/dist/models/quiz.model.js +24 -0
  20. package/dist/models/theme-base.js +8 -0
  21. package/dist/models/user-list.model.js +24 -0
  22. package/dist/models/user.model.js +24 -0
  23. package/dist/repositories/agenda.repository.interface.js +1 -0
  24. package/dist/repositories/chat.repository.interface.js +1 -0
  25. package/dist/repositories/configuration.repository.interface.js +1 -0
  26. package/dist/repositories/friendship.repository.interface.js +1 -0
  27. package/dist/repositories/quiz.repository.interface.js +1 -0
  28. package/dist/services/agenda.service.interface.js +1 -0
  29. package/dist/services/chat.service.interface.js +1 -0
  30. package/dist/services/dtos/agenda.dto.js +1 -0
  31. package/dist/services/dtos/chat.dto.js +1 -0
  32. package/dist/services/dtos/friendship.dto.js +1 -0
  33. package/dist/services/dtos/index.js +5 -0
  34. package/dist/services/dtos/quiz.dto.js +1 -0
  35. package/dist/services/dtos/user.dto.js +1 -0
  36. package/dist/services/friendship.service.interface.js +1 -0
  37. package/dist/services/quiz.service.interface.js +1 -0
  38. package/dist/utils/index.js +2 -0
  39. package/dist/utils/timer.utils.js +22 -0
  40. package/index.d.ts +13 -0
  41. package/package.json +2 -2
  42. package/src/components/basic-button/basic-button.interface.ts +0 -1
  43. package/src/components/checkbox/checkbox.interface.ts +2 -0
  44. package/src/components/circular-general-level/circular-general-level.interface.ts +13 -0
  45. package/src/components/circular-general-level/circular-general-level.types.d.ts +9 -0
  46. package/src/components/circular-general-level/index.d.ts +1 -0
  47. package/src/components/circular-indicator-goal/circular-indicator-goal.interface.ts +13 -0
  48. package/src/components/circular-indicator-goal/circular-indicator-goal.types.d.ts +9 -0
  49. package/src/components/circular-indicator-goal/index.d.ts +1 -0
  50. package/src/components/circular-progress/circular-progress.interface.ts +12 -0
  51. package/src/components/circular-progress/circular-progress.types.d.ts +9 -0
  52. package/src/components/circular-progress/index.d.ts +1 -0
  53. package/src/components/daily-chart/daily-chart.interface.ts +22 -0
  54. package/src/components/daily-chart/daily-chart.types.d.ts +9 -0
  55. package/src/components/daily-chart/index.d.ts +1 -0
  56. package/src/components/date-picker/date-picker.interface.ts +4 -2
  57. package/src/components/dropdown/dropdown.interface.ts +52 -0
  58. package/src/components/dropdown/dropdown.types.d.ts +9 -0
  59. package/src/components/dropdown/index.d.ts +1 -0
  60. package/src/components/filter/filter.interface.tsx +1 -1
  61. package/src/components/icon-button/icon-button.interface.ts +1 -1
  62. package/src/components/insight-chart/index.d.ts +1 -0
  63. package/src/components/insight-chart/insight-chart.interface.ts +23 -0
  64. package/src/components/insight-chart/insight-chart.types.d.ts +9 -0
  65. package/src/components/mountain-chart/index.d.ts +1 -0
  66. package/src/components/mountain-chart/mountain-chart.interface.ts +11 -0
  67. package/src/components/mountain-chart/mountain-chart.types.d.ts +9 -0
  68. package/src/components/pages/base-app-page.component.tsx +11 -2
  69. package/src/components/pagination/pagination.interface.ts +3 -0
  70. package/src/components/profile-image/profile-image.interface.ts +1 -1
  71. package/src/components/progress-bar/progress-bar.interface.ts +15 -5
  72. package/src/components/progress-bar/progress-bar.types.d.ts +1 -1
  73. package/src/components/result-chart/index.d.ts +1 -0
  74. package/src/components/result-chart/result-chart.interface.ts +25 -0
  75. package/src/components/result-chart/result-chart.types.d.ts +9 -0
  76. package/src/components/scroll-box/scroll-box.interface.ts +3 -1
  77. package/src/components/tab/tab.interface.ts +1 -0
  78. package/src/components/tag-expand/tag-expand.interface.ts +1 -0
  79. package/src/components/text-area/index.d.ts +1 -0
  80. package/src/components/text-area/text-area.interface.ts +3 -0
  81. package/src/components/text-area/text-area.types.d.ts +9 -0
  82. package/src/components/text-field/text-field.interface.ts +11 -2
  83. package/src/components/toggle-icon-button/toggle-icon-button.interface.ts +0 -3
  84. package/src/components/tooltip/tooltip.interface.ts +3 -5
  85. package/src/components/weekly-chart/index.d.ts +1 -0
  86. package/src/components/weekly-chart/weekly-chart.interface.ts +22 -0
  87. package/src/components/weekly-chart/weekly-chart.types.d.ts +9 -0
  88. package/src/index.ts +11 -3
  89. package/src/models/agenda-invited-users.model.ts +37 -0
  90. package/src/models/agenda.model.ts +31 -0
  91. package/src/models/chat.model.ts +28 -0
  92. package/src/models/friendship-team-list.model.ts +47 -0
  93. package/src/models/index.d.ts +9 -0
  94. package/src/models/quiz-answered.model.ts +28 -0
  95. package/src/models/quiz-not-answered.model.ts +5 -0
  96. package/src/models/quiz.model.ts +55 -0
  97. package/src/models/theme-base.ts +38 -28
  98. package/src/models/user-list.model.ts +26 -0
  99. package/src/models/user.model.ts +21 -0
  100. package/src/repositories/agenda.repository.interface.ts +26 -0
  101. package/src/repositories/chat.repository.interface.ts +10 -0
  102. package/src/repositories/configuration.repository.interface.ts +5 -0
  103. package/src/repositories/friendship.repository.interface.ts +6 -0
  104. package/src/repositories/index.d.ts +12 -7
  105. package/src/repositories/quiz.repository.interface.ts +14 -0
  106. package/src/repositories/user.repository.interface.ts +9 -3
  107. package/src/services/agenda.service.interface.ts +39 -0
  108. package/src/services/angel-friend.service.interface.ts +1 -1
  109. package/src/services/chat.service.interface.ts +12 -0
  110. package/src/services/dtos/agenda.dto.ts +38 -0
  111. package/src/services/dtos/chat.dto.ts +24 -0
  112. package/src/services/dtos/friendship.dto.ts +6 -0
  113. package/src/services/dtos/index.ts +6 -1
  114. package/src/services/dtos/quiz.dto.ts +10 -0
  115. package/src/services/dtos/user.dto.ts +24 -0
  116. package/src/services/friendship.service.interface.ts +6 -0
  117. package/src/services/index.d.ts +5 -1
  118. package/src/services/quiz.service.interface.ts +16 -0
  119. package/src/services/theme.service.interface.ts +1 -1
  120. package/src/services/user.service.interface.ts +12 -7
  121. package/src/services/validations.service.interface.ts +1 -0
  122. package/src/states/main-container/root-app.state.interface.ts +24 -18
  123. package/src/utils/index.ts +3 -1
  124. package/src/utils/timer.utils.ts +19 -0
@@ -0,0 +1,5 @@
1
+ import { BaseRepositoryModel } from "./base.repository.model";
2
+
3
+ export class QuizNotAnsweredModel extends BaseRepositoryModel {
4
+ questionnaireId: string;
5
+ }
@@ -0,0 +1,55 @@
1
+ import { BaseRepositoryModel } from "./base.repository.model";
2
+
3
+ export class QuizModel extends BaseRepositoryModel {
4
+ publishNow: boolean;
5
+ done: boolean;
6
+ draft: boolean;
7
+ mandatory: boolean;
8
+ monetizable: boolean;
9
+ _id: string;
10
+ name: string;
11
+ instruction: string;
12
+ reach: "ALL" | "ATTRIBUTES" | "USER";
13
+ createdBy: number;
14
+ publish: string;
15
+ coins: number;
16
+ state: "draft" | "scheduled" | "publishing" | "in_progress" | "closed";
17
+ createdAt: string;
18
+ messageId: string;
19
+ publishedAt: string;
20
+ questions: {
21
+ _id: string;
22
+ body: string;
23
+ noAnswer: boolean;
24
+ time: number;
25
+ alternatives: {
26
+ _id: string;
27
+ body: string;
28
+ }[];
29
+ type: 0 | 1;
30
+ limit: number;
31
+ style: 0 | 1;
32
+ }[];
33
+ attributes: {
34
+ attribute: {
35
+ _id: string;
36
+ name: string;
37
+ primary: boolean;
38
+ };
39
+ _id: string;
40
+ value: string;
41
+ }[];
42
+ levels: {
43
+ _id: number;
44
+ description: string;
45
+ }[];
46
+ kiteLevels: {
47
+ _id: number;
48
+ description: string;
49
+ }[];
50
+ users: {
51
+ _id: number;
52
+ identification: string;
53
+ name: string;
54
+ }[];
55
+ }
@@ -5,6 +5,7 @@ class ThemeBaseColors {
5
5
  secondary1: string;
6
6
  secondary2: string;
7
7
  secondary3: string;
8
+ secondary4: string;
8
9
  brand1: string;
9
10
  brand2: string;
10
11
  hover1: string;
@@ -85,7 +86,9 @@ class ThemeBaseColors {
85
86
 
86
87
  }
87
88
 
88
- 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' | 'no-results-found' | 'not-found-bold' | 'hamburger-menu';
89
+ export const ICON_HANDLES = ['active-bold','active-thin', 'avatar-login', 'add-challenge-bold','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', 'no-results-found', 'not-found-bold', 'hamburger-menu', 'cloud-circle', 'mountain-circle', 'star-circle', 'expand-image-bold', 'camera-off-bold' , 'minimize-image-bold' , 'phone-call-bold' , 'microphone-bold' , 'microphone-off-bold' , 'share-screen-bold', 'ead-play-button'] as const;
90
+
91
+ export type IconHandle = typeof ICON_HANDLES[number];
89
92
 
90
93
  class ThemeBaseRect {
91
94
  top: string;
@@ -101,6 +104,7 @@ class ThemeTypography {
101
104
  letterSpacing: string; //letter-spacing
102
105
  lineHeight: string; //line-height
103
106
  fontWeight: string; //font-weight
107
+ textDecoration: string; //text-decoration
104
108
  }
105
109
 
106
110
  class ThemeTransition {
@@ -113,6 +117,35 @@ class ThemeAssets {
113
117
  height: string;
114
118
  }
115
119
 
120
+ class Typography {
121
+ profile: ThemeTypography;
122
+ h1: ThemeTypography;
123
+ h2: ThemeTypography;
124
+ h2Bold: ThemeTypography;
125
+ h3: ThemeTypography;
126
+ h4: ThemeTypography;
127
+ h5: ThemeTypography;
128
+ h6: ThemeTypography;
129
+ h6Bold: ThemeTypography;
130
+ subtitle2: ThemeTypography;
131
+ subtitle1: ThemeTypography;
132
+ body1Medium: ThemeTypography
133
+ body1Book: ThemeTypography
134
+ body1BookItalic: ThemeTypography;
135
+ body1Link: ThemeTypography;
136
+ body2Medium: ThemeTypography;
137
+ body2Book: ThemeTypography;
138
+ body2BookStrikethrough: ThemeTypography;
139
+ body2BookItalic: ThemeTypography;
140
+ button: ThemeTypography;
141
+ chip: ThemeTypography;
142
+ chipMedium: ThemeTypography;
143
+ overline: ThemeTypography;
144
+ small: ThemeTypography;
145
+ smallMedium: ThemeTypography;
146
+ toolTip: ThemeTypography;
147
+ };
148
+
116
149
  export class ThemeBase {
117
150
  colors: ThemeBaseColors;
118
151
  fonts: {
@@ -122,33 +155,8 @@ export class ThemeBase {
122
155
  src: string; // src
123
156
  }[];
124
157
  transitions: ThemeTransition;
125
- typography: {
126
- h1: ThemeTypography,
127
- h2: ThemeTypography,
128
- h2Medium: ThemeTypography,
129
- mobh2Medium: ThemeTypography,
130
- h3: ThemeTypography,
131
- mobh3Medium: ThemeTypography,
132
- h4: ThemeTypography,
133
- mobh4Medium: ThemeTypography,
134
- h5: ThemeTypography,
135
- mobh5Medium: ThemeTypography,
136
- h6: ThemeTypography,
137
- subtitle1: ThemeTypography,
138
- subtitle2: ThemeTypography,
139
- body1Medium: ThemeTypography,
140
- body1Book: ThemeTypography,
141
- body1BookItalic: ThemeTypography,
142
- body1Link: ThemeTypography,
143
- body2Medium: ThemeTypography,
144
- body2Book: ThemeTypography,
145
- buttonMedium: ThemeTypography,
146
- chip: ThemeTypography,
147
- chipMedium: ThemeTypography,
148
- overline: ThemeTypography,
149
- small: ThemeTypography,
150
- toolTip: ThemeTypography,
151
- };
158
+ typography: Typography;
159
+ mobileTypography: Typography;
152
160
  assets: {
153
161
  logoText: ThemeAssets;
154
162
  logoComplete: ThemeAssets;
@@ -163,6 +171,7 @@ export class ThemeBase {
163
171
  humorImbadCircle: ThemeAssets,
164
172
  logoMobile: ThemeAssets;
165
173
  loginRobbysonAvatar: ThemeAssets;
174
+ quizThankYouAvatar: ThemeAssets;
166
175
  };
167
176
 
168
177
  constructor() {
@@ -181,6 +190,7 @@ export class ThemeBase {
181
190
  humorImbadCircle: new ThemeAssets(),
182
191
  logoMobile: new ThemeAssets(),
183
192
  loginRobbysonAvatar: new ThemeAssets(),
193
+ quizThankYouAvatar: new ThemeAssets(),
184
194
  };
185
195
  }
186
196
  };
@@ -0,0 +1,26 @@
1
+ import { BaseRepositoryModel } from "./base.repository.model";
2
+
3
+ export class UserListModel extends BaseRepositoryModel {
4
+ about: string;
5
+ accessed: boolean;
6
+ active: boolean;
7
+ birthDate: string;
8
+ email: string;
9
+ externalKey: string;
10
+ gender: string;
11
+ identification: string;
12
+ loginFailures: number;
13
+ name: string;
14
+ nickname: string;
15
+ passHash: string;
16
+ phone: string;
17
+ registered: boolean;
18
+ robbysonUser_id: number;
19
+ role_id: number | null;
20
+ systems: System[];
21
+ _id: number;
22
+ }
23
+
24
+ interface System {
25
+ _id: number;
26
+ }
@@ -0,0 +1,21 @@
1
+ import { BaseRepositoryModel } from "./base.repository.model";
2
+
3
+ export class UserModel extends BaseRepositoryModel {
4
+ hasAccessed: boolean
5
+ active: boolean
6
+ _id: number
7
+ gender: string
8
+ name: string
9
+ summary: string
10
+ robbyson_user_id: number
11
+ externalKey: string
12
+ systems: System[]
13
+ isRegistered: boolean
14
+ nickname: string
15
+ forceAvatarDisplay: boolean
16
+ phone: string
17
+ }
18
+
19
+ interface System {
20
+ _id: number
21
+ }
@@ -0,0 +1,26 @@
1
+ import { AgendaModel } from "../models";
2
+ import { AgendaDTO } from "../services";
3
+
4
+ export interface IAgendaRepository {
5
+ getUserAppointments(params: {
6
+ start: string;
7
+ end: string;
8
+ }): Promise<AgendaModel[]>;
9
+
10
+ getAppointmentDetails(params: { id: string }): Promise<AgendaModel>;
11
+
12
+ confirmParticipation(
13
+ params: { id: string },
14
+ body: {
15
+ confirmation: AgendaModel["confirmation"];
16
+ }
17
+ ): Promise<void>;
18
+
19
+ cancelAppointment(params: { id: string }): Promise<void>;
20
+
21
+ insertAppointment(
22
+ params: AgendaDTO.IInsertAppointmentDTO
23
+ ): Promise<string>;
24
+
25
+ updateAppointment(params: AgendaDTO.IUpdateAppointmentDTO): Promise<void>;
26
+ }
@@ -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,6 @@
1
+ import { FriendShipTeamListModel } from "../models";
2
+ import { FriendshipDTO } from "../services";
3
+
4
+ export interface IFriendshipRepository {
5
+ getTeamList(params: FriendshipDTO.IGetTeamListDTO): Promise<FriendShipTeamListModel[]>;
6
+ }
@@ -1,10 +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 "./agenda.repository.interface";
9
+ export * from "./chat.repository.interface";
10
+ export * from "./friendship.repository.interface";
8
11
  export * from "./guidance.repository.interface";
9
12
  export * from "./humor.repository.interface";
10
- export * from "./document.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,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
+ }
@@ -9,4 +9,8 @@ export * from "./humor.service.interface";
9
9
  export * from "./document.service.interface";
10
10
  export * from "./guidance.service.interface";
11
11
  export * from "./validations.service.interface";
12
- 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";
@@ -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
+ }
@@ -2,7 +2,7 @@ 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
8
  getApplicationTheme(): ThemeBase| undefined;
@@ -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
+ }
@@ -4,4 +4,5 @@ export interface IValidationsService {
4
4
  checkTermsOfUse(userSession: UserSessionModel | undefined): boolean;
5
5
  checkHumor(): Promise<void>;
6
6
  checkDocuments(userSession: UserSessionModel | undefined): Promise<boolean>;
7
+ checkQuiz(): Promise<boolean>;
7
8
  }