@itutoring/itutoring_application_js_api 1.6.4 → 1.6.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/apiController.js +30 -8
- package/cache.js +7 -3
- package/modules/FAQ.js +1 -1
- package/modules/GoogleReviews.js +1 -1
- package/modules/Inventory.js +1 -0
- package/modules/LectorDatabase.js +1 -1
- package/modules/Payments.js +6 -0
- package/modules/Pricing.js +1 -1
- package/modules/ReservationSystem.js +1 -2
- package/modules/Reviews.js +2 -2
- package/modules/SubjectManager.js +10 -17
- package/modules/TeacherProfiles.js +4 -0
- package/package.json +1 -1
package/apiController.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import CookiesManager from "./CookiesManager";
|
|
2
|
+
import APICache from "./cache";
|
|
2
3
|
import { R_KEYs } from "./objects/Enums";
|
|
3
4
|
|
|
4
5
|
/**
|
|
@@ -8,7 +9,7 @@ class APIController
|
|
|
8
9
|
{
|
|
9
10
|
static #R_KEY = "-1";
|
|
10
11
|
static #CLIENT_KEY = "-1";
|
|
11
|
-
|
|
12
|
+
|
|
12
13
|
static UserSource = null;
|
|
13
14
|
|
|
14
15
|
static onErrorReceived = null
|
|
@@ -70,12 +71,12 @@ class APIController
|
|
|
70
71
|
static ResolveResponse(request)
|
|
71
72
|
{
|
|
72
73
|
const json = JSON.parse(request.responseText);
|
|
73
|
-
if (json.code ===200)
|
|
74
|
+
if (json.code === 200)
|
|
74
75
|
{
|
|
75
76
|
// check for redirect
|
|
76
77
|
if (json.data === "redirect" && json.url !== undefined)
|
|
77
78
|
{
|
|
78
|
-
window.location.href =
|
|
79
|
+
window.location.href = json.url;
|
|
79
80
|
}
|
|
80
81
|
return (json.data);
|
|
81
82
|
}
|
|
@@ -109,8 +110,13 @@ class APIController
|
|
|
109
110
|
* @param data "data must be as array - key, value pair. They'll be passed into the request"
|
|
110
111
|
* @returns "Response from server"
|
|
111
112
|
*/
|
|
112
|
-
static async Get(module, method, data)
|
|
113
|
+
static async Get(module, method, data, useCache = false)
|
|
113
114
|
{
|
|
115
|
+
if (useCache && APICache.IsCached(module + method))
|
|
116
|
+
{
|
|
117
|
+
return APICache.Retrive(module + method);
|
|
118
|
+
}
|
|
119
|
+
|
|
114
120
|
await APIController.GetLocalRKey();
|
|
115
121
|
await APIController.GetClientKey();
|
|
116
122
|
|
|
@@ -125,7 +131,13 @@ class APIController
|
|
|
125
131
|
{
|
|
126
132
|
if (request.readyState === 4)
|
|
127
133
|
{
|
|
128
|
-
|
|
134
|
+
var response = APIController.ResolveResponse(request);
|
|
135
|
+
if (useCache)
|
|
136
|
+
{
|
|
137
|
+
APICache.Cache(module + method, response);
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
resolve(response);
|
|
129
141
|
}
|
|
130
142
|
}
|
|
131
143
|
|
|
@@ -148,8 +160,13 @@ class APIController
|
|
|
148
160
|
* @param file
|
|
149
161
|
* @returns "Response from server"
|
|
150
162
|
*/
|
|
151
|
-
static async Post(module, method, data, file = null)
|
|
163
|
+
static async Post(module, method, data, file = null, useCache = false)
|
|
152
164
|
{
|
|
165
|
+
if (useCache && APICache.IsCached(module + method))
|
|
166
|
+
{
|
|
167
|
+
return APICache.Retrive(module + method);
|
|
168
|
+
}
|
|
169
|
+
|
|
153
170
|
await APIController.GetLocalRKey();
|
|
154
171
|
await APIController.GetClientKey();
|
|
155
172
|
|
|
@@ -173,7 +190,12 @@ class APIController
|
|
|
173
190
|
{
|
|
174
191
|
if (request.readyState === 4)
|
|
175
192
|
{
|
|
176
|
-
|
|
193
|
+
var response = APIController.ResolveResponse(request);
|
|
194
|
+
if (useCache)
|
|
195
|
+
{
|
|
196
|
+
APICache.Cache(module + method, response);
|
|
197
|
+
}
|
|
198
|
+
resolve(response);
|
|
177
199
|
}
|
|
178
200
|
}
|
|
179
201
|
|
|
@@ -251,7 +273,7 @@ class APIController
|
|
|
251
273
|
APIController.#R_KEY = rKey;
|
|
252
274
|
localStorage.setItem("r_key", APIController.#R_KEY)
|
|
253
275
|
resolve(APIController.#R_KEY);
|
|
254
|
-
|
|
276
|
+
|
|
255
277
|
});
|
|
256
278
|
}
|
|
257
279
|
});
|
package/cache.js
CHANGED
|
@@ -1,18 +1,22 @@
|
|
|
1
1
|
class APICache
|
|
2
2
|
{
|
|
3
|
+
static CacheStorage = {}
|
|
4
|
+
|
|
3
5
|
static Cache(key, data)
|
|
4
6
|
{
|
|
5
|
-
|
|
7
|
+
this.CacheStorage[key] = data;
|
|
6
8
|
}
|
|
7
9
|
|
|
8
10
|
static Retrive(key)
|
|
9
11
|
{
|
|
10
|
-
|
|
12
|
+
if (!this.IsCached(key))
|
|
13
|
+
return null;
|
|
14
|
+
return this.CacheStorage[key];
|
|
11
15
|
}
|
|
12
16
|
|
|
13
17
|
static IsCached(key)
|
|
14
18
|
{
|
|
15
|
-
return
|
|
19
|
+
return this.CacheStorage[key] !== undefined;
|
|
16
20
|
}
|
|
17
21
|
}
|
|
18
22
|
|
package/modules/FAQ.js
CHANGED
package/modules/GoogleReviews.js
CHANGED
package/modules/Inventory.js
CHANGED
package/modules/Payments.js
CHANGED
|
@@ -13,6 +13,7 @@ class Payments
|
|
|
13
13
|
static #GET_AVAILABLE_ITEMS = "GetAvailableItems";
|
|
14
14
|
|
|
15
15
|
/**
|
|
16
|
+
* @deprecated
|
|
16
17
|
* Purchase specific product. After calling you'll be redirected depending on the result to success or cancel (failed) url
|
|
17
18
|
* @param {*} product product name as defined in php such as HOUR_LESSON
|
|
18
19
|
* @param {*} type payment type (credits, card), use PaymentType enum
|
|
@@ -36,6 +37,7 @@ class Payments
|
|
|
36
37
|
}
|
|
37
38
|
|
|
38
39
|
/**
|
|
40
|
+
* @deprecated
|
|
39
41
|
* Call on success page after purchase to mark the payment as successful.
|
|
40
42
|
*
|
|
41
43
|
* Will return false if is already marked.
|
|
@@ -50,6 +52,10 @@ class Payments
|
|
|
50
52
|
}
|
|
51
53
|
|
|
52
54
|
// Array of avaialable item names. returned as parsed json.
|
|
55
|
+
/**
|
|
56
|
+
* @deprecated
|
|
57
|
+
* @returns
|
|
58
|
+
*/
|
|
53
59
|
static async GetAvailableItems()
|
|
54
60
|
{
|
|
55
61
|
var res = await APIController.Get(this.#MODULE, this.#GET_AVAILABLE_ITEMS);
|
package/modules/Pricing.js
CHANGED
|
@@ -15,7 +15,7 @@ class Pricing
|
|
|
15
15
|
*/
|
|
16
16
|
static async getPriceTable()
|
|
17
17
|
{
|
|
18
|
-
var priceTable = await APIController.Get(this.#MODULE, this.#GET_PRICE_TABLE, {});
|
|
18
|
+
var priceTable = await APIController.Get(this.#MODULE, this.#GET_PRICE_TABLE, {}, true);
|
|
19
19
|
|
|
20
20
|
return priceTable;
|
|
21
21
|
}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import BillingInfo from "../objects/billingInfo";
|
|
2
2
|
import APIController from "./../apiController";
|
|
3
|
-
import Reservation from "./../objects/Reservation";
|
|
4
3
|
|
|
5
4
|
class ReservationSystem
|
|
6
5
|
{
|
|
@@ -34,7 +33,7 @@ class ReservationSystem
|
|
|
34
33
|
|
|
35
34
|
static async getAvailableStates()
|
|
36
35
|
{
|
|
37
|
-
var states = await APIController.Get(this.#MODULE, this.#GET_AVAILABLE_STATES);
|
|
36
|
+
var states = await APIController.Get(this.#MODULE, this.#GET_AVAILABLE_STATES, {}, true);
|
|
38
37
|
return states;
|
|
39
38
|
}
|
|
40
39
|
|
package/modules/Reviews.js
CHANGED
|
@@ -25,7 +25,7 @@ class Reviews
|
|
|
25
25
|
*/
|
|
26
26
|
static async GetReviews()
|
|
27
27
|
{
|
|
28
|
-
const reviews = await APIController.Get(this.#MODULE, this.#GET_REVIEWS, {});
|
|
28
|
+
const reviews = await APIController.Get(this.#MODULE, this.#GET_REVIEWS, {}, true);
|
|
29
29
|
|
|
30
30
|
return reviews;
|
|
31
31
|
}
|
|
@@ -36,7 +36,7 @@ class Reviews
|
|
|
36
36
|
*/
|
|
37
37
|
static async GetRating()
|
|
38
38
|
{
|
|
39
|
-
const rating = await APIController.Get(this.#MODULE, this.#GET_RATING, {});
|
|
39
|
+
const rating = await APIController.Get(this.#MODULE, this.#GET_RATING, {}, true);
|
|
40
40
|
|
|
41
41
|
return rating;
|
|
42
42
|
}
|
|
@@ -22,7 +22,7 @@ class SubjectManager
|
|
|
22
22
|
|
|
23
23
|
static async getAllAvailableLocations()
|
|
24
24
|
{
|
|
25
|
-
var data = await APIController.Get(this.#MODULE, this.#GET_ALL_AVAILABLE_LOCATIONS);
|
|
25
|
+
var data = await APIController.Get(this.#MODULE, this.#GET_ALL_AVAILABLE_LOCATIONS, {}, true);
|
|
26
26
|
var arr = JSON.parse(data);
|
|
27
27
|
return arr;
|
|
28
28
|
}
|
|
@@ -31,21 +31,9 @@ class SubjectManager
|
|
|
31
31
|
*
|
|
32
32
|
* @returns Array (Subject[id]) of all available subjects as array of Subject objects. Key is id of subject.
|
|
33
33
|
*/
|
|
34
|
-
static async GetAllAvailableSubjects(
|
|
34
|
+
static async GetAllAvailableSubjects()
|
|
35
35
|
{
|
|
36
|
-
var data;
|
|
37
|
-
|
|
38
|
-
/*if (APICache.IsCached(this.#SUBJECTS_CACHE_KEY) && !requestReload)
|
|
39
|
-
{
|
|
40
|
-
data = APICache.Retrive(this.#SUBJECTS_CACHE_KEY);
|
|
41
|
-
}
|
|
42
|
-
else
|
|
43
|
-
{
|
|
44
|
-
data = await APIController.Get(this.#MODULE, this.#GET_ALL_AVAILABLE_SUBJECTS);
|
|
45
|
-
APICache.Cache(this.#SUBJECTS_CACHE_KEY, data);
|
|
46
|
-
}*/
|
|
47
|
-
|
|
48
|
-
data = await APIController.Get(this.#MODULE, this.#GET_ALL_AVAILABLE_SUBJECTS);
|
|
36
|
+
var data = await APIController.Get(this.#MODULE, this.#GET_ALL_AVAILABLE_SUBJECTS, {}, true);
|
|
49
37
|
|
|
50
38
|
var dataArray = JSON.parse(data);
|
|
51
39
|
|
|
@@ -72,6 +60,11 @@ class SubjectManager
|
|
|
72
60
|
return availableSubjects;
|
|
73
61
|
}
|
|
74
62
|
|
|
63
|
+
/**
|
|
64
|
+
* @deprecated
|
|
65
|
+
* @param {*} requestReload
|
|
66
|
+
* @returns
|
|
67
|
+
*/
|
|
75
68
|
static async GetAllAvailableCourses(requestReload = false)
|
|
76
69
|
{
|
|
77
70
|
var data;
|
|
@@ -120,7 +113,7 @@ class SubjectManager
|
|
|
120
113
|
|
|
121
114
|
static async GetAllAvailablePlaces()
|
|
122
115
|
{
|
|
123
|
-
var data = await APIController.Get(this.#MODULE, this.#GET_ALL_AVAILABLE_PLACES);
|
|
116
|
+
var data = await APIController.Get(this.#MODULE, this.#GET_ALL_AVAILABLE_PLACES, {}, true);
|
|
124
117
|
|
|
125
118
|
var arr = JSON.parse(data);
|
|
126
119
|
|
|
@@ -129,7 +122,7 @@ class SubjectManager
|
|
|
129
122
|
|
|
130
123
|
static async GetAllAvailableClasses()
|
|
131
124
|
{
|
|
132
|
-
var data = await APIController.Get(this.#MODULE, this.#GET_ALL_AVAILABLE_CLASSES);
|
|
125
|
+
var data = await APIController.Get(this.#MODULE, this.#GET_ALL_AVAILABLE_CLASSES, {}, true);
|
|
133
126
|
var arr = JSON.parse(JSON.parse(data));
|
|
134
127
|
return arr;
|
|
135
128
|
}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import APIController from "./../apiController";
|
|
2
2
|
import TeacherProfile from "./../objects/TeacherProfile";
|
|
3
3
|
|
|
4
|
+
/**
|
|
5
|
+
* @deprecated
|
|
6
|
+
*/
|
|
4
7
|
class TeacherProfiles
|
|
5
8
|
{
|
|
6
9
|
static #MODULE = "TeacherProfiles";
|
|
@@ -9,6 +12,7 @@ class TeacherProfiles
|
|
|
9
12
|
|
|
10
13
|
|
|
11
14
|
/**
|
|
15
|
+
* @deprecated
|
|
12
16
|
* Retrive all public teacher profiles
|
|
13
17
|
*
|
|
14
18
|
* @returns teachers public profiles as array
|