@itutoring/itutoring_application_js_api 1.7.5 → 1.7.7
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 +0 -18
- package/index.js +0 -18
- package/modules/Authentication.js +12 -1
- package/modules/CustomerAuth.js +0 -42
- package/modules/LectorDatabase.js +14 -0
- package/modules/TeacherAuth.js +0 -42
- package/package.json +1 -1
- package/modules/AttendanceManager.js +0 -97
- package/modules/CustomerEduPortal.js +0 -234
- package/modules/Email.js +0 -72
- package/modules/EventManager.js +0 -38
- package/modules/LessonManager.js +0 -96
- package/modules/Newsletters.js +0 -31
- package/modules/TeacherManager.js +0 -78
- package/modules/TeacherPortal.js +0 -237
- package/modules/WebinarsSystem.js +0 -85
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,
|
|
@@ -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
|
{
|
|
@@ -40,7 +51,7 @@ class Authentication
|
|
|
40
51
|
static async IsAuthenticated()
|
|
41
52
|
{
|
|
42
53
|
var res = await APIController.Get(this.#MODULE, this.#IS_AUTHENTICATED);
|
|
43
|
-
return
|
|
54
|
+
return res;
|
|
44
55
|
}
|
|
45
56
|
|
|
46
57
|
static async GetUserInfo()
|
package/modules/CustomerAuth.js
CHANGED
|
@@ -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
|
package/modules/TeacherAuth.js
CHANGED
|
@@ -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,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;
|
package/modules/EventManager.js
DELETED
|
@@ -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;
|
package/modules/LessonManager.js
DELETED
|
@@ -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;
|
package/modules/Newsletters.js
DELETED
|
@@ -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;
|
package/modules/TeacherPortal.js
DELETED
|
@@ -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;
|