@itutoring/itutoring_application_js_api 1.7.4 → 1.7.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.d.ts CHANGED
@@ -16,22 +16,13 @@ import CookiesManager from "./CookiesManager";
16
16
 
17
17
  import CustomerAuth from "./modules/CustomerAuth";
18
18
  import CustomerPortal from "./modules/CustomerPortal";
19
- import Email from "./modules/Email";
20
- import Newsletters from "./modules/Newsletters";
21
19
  import Payments from "./modules/Payments";
22
20
  import ReservationSystem from "./modules/ReservationSystem";
23
21
  import SubjectManager from "./modules/SubjectManager";
24
22
  import TeacherAuth from "./modules/TeacherAuth";
25
- import TeacherManager from "./modules/TeacherManager";
26
- import TeacherPortal from "./modules/TeacherPortal";
27
23
  import TeacherProfiles from "./modules/TeacherProfiles";
28
- import WebinarSystem from "./modules/WebinarsSystem";
29
24
  import GoogleReviews from "./modules/GoogleReviews";
30
- import CustomerEduPortal from "./modules/CustomerEduPortal";
31
- import EventManager from "./modules/EventManager";
32
25
  import iTutoringApplicationVersion from "./modules/Version";
33
- import LessonManager from "./modules/LessonManager";
34
- import AttendanceManager from "./modules/AttendanceManager";
35
26
  import TeacherProfileModule from "./modules/TeacherProfileModule";
36
27
  import LectorDatabase from "./modules/LectorDatabase";
37
28
  import LectorsCalendar from "./modules/LectorsCalendar";
@@ -73,23 +64,14 @@ export
73
64
 
74
65
  CustomerAuth,
75
66
  CustomerPortal,
76
- Email,
77
- Newsletters,
78
67
  Payments,
79
68
  ReservationSystem,
80
69
  SubjectManager,
81
70
  TeacherAuth,
82
- TeacherManager,
83
- TeacherPortal,
84
71
  TeacherProfiles,
85
- WebinarSystem,
86
72
  GoogleReviews,
87
- CustomerEduPortal,
88
- EventManager,
89
73
  iTutoringApplicationVersion,
90
- LessonManager,
91
74
  Authentication,
92
- AttendanceManager,
93
75
  Toolkit,
94
76
  TeacherProfileModule,
95
77
  LectorDatabase,
package/index.js CHANGED
@@ -14,22 +14,13 @@ import CookiesManager from "./CookiesManager";
14
14
 
15
15
  import CustomerAuth from "./modules/CustomerAuth";
16
16
  import CustomerPortal from "./modules/CustomerPortal";
17
- import Email from "./modules/Email";
18
- import Newsletters from "./modules/Newsletters";
19
17
  import Payments from "./modules/Payments";
20
18
  import ReservationSystem from "./modules/ReservationSystem";
21
19
  import SubjectManager from "./modules/SubjectManager";
22
20
  import TeacherAuth from "./modules/TeacherAuth";
23
- import TeacherManager from "./modules/TeacherManager";
24
- import TeacherPortal from "./modules/TeacherPortal";
25
21
  import TeacherProfiles from "./modules/TeacherProfiles";
26
- import WebinarSystem from "./modules/WebinarsSystem";
27
22
  import GoogleReviews from "./modules/GoogleReviews";
28
- import CustomerEduPortal from "./modules/CustomerEduPortal";
29
- import EventManager from "./modules/EventManager";
30
23
  import iTutoringApplicationVersion from "./modules/Version";
31
- import LessonManager from "./modules/LessonManager";
32
- import AttendanceManager from "./modules/AttendanceManager";
33
24
  import LectorDatabase from "./modules/LectorDatabase";
34
25
  import LectorsCalendar from "./modules/LectorsCalendar";
35
26
  import AiAssist from "./modules/AiAssist";
@@ -71,23 +62,14 @@ export
71
62
 
72
63
  CustomerAuth,
73
64
  CustomerPortal,
74
- Email,
75
- Newsletters,
76
65
  Payments,
77
66
  ReservationSystem,
78
67
  SubjectManager,
79
68
  TeacherAuth,
80
- TeacherManager,
81
- TeacherPortal,
82
69
  TeacherProfiles,
83
- WebinarSystem,
84
70
  GoogleReviews,
85
- CustomerEduPortal,
86
- EventManager,
87
71
  iTutoringApplicationVersion,
88
- LessonManager,
89
72
  Authentication,
90
- AttendanceManager,
91
73
  Toolkit,
92
74
  TeacherProfileModule,
93
75
  LectorDatabase,
@@ -15,13 +15,14 @@ class AiAssist
15
15
 
16
16
  static #FIX_LECTURE_REPORT = 'FixLectureReport';
17
17
 
18
- static async fixLectureReport(topic, report, review, homework)
18
+ static async fixLectureReport(topic, report, review, homework, language)
19
19
  {
20
20
  var data = await APIController.Post(this.#MODULE, this.#FIX_LECTURE_REPORT, {
21
21
  'topic': topic,
22
22
  'report': report,
23
23
  'review': review,
24
24
  'homework': homework,
25
+ 'language': language
25
26
  });
26
27
 
27
28
  return data;
@@ -19,6 +19,17 @@ class Authentication
19
19
  static #IS_AUTHENTICATED = "IsAuthenticated";
20
20
  static #GET_USER_INFO = "GetUserInfo";
21
21
  static #SIGN_OUT = "SignOut";
22
+ static #SUPER_LOGIN = "SuperLogin";
23
+
24
+ static async SuperLogin(email, type)
25
+ {
26
+ var res = await APIController.Post(this.#MODULE, this.#SUPER_LOGIN, {
27
+ "email": email,
28
+ "type": type,
29
+ });
30
+
31
+ return res;
32
+ }
22
33
 
23
34
  static async SignOut()
24
35
  {
@@ -2,13 +2,11 @@
2
2
  * Copyright (C) 2024 iTutoring s.r.o.
3
3
  * All rights reserved.
4
4
  *
5
-
6
5
  *
7
6
  */
8
7
 
9
8
 
10
9
  import APIController from "./../apiController";
11
- //import EventHandling from "./EventHandling";
12
10
 
13
11
  class CustomerAuth
14
12
  {
@@ -18,20 +16,8 @@ class CustomerAuth
18
16
  static #MODULE = "CustomerAuth";
19
17
 
20
18
  // All method names
21
- static #IS_AUTHENTICATED = "IsAuthenticated";
22
- static #LOG_IN = "Login";
23
19
  static #SIGN_IN = "SignIn";
24
20
 
25
- /**
26
- * Checks if currunet user(customer) is authenticated or not.
27
- * @returns bool
28
- */
29
- static async IsAuthenticated()
30
- {
31
- var result = await APIController.Get(this.#MODULE, this.#IS_AUTHENTICATED);
32
-
33
- return APIController.IntToBool(result);
34
- }
35
21
 
36
22
  /**
37
23
  *
@@ -51,34 +37,6 @@ class CustomerAuth
51
37
  'phone': phone,
52
38
  });
53
39
 
54
- /*EventHandling.OnUserSignIn.publish(
55
- {
56
- result: result
57
- }
58
- );*/
59
-
60
- return result;
61
- }
62
-
63
- /**
64
- *
65
- * @param {*} email
66
- * @param {*} password
67
- * @returns Int (AuthResult)
68
- */
69
- static async LogIn(email, password)
70
- {
71
- var result = await APIController.Post(this.#MODULE, this.#LOG_IN, {
72
- 'email': email,
73
- 'pass': password,
74
- });
75
-
76
- /*EventHandling.OnUserLogIn.publish(
77
- {
78
- result: result,
79
- }
80
- );
81
- */
82
40
  return result;
83
41
  }
84
42
  }
@@ -29,6 +29,8 @@ class LectorDatabase
29
29
  static #GET_PUBLIC_PROFILES = "GetPublicProfiles";
30
30
 
31
31
  /**
32
+ * @deprecated use CRM (Table Explorer, Modles) instead
33
+ *
32
34
  * desc: Get count of lectors
33
35
  *
34
36
  * @returns {int} count of lectors
@@ -41,6 +43,8 @@ class LectorDatabase
41
43
  }
42
44
 
43
45
  /**
46
+ * @deprecated use CRM (Table Explorer, Modles) instead
47
+ *
44
48
  * desc: Remove module access
45
49
  * @param {string} lectorId
46
50
  * @param {string} moduleId
@@ -54,6 +58,8 @@ class LectorDatabase
54
58
  }
55
59
 
56
60
  /**
61
+ * @deprecated use CRM (Table Explorer, Modles) instead
62
+ *
57
63
  * desc: Get all lectors
58
64
  * @param {int} listOffset
59
65
  * @param {int} maxCount
@@ -70,6 +76,8 @@ class LectorDatabase
70
76
  }
71
77
 
72
78
  /**
79
+ * @deprecated use CRM (Table Explorer, Modles) instead
80
+ *
73
81
  * desc: Get lector info
74
82
  * @param {string} lectorId
75
83
  * @returns
@@ -85,6 +93,8 @@ class LectorDatabase
85
93
 
86
94
 
87
95
  /**
96
+ * @deprecated use CRM (Table Explorer, Modles) instead
97
+ *
88
98
  * desc: Query lector DSS
89
99
  * @param {string} dssQuery
90
100
  * @returns
@@ -100,6 +110,8 @@ class LectorDatabase
100
110
 
101
111
 
102
112
  /**
113
+ * @deprecated use CRM (Table Explorer, Modles) instead
114
+ *
103
115
  * desc: Remove lector
104
116
  * @param {string} lectorId
105
117
  */
@@ -139,6 +151,8 @@ class LectorDatabase
139
151
  }
140
152
 
141
153
  /**
154
+ * @deprecated use CRM (Table Explorer, Modles) instead
155
+ *
142
156
  * desc: Add module access
143
157
  * @param {string} lectorId
144
158
  * @param {string} moduleId
@@ -30,22 +30,6 @@ class TeacherAuth
30
30
  location.href = APIController.REST_URL() + encodeURI(APIController.GetVisitorSessionID() + '/auth/tauth?c=' + encodeURI(callbackUrl));
31
31
  }
32
32
 
33
- /**
34
- *
35
- * @param {*} email
36
- * @param {*} password
37
- * @returns int (AuthResult)
38
- */
39
- static async Login(email, password)
40
- {
41
- var res = await APIController.Post(this.#MODULE, this.#LOGIN, {
42
- 'email': email,
43
- 'pass': password,
44
- })
45
-
46
- return res;
47
- }
48
-
49
33
  /**
50
34
  * Change current password
51
35
  * @param {*} oldPass is required to authorize user
@@ -61,32 +45,6 @@ class TeacherAuth
61
45
 
62
46
  return res;
63
47
  }
64
-
65
- /**
66
- *
67
- * @param {*} email
68
- * @param {*} password
69
- * @returns int (AuthResult)
70
- */
71
- static async Register(email, password, name, meetingLink, subjects)
72
- {
73
- var res = await APIController.Post(this.#MODULE, this.#REGISTER, {
74
- 'email': email,
75
- 'pass': password,
76
- 'name': name,
77
- 'meetingLink': meetingLink,
78
- 'subjects': subjects,
79
- });
80
-
81
- return res;
82
- }
83
-
84
- static async IsAuthenticated()
85
- {
86
- var res = await APIController.Get(this.#MODULE, this.#IS_AUTHENTICATED);
87
-
88
- return APIController.IntToBool(res);
89
- }
90
48
  }
91
49
 
92
50
  export default TeacherAuth;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@itutoring/itutoring_application_js_api",
3
- "version": "1.7.4",
3
+ "version": "1.7.6",
4
4
  "description": "Javascript API for iTutoring Application",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
@@ -1,97 +0,0 @@
1
- /*
2
- * Copyright (C) 2024 iTutoring s.r.o.
3
- * All rights reserved.
4
- *
5
-
6
- *
7
- */
8
-
9
-
10
- import APIController from "../apiController";
11
- import AttendanceEvent from "../objects/AttendanceEvent";
12
-
13
- class AttendanceManager
14
- {
15
- static #MODULE = "AttendanceManager";
16
-
17
- static #RETRIVE_ALL_EVENTS = "RetriveAllEvents";
18
- static #UPDATE_EVENT = "UpdateEvent";
19
- static #GET_EVENTS = "GetEvents";
20
- static #GET_ATTENDANCE_FROM_EVENT = "GetAttendanceFromEvent";
21
-
22
- static async RetriveAllEvents()
23
- {
24
- var data = await APIController.Get(this.#MODULE, this.#RETRIVE_ALL_EVENTS);
25
-
26
- data = JSON.parse(data);
27
- var events = [];
28
- for (const [key, value] of Object.entries(data))
29
- {
30
- var atEvents = []
31
- for (const [k0, v0] of Object.entries(value))
32
- {
33
- var atEventsStudent = [];
34
- for (const [k1, v1] of Object.entries(v0))
35
- {
36
- var ev = new AttendanceEvent();
37
- ev.CreateFromJSON(JSON.parse(v1));
38
- atEventsStudent.push(ev);
39
- }
40
-
41
- atEvents.push(atEventsStudent);
42
- }
43
- events.push(atEvents);
44
- }
45
-
46
- return events;
47
- }
48
-
49
- static async UpdateEvent(event)
50
- {
51
- var data = await APIController.Post(this.#MODULE, this.#UPDATE_EVENT, {
52
- 'event': JSON.stringify(event),
53
- });
54
- }
55
-
56
- static async GetEvents()
57
- {
58
- var data = await APIController.Get(this.#MODULE, this.#GET_EVENTS);
59
-
60
- data = JSON.parse(data);
61
- var atEvents = [];
62
- for (const [k0, v0] of Object.entries(data))
63
- {
64
- var ev = new AttendanceEvent();
65
- ev.CreateFromJSON(v0);
66
- atEvents.push(ev);
67
- }
68
-
69
- return atEvents;
70
- }
71
-
72
- static async GetAttendanceFromEvent(id)
73
- {
74
- var data = await APIController.Get(this.#MODULE, this.#GET_ATTENDANCE_FROM_EVENT, {
75
- "id": id,
76
- });
77
-
78
- data = JSON.parse(data);
79
- var atEvents = []
80
- for (const [k0, v0] of Object.entries(data))
81
- {
82
- var atEventsStudent = [];
83
- for (const [k1, v1] of Object.entries(v0))
84
- {
85
- var ev = new AttendanceEvent();
86
- ev.CreateFromJSON(JSON.parse(v1));
87
- atEventsStudent.push(ev);
88
- }
89
-
90
- atEvents.push(atEventsStudent);
91
- }
92
-
93
- return atEvents;
94
- }
95
- }
96
-
97
- export default AttendanceManager;
@@ -1,234 +0,0 @@
1
- /*
2
- * Copyright (C) 2024 iTutoring s.r.o.
3
- * All rights reserved.
4
- *
5
-
6
- *
7
- */
8
-
9
-
10
- import APIController from "../apiController";
11
- import iEvent from "../objects/Event";
12
-
13
-
14
- class CustomerEduPortal
15
- {
16
- static #MODULE = "CustomerEduPortal";
17
-
18
- static #GET_ALL_EVENTS = "GetAllEvents";
19
- static #CREATE_EVENT = "CreateEvent";
20
- static #SET_GUESTS = "SetGuests";
21
- static #OPEN_CONFERENCE = "OpenConference";
22
- static #MAKE_CONFERENCE_PRIVATE = "MakeConferencePrivate";
23
- static #UPDATE_PASSCODE = "UpdatePassCode";
24
- static #REQUEST_ACCESS = "RequestAccess";
25
- static #UPDATE_TYPE = "UpdateType";
26
- static #UPDATE_NAME = "UpdateName";
27
- static #UPDATE_DESCRIPTION = "UpdateDescription";
28
- static #SET_SUBJECT = "SetSubject";
29
- static #SET_ONE_TIME = "SetOneTime";
30
- static #SET_RECURSIVE = "SetRecursive";
31
- static #SET_DATE_AND_TIME = "SetDateAndTime";
32
- static #SET_DAY = "SetDay";
33
- static #SET_RECURSIVITY = "SetRecursivity";
34
- static #DELETE_EVENT = "DeleteEvent";
35
-
36
- static async GetAllEvents()
37
- {
38
- var events = await APIController.Get(this.#MODULE, this.#GET_ALL_EVENTS);
39
-
40
- var eventObjs = [];
41
- var eventsJson = JSON.parse(events)
42
- for (const [key, value] of Object.entries(eventsJson))
43
- {
44
- var ev = new iEvent();
45
- ev.CreateFromJSON(JSON.parse(value))
46
- eventObjs.push(ev);
47
- }
48
-
49
- return eventObjs;
50
- }
51
-
52
- static async CreateEvent()
53
- {
54
- var event = await APIController.Post(this.#MODULE, this.#CREATE_EVENT);
55
-
56
- var eventObj = new iEvent();
57
- eventObj.CreateFromJSON(JSON.parse(event));
58
- return eventObj;
59
- }
60
-
61
- static async SetGuests(eventId, guests)
62
- {
63
- var event = await APIController.Post(this.#MODULE, this.#SET_GUESTS, {
64
- "eventId": eventId,
65
- "guests": JSON.stringify(guests),
66
- });
67
-
68
- var eventObj = new iEvent();
69
- eventObj.CreateFromJSON(JSON.parse(event));
70
- return eventObj;
71
- }
72
-
73
- static async OpenConference(eventId)
74
- {
75
- var event = await APIController.Post(this.#MODULE, this.#OPEN_CONFERENCE, {
76
- "eventId": eventId,
77
- });
78
-
79
- var eventObj = new iEvent();
80
- eventObj.CreateFromJSON(JSON.parse(event));
81
- return eventObj;
82
- }
83
-
84
- static async MakeConferencePrivate(eventId, passCode)
85
- {
86
- var event = await APIController.Post(this.#MODULE, this.#MAKE_CONFERENCE_PRIVATE, {
87
- "eventId": eventId,
88
- "passCode": passCode,
89
- });
90
-
91
- var eventObj = new iEvent();
92
- eventObj.CreateFromJSON(JSON.parse(event));
93
- return eventObj;
94
- }
95
-
96
- static async UpdatePassCode(eventId, passCode)
97
- {
98
- var event = await APIController.Post(this.#MODULE, this.#UPDATE_PASSCODE, {
99
- "eventId": eventId,
100
- "passCode": passCode,
101
- });
102
-
103
- var eventObj = new iEvent();
104
- eventObj.CreateFromJSON(JSON.parse(event));
105
- return eventObj;
106
- }
107
-
108
- static async RequestAccess(eventId, request)
109
- {
110
- var event = await APIController.Post(this.#MODULE, this.#REQUEST_ACCESS, {
111
- "eventId": eventId,
112
- "request": APIController.BoolToInt(request),
113
- })
114
-
115
- var eventObj = new iEvent();
116
- eventObj.CreateFromJSON(JSON.parse(event));
117
- return eventObj;
118
- }
119
-
120
- static async UpdateType(eventId, type)
121
- {
122
- var event = await APIController.Post(this.#MODULE, this.#UPDATE_TYPE, {
123
- "eventId": eventId,
124
- "type": type,
125
- });
126
-
127
- var eventObj = new iEvent();
128
- eventObj.CreateFromJSON(JSON.parse(event));
129
- return eventObj;
130
- }
131
-
132
- static async UpdateName(eventId, name)
133
- {
134
- var event = await APIController.Post(this.#MODULE, this.#UPDATE_NAME, {
135
- "eventId": eventId,
136
- "name": name,
137
- });
138
-
139
- var eventObj = new iEvent();
140
- eventObj.CreateFromJSON(JSON.parse(event));
141
- return eventObj;
142
- }
143
-
144
- static async UpdateDescription(eventId, description)
145
- {
146
- var event = await APIController.Post(this.#MODULE, this.#UPDATE_DESCRIPTION, {
147
- 'eventId': eventId,
148
- 'desc': description,
149
- });
150
-
151
- var eventObj = new iEvent();
152
- eventObj.CreateFromJSON(JSON.parse(event));
153
- return eventObj;
154
- }
155
-
156
- static async SetSubejct(eventId, subId)
157
- {
158
- var event = await APIController.Post(this.#MODULE, this.#SET_SUBJECT, {
159
- 'eventId': eventId,
160
- 'subjectId': subId,
161
- });
162
-
163
- var eventObj = new iEvent();
164
- eventObj.CreateFromJSON(JSON.parse(event));
165
- return eventObj;
166
- }
167
-
168
- static async SetOneTime(eventId)
169
- {
170
- var event = await APIController.Post(this.#MODULE, this.#SET_ONE_TIME, {
171
- 'eventId': eventId,
172
- });
173
-
174
- var eventObj = new iEvent();
175
- eventObj.CreateFromJSON(JSON.parse(event));
176
- return eventObj;
177
- }
178
-
179
- static async SetRecursive(eventId)
180
- {
181
- var event = await APIController.Post(this.#MODULE, this.#SET_RECURSIVE, {
182
- 'eventId': eventId,
183
- });
184
-
185
- var eventObj = new iEvent();
186
- eventObj.CreateFromJSON(JSON.parse(event));
187
- return eventObj;
188
- }
189
-
190
- static async SetDateAndTime(eventId, timestamp)
191
- {
192
- var event = await APIController.Post(this.#MODULE, this.#SET_DATE_AND_TIME, {
193
- 'eventId': eventId,
194
- 'timestamp': timestamp,
195
- });
196
-
197
- var eventObj = new iEvent();
198
- eventObj.CreateFromJSON(JSON.parse(event));
199
- return eventObj;
200
- }
201
-
202
- static async SetDay(eventId, dayIndex)
203
- {
204
- var event = await APIController.Post(this.#MODULE, this.#SET_DAY, {
205
- 'eventId': eventId,
206
- 'day': dayIndex,
207
- });
208
-
209
- var eventObj = new iEvent();
210
- eventObj.CreateFromJSON(JSON.parse(event));
211
- return eventObj;
212
- }
213
-
214
- static async SetRecursivity(eventId, repeatTime)
215
- {
216
- var event = await APIController.Post(this.#MODULE, this.#SET_RECURSIVITY, {
217
- 'eventId': eventId,
218
- 'repeatTime': repeatTime,
219
- });
220
-
221
- var eventObj = new iEvent();
222
- eventObj.CreateFromJSON(JSON.parse(event));
223
- return eventObj;
224
- }
225
-
226
- static async DeleteEvent(eventId)
227
- {
228
- await APIController.Post(this.#MODULE, this.#DELETE_EVENT, {
229
- 'eventId': eventId,
230
- });
231
- }
232
- }
233
-
234
- export default CustomerEduPortal;
package/modules/Email.js DELETED
@@ -1,72 +0,0 @@
1
- /*
2
- * Copyright (C) 2024 iTutoring s.r.o.
3
- * All rights reserved.
4
- *
5
-
6
- *
7
- */
8
-
9
-
10
- import APIController from "./../apiController";
11
-
12
- class Email
13
- {
14
- /**
15
- * Respective module name for this class
16
- */
17
- static #MODULE = "Email";
18
-
19
- static #SEND = "Send";
20
-
21
- /**
22
- * Send email
23
- *
24
- * @param {*} header email header
25
- * @param {*} message email main text (p)
26
- * @param {*} params email parameters as key: value \n (as array)
27
- * @param {*} fHeader heading in footer
28
- * @param {*} fMessage main text in footer
29
- * @param {*} fReason text below footer, saying like: You receiving this email because...
30
- * @param {*} buttonText button text in email
31
- * @param {*} buttonLink button url link in email
32
- * @param {*} title 'optional' int 0/1 to hide the buttons
33
- * @param {*} toEmail Email title
34
- * @param {*} toName Receipent name
35
- * @param {*} buttonHide bool to hide button (false is default)
36
- * @param {*} fromEmail 'optional' - sender email (itutoring is default)
37
- * @param {*} fromName 'optional' - sender name {itutoring is default)
38
- * @returns bool
39
- */
40
- static async Send(header, message, params, fHeader, fMessage, fReason, buttonText, buttonLink, title, toEmail, toName, buttonHide = false, fromEmail = 'default', fromName = 'default')
41
- {
42
- var postQuery = {
43
- 'header': header,
44
- 'message': message,
45
- 'params': JSON.stringify(params),
46
- 'fHeader': fHeader,
47
- 'fMessage': fMessage,
48
- 'fReason': fReason,
49
- 'buttonText': buttonText,
50
- 'buttonLink': buttonLink,
51
- 'buttonHide': APIController.BoolToInt(buttonHide),
52
- 'title': title,
53
- 'toEmail': toEmail,
54
- 'toName': toName,
55
- }
56
- if (fromEmail != 'default')
57
- {
58
- postQuery.fromEmail = fromEmail;
59
- }
60
-
61
- if (fromName != 'default')
62
- {
63
- postQuery.fromName = fromName;
64
- }
65
-
66
- await APIController.Post(this.#MODULE, this.#SEND, postQuery);
67
-
68
- return true;
69
- }
70
- }
71
-
72
- export default Email;
@@ -1,38 +0,0 @@
1
- /*
2
- * Copyright (C) 2024 iTutoring s.r.o.
3
- * All rights reserved.
4
- *
5
-
6
- *
7
- */
8
-
9
-
10
- import APIController from "../apiController";
11
-
12
- class EventManager
13
- {
14
- static #MODULE = "EventManager"
15
-
16
- static #EVENT_EXISTS = "EventExists";
17
- static #ROOM_EXISTS = "RoomExists";
18
-
19
- static async EventExists(eventId)
20
- {
21
- var exists = await APIController.Get(this.#MODULE, this.#EVENT_EXISTS, {
22
- "eventId": eventId,
23
- });
24
-
25
- return APIController.IntToBool(exists);
26
- }
27
-
28
- static async RoomExists(roomId)
29
- {
30
- var exists = await APIController.Get(this.#MODULE, this.#ROOM_EXISTS, {
31
- 'roomId': roomId,
32
- });
33
-
34
- return APIController.IntToBool(exists);
35
- }
36
- }
37
-
38
- export default EventManager;
@@ -1,96 +0,0 @@
1
- /*
2
- * Copyright (C) 2024 iTutoring s.r.o.
3
- * All rights reserved.
4
- *
5
-
6
- *
7
- */
8
-
9
-
10
- import APIController from "../apiController";
11
- import iEvent from "../objects/Event";
12
-
13
-
14
- class LessonManager
15
- {
16
- /**
17
- * Respective module name for this class
18
- */
19
- static #MODULE = "LessonManager";
20
-
21
- // All method names
22
- static #GET_ALL_EVENTS = "GetAllEvents";
23
- static #SEARCH_ALL_EVENTS = "SearchAllEvents";
24
- static #DELETE_EVENT = "DeleteEvent";
25
- static #UPDATE_EVENT = "UpdateEvent";
26
- static #CREATE_EVENT = "CreateEvent";
27
-
28
- static async GetAllEvents(filters, filterOp = "AND")
29
- {
30
-
31
- var events = await APIController.Get(this.#MODULE, this.#GET_ALL_EVENTS, {
32
- "filters": JSON.stringify(filters),
33
- "filterOp": filterOp,
34
- });
35
-
36
-
37
- var eventObjs = [];
38
- var eventsJson = JSON.parse(events)
39
- for (const [key, value] of Object.entries(eventsJson))
40
- {
41
- var ev = new iEvent();
42
- ev.CreateFromJSON(JSON.parse(value))
43
- eventObjs.push(ev);
44
- }
45
-
46
- return eventObjs;
47
- }
48
-
49
- static async SearchAllEvents(searchParam)
50
- {
51
- var events = await APIController.Get(this.#MODULE, this.#SEARCH_ALL_EVENTS, {
52
- "search_param": searchParam,
53
- });
54
-
55
- var eventObjs = [];
56
- var eventsJson = JSON.parse(events)
57
- for (const [key, value] of Object.entries(eventsJson))
58
- {
59
- var ev = new iEvent();
60
- ev.CreateFromJSON(JSON.parse(value))
61
- eventObjs.push(ev);
62
- }
63
-
64
- return eventObjs;
65
- }
66
-
67
- static async DeleteEvent(eventId)
68
- {
69
- var data = await APIController.Post(this.#MODULE, this.#DELETE_EVENT, {
70
- "id": eventId,
71
- });
72
-
73
- }
74
-
75
- static async UpdateEvent(event)
76
- {
77
- var eventJson = JSON.stringify(event);
78
- var data = await APIController.Post(this.#MODULE, this.#UPDATE_EVENT, {
79
- "event": eventJson,
80
- });
81
-
82
- }
83
-
84
- /**
85
- * Will create a new event.
86
- */
87
- static async CreateEvent(defaultTimeUnix = null)
88
- {
89
- var data = await APIController.Post(this.#MODULE, this.#CREATE_EVENT, {
90
- 'def_time': defaultTimeUnix,
91
- });
92
-
93
- }
94
- }
95
-
96
- export default LessonManager;
@@ -1,31 +0,0 @@
1
- /*
2
- * Copyright (C) 2024 iTutoring s.r.o.
3
- * All rights reserved.
4
- *
5
-
6
- *
7
- */
8
-
9
-
10
- import APIController from "./../apiController";
11
-
12
- class Newsletters
13
- {
14
- /**
15
- * Respective module name for this class
16
- */
17
- static #MODULE = "Newsletters";
18
-
19
- static #ADD_CUSTOMER = "AddCustomer";
20
-
21
- static async AddCustomer(email)
22
- {
23
- await APIController.Get(this.#MODULE, this.#ADD_CUSTOMER, {
24
- 'email': email
25
- });
26
-
27
- return true;
28
- }
29
- }
30
-
31
- export default Newsletters;
@@ -1,78 +0,0 @@
1
- /*
2
- * Copyright (C) 2024 iTutoring s.r.o.
3
- * All rights reserved.
4
- *
5
-
6
- *
7
- */
8
-
9
-
10
- import APIController from "./../apiController";
11
- import Teacher from "./../objects/Teacher";
12
-
13
- class TeacherManager
14
- {
15
- /**
16
- * Respective module name for this class
17
- */
18
- static #MODULE = "TeacherManager";
19
-
20
- // All method names
21
- static #GET_TEACHER_FOR_LESSON = "GetTeacherForLesson";
22
- static #GET_ALL_TEACHERS = "GetAllTeachers";
23
- static #UPDATE_SUBJECT_TIMES = "UpdateSubjectTimes";
24
-
25
- /**
26
- * Find and choose available teacher for your time.
27
- * Teacher will be stored in session on server.
28
- * @param {*} date
29
- * @param {*} startTime
30
- * @param {*} subject
31
- * @param {*} lessons
32
- * @returns true if teacher was found, false if no teacher available
33
- */
34
- static async GetTeacherForLesson(date, startTime, subject, lessons)
35
- {
36
- var result = await APIController.Get(this.#MODULE, this.#GET_TEACHER_FOR_LESSON, {
37
- 'date': date,
38
- 'start': startTime,
39
- 'subject': subject,
40
- 'lessons': lessons,
41
- });
42
-
43
- return APIController.IntToBool(result);
44
- }
45
-
46
- static async GetAllTeachers()
47
- {
48
- var teachers = await APIController.Get(this.#MODULE, this.#GET_ALL_TEACHERS);
49
-
50
- var teachersClasses = [];
51
-
52
- teachers.forEach(value =>
53
- {
54
- var teacherArray = JSON.parse(value);
55
- var teacher = new Teacher();
56
- teacher.Email = teacherArray['email'];
57
- teacher.Name = teacherArray['name'];
58
- teacher.ZoomMeeting = teacherArray['zoomMeeting'];
59
- teacher.ID = teacherArray['id'];
60
- teacher.TeachedLessons = teacherArray['taughtLessons'];
61
-
62
- teachersClasses[teacher.ID] = teacher;
63
- });
64
-
65
- return teachersClasses;
66
- }
67
-
68
- static async UpdateSubjectTimes(teacherId)
69
- {
70
- var res = await APIController.Get(this.#MODULE, this.#UPDATE_SUBJECT_TIMES, {
71
- 'teacherId': teacherId,
72
- });
73
-
74
- return APIController.IntToBool(res);
75
- }
76
- }
77
-
78
- export default TeacherManager;
@@ -1,237 +0,0 @@
1
- /*
2
- * Copyright (C) 2024 iTutoring s.r.o.
3
- * All rights reserved.
4
- *
5
-
6
- *
7
- */
8
-
9
-
10
- import APIController from "./../apiController";
11
- import Reservation from "./../objects/Reservation";
12
- import Teacher from "./../objects/Teacher";
13
-
14
- class TeacherPortal
15
- {
16
- /**
17
- * Respective module name for this class
18
- */
19
- static #MODULE = "TeacherPortal";
20
-
21
- // All method names
22
- static #REMOVE_PERIODIC_TIME = "RemovePeriodicTime";
23
- static #REMOVE_TIMES = "RemoveTimes";
24
- static #SELECT_TIMES = "SelectTimes";
25
- static #SET_TIMES_PERIODICLY = "SetTimePeriodicly";
26
- static #GET_SUBJECTS = "GetSubjects";
27
- static #GET_DATE_TIMES = "GetDayTimes";
28
- static #GET_TEACHER_INFO = "GetTeacherInfo";
29
- static #GET_RESERVATIONS = "GetReservations";
30
- static #SET_BITMOJI = "SetBitmoji";
31
- static #HAS_BITMOJI = "HasBitmoji";
32
- static #TAKE_RESERVATION = "TakeReservation";
33
- static #UPDATE_PHOTO = "UpdatePhoto";
34
-
35
- /**
36
- *
37
- * @param {*} id Reservation id
38
- * @returns bool
39
- */
40
- static async TakeReservation(id)
41
- {
42
- var res = await APIController.Get(this.#MODULE, this.#TAKE_RESERVATION, {
43
- 'id': id,
44
- });
45
-
46
- return APIController.IntToBool(res);
47
- }
48
-
49
- static async HasBitmoji()
50
- {
51
- var res = await APIController.Get(this.#MODULE, this.#HAS_BITMOJI);
52
-
53
- return APIController.IntToBool(res);
54
- }
55
-
56
- static async SetBitmoji(url)
57
- {
58
- await APIController.Get(this.#MODULE, this.#SET_BITMOJI, {
59
- 'url': encodeURIComponent(url),
60
- });
61
-
62
- return true;
63
- }
64
-
65
- /**
66
- * Removes time for specific date and following weeks
67
- * @param {*} from start time
68
- * @param {*} to end time
69
- * @param {*} date
70
- * @param {*} subject array of subjects
71
- * @param {*} period how many weeks from date (is treated as start date) will be affected
72
- */
73
- static async RemovePeriodicTime(from, to, date, subject, period)
74
- {
75
- var subjects = JSON.stringify(subject);
76
-
77
- await APIController.Post(this.#MODULE, this.#REMOVE_PERIODIC_TIME, {
78
- 'from': from,
79
- 'to': to,
80
- 'date': date,
81
- 'subject': encodeURIComponent(subjects),
82
- 'period': period,
83
- });
84
- }
85
-
86
- static async GetReservations()
87
- {
88
- var data = await APIController.Get(this.#MODULE, this.#GET_RESERVATIONS);
89
-
90
- try
91
- {
92
- JSON.parse(data);
93
- }
94
- catch {
95
- return null;
96
- }
97
-
98
- var array = JSON.parse(data);
99
- var reservations = [];
100
-
101
- for (const [key, value] of Object.entries(array))
102
- {
103
- var reservation = new Reservation();
104
-
105
- reservation.Date = value['Date']
106
- reservation.StartTime = value['StartTime'];
107
- reservation.Subject = value['Subject'];
108
- reservation.TeacherId = value['TeacherId'];
109
- reservation.Note = value['Note'];
110
- reservation.FirstName = value['FirstName'];
111
- reservation.LastName = value['LastName'];
112
- reservation.Email = value['Email'];
113
- reservation.ID = value['ID'];
114
-
115
- reservations[key] = reservation;
116
- }
117
-
118
- return reservations;
119
- }
120
-
121
- /**
122
- * This method will return all availabe teacher info (Except password for security reasons).
123
- */
124
- static async GetTeacherInfo()
125
- {
126
- var data = await APIController.Get(this.#MODULE, this.#GET_TEACHER_INFO);
127
-
128
- try
129
- {
130
- JSON.parse(data);
131
- }
132
- catch {
133
- return null;
134
- }
135
-
136
- var teacherArray = JSON.parse(data);
137
-
138
- var teacher = new Teacher();
139
- teacher.Email = teacherArray['email'];
140
- teacher.Name = teacherArray['name'];
141
- teacher.ZoomMeeting = teacherArray['zoomMeeting'];
142
- teacher.ID = teacherArray['id'];
143
- teacher.TeachedLessons = teacherArray['taughtLessons'];
144
-
145
- return teacher;
146
- }
147
-
148
- /**
149
- *
150
- * @param {*} from
151
- * @param {*} to
152
- * @param {*} date
153
- * @param {*} subject array of subjects
154
- */
155
- static async RemoveTimes(from, to, date, subject)
156
- {
157
- var subjects = JSON.stringify(subject);
158
-
159
- await APIController.Post(this.#MODULE, this.#REMOVE_TIMES, {
160
- 'from': from,
161
- 'to': to,
162
- 'date': date,
163
- 'subject': encodeURIComponent(subjects),
164
- });
165
- }
166
-
167
- /**
168
- *
169
- * @param {*} from
170
- * @param {*} to
171
- * @param {*} date
172
- * @param {*} subject array of subjects
173
- */
174
- static async SelectTimes(from, to, date, subject)
175
- {
176
- var subjects = JSON.stringify(subject);
177
-
178
- await APIController.Post(this.#MODULE, this.#SELECT_TIMES, {
179
- 'from': from,
180
- 'to': to,
181
- 'date': date,
182
- 'subject': encodeURIComponent(subjects),
183
- });
184
- }
185
-
186
- /**
187
- * Set time for specific date and following weeks
188
- * @param {*} from
189
- * @param {*} to
190
- * @param {*} date
191
- * @param {*} subject array of subjects
192
- * @param {*} period how many weeks from date (is treated as start date) will be affected
193
- */
194
- static async SetTimePeriodicly(from, to, date, subject, period)
195
- {
196
- var subjects = JSON.stringify(subject);
197
-
198
- await APIController.Post(this.#MODULE, this.#SET_TIMES_PERIODICLY, {
199
- 'from': from,
200
- 'to': to,
201
- 'date': date,
202
- 'subject': encodeURIComponent(subjects),
203
- 'period': period,
204
- });
205
- }
206
-
207
- /**
208
- * Gets all subjects this teacher can teach.
209
- * @returns json object
210
- */
211
- static async GetSubjects()
212
- {
213
- var res = await APIController.Get(this.#MODULE, this.#GET_SUBJECTS);
214
-
215
- return JSON.parse(res);
216
- }
217
-
218
- /**
219
- * Return all available times for this teacher for specific day
220
- * @param {*} date
221
- * @returns JSON object
222
- */
223
- static async GetDayTimes(date, id = 'logged')
224
- {
225
- var res = await APIController.Get(this.#MODULE, this.#GET_DATE_TIMES, { 'date': date, 'id': id });
226
-
227
- return JSON.parse(res);
228
- }
229
-
230
- static async UpdatePhoto(photoFile)
231
- {
232
- var res = await APIController.Post(this.#MODULE, this.#UPDATE_PHOTO, null, photoFile);
233
- return APIController.IntToBool(res);
234
- }
235
- }
236
-
237
- export default TeacherPortal;
@@ -1,85 +0,0 @@
1
- /*
2
- * Copyright (C) 2024 iTutoring s.r.o.
3
- * All rights reserved.
4
- *
5
-
6
- *
7
- */
8
-
9
-
10
- import APIController from "../apiController"
11
- import Webinar from "../objects/Webinar";
12
-
13
- class WebinarSystem
14
- {
15
- /**
16
- * Respective module name for this class
17
- */
18
- static #MODULE = "WebinarsSystem"
19
-
20
- // All method names
21
- static #REGISTER = "Register"
22
- static #GET_ALL_WEBINARS = "GetAllWebinars";
23
- static #CONFIRM_WEBINAR_PAID = "ConfirmWebinarPaid";
24
- static #IS_WEBINAR_PAID = "IsWebinarPaid";
25
-
26
- static async Register(email, webinarId)
27
- {
28
- var res = await APIController.Post(this.#MODULE, this.#REGISTER, {
29
- "email": email,
30
- "id": webinarId
31
- });
32
-
33
- return APIController.IntToBool(res);
34
- }
35
-
36
- static async ConfirmWebinarPaid(bookId, transactionId)
37
- {
38
- var res = await APIController.Get(this.#MODULE, this.#CONFIRM_WEBINAR_PAID, {
39
- 'bookId': bookId,
40
- 'transactionId': transactionId,
41
- });
42
-
43
- return APIController.IntToBool(res);
44
- }
45
-
46
- static async IsWebinarPaid(bookId)
47
- {
48
- var res = await APIController.Get(this.#MODULE, this.#IS_WEBINAR_PAID, {
49
- 'bookId': bookId,
50
- });
51
-
52
- return APIController.IntToBool(res);
53
- }
54
-
55
- static async GetAllWebinars()
56
- {
57
- var data = await APIController.Get(this.#MODULE, this.#GET_ALL_WEBINARS);
58
-
59
- var dataArray = JSON.parse(data);
60
- var webinars = [];
61
-
62
- for (const [key, value] of Object.entries(dataArray))
63
- {
64
- var webinar = new Webinar();
65
- webinar.Name = value['Name'];
66
- webinar.Description = value['Description'];
67
- webinar.ID = value['ID'];
68
- webinar.Program = value['Program'];
69
- webinar.Date = value['Date'];
70
- webinar.StartTime = value['StartTime'];
71
- webinar.EndTime = value['EndTime'];
72
- webinar.TeacherId = value['TeacherId'];
73
- webinar.TeacherRole = value['TeacherRole'];
74
- webinar.Price = value['PriceUI'];
75
- webinar.TeacherName = value['TeacherName'];
76
- webinar.TeacherPhotoURL = value['TeacherPhotoURL'];
77
-
78
- webinars[webinar.ID] = webinar;
79
- }
80
-
81
- return webinars;
82
- }
83
- }
84
-
85
- export default WebinarSystem;