@olea-bps/context-event 1.0.0 → 1.0.3
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/AsistServerClient.js +82 -0
- package/index.js +5 -1
- package/package.json +2 -1
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Client to get Events from ASiST server
|
|
3
|
+
*/
|
|
4
|
+
export default class AsistServerClient {
|
|
5
|
+
/**
|
|
6
|
+
* Base URL which is expanded to generate the request URLs.
|
|
7
|
+
* @private
|
|
8
|
+
*/
|
|
9
|
+
#baseUrl
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* University code which is communicated to the ASiST server via the request URL in order to retrieve the events of the correct university.
|
|
13
|
+
* @private
|
|
14
|
+
*/
|
|
15
|
+
#university
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Returns the request URL to get all events from the ASiST server.
|
|
19
|
+
* @returns {URL}
|
|
20
|
+
*/
|
|
21
|
+
// If available implement as private get property
|
|
22
|
+
getAllUrl() {
|
|
23
|
+
return new URL(`${this.#baseUrl}/${this.#university}/events`);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Construct a ASiST server rest api client.
|
|
28
|
+
* @param {String} baseUrl URL which is used as the basis for the query URLs.
|
|
29
|
+
* @param {String} university University code of the university to be queried.
|
|
30
|
+
*/
|
|
31
|
+
constructor(baseUrl, university) {
|
|
32
|
+
this.#baseUrl = baseUrl;
|
|
33
|
+
this.#university = university;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Returns a list of all events from the queried university.
|
|
38
|
+
* @returns {Array} Array of all event objects
|
|
39
|
+
*/
|
|
40
|
+
getAll() {
|
|
41
|
+
const getAllEventsURL = this.getAllUrl();
|
|
42
|
+
|
|
43
|
+
console.debug(`Get all events: ${getAllEventsURL}`)
|
|
44
|
+
|
|
45
|
+
return fetch(
|
|
46
|
+
getAllEventsURL,
|
|
47
|
+
{
|
|
48
|
+
'headers': AsistServerClient.generateHeaders(),
|
|
49
|
+
}
|
|
50
|
+
).then(allEventResponse => allEventResponse.json())
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Return list of events for the personal code.
|
|
55
|
+
* @param {String} personalCode Personal code for market events
|
|
56
|
+
* @returns {Array}
|
|
57
|
+
*/
|
|
58
|
+
getByPersonalCode(personalCode) {
|
|
59
|
+
// If available implement query parameter with 'searchParams.set': personalEventsURL.searchParams.set('code', personalCode);
|
|
60
|
+
const personalEventsURL = `${this.getAllUrl()}?code=${personalCode}`;
|
|
61
|
+
|
|
62
|
+
console.debug(`Get personal events: ${personalEventsURL}`)
|
|
63
|
+
|
|
64
|
+
return fetch(
|
|
65
|
+
personalEventsURL,
|
|
66
|
+
{
|
|
67
|
+
'headers': AsistServerClient.generateHeaders(),
|
|
68
|
+
}
|
|
69
|
+
).then(personalEventResponse => personalEventResponse.json())
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Returns standart headers für asist server requests.
|
|
74
|
+
* @returns {object}
|
|
75
|
+
*/
|
|
76
|
+
// If available implement as private
|
|
77
|
+
static generateHeaders() {
|
|
78
|
+
return {
|
|
79
|
+
'Accept': 'application/json',
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
package/index.js
CHANGED
|
@@ -133,7 +133,11 @@ export default function EventContextProvider({ children }) {
|
|
|
133
133
|
* @returns {object} Eventkontext
|
|
134
134
|
*/
|
|
135
135
|
export function useEventContext() {
|
|
136
|
-
|
|
136
|
+
const context = useContext(EventContext);
|
|
137
|
+
if (context === null) {
|
|
138
|
+
throw new Error('useEventContext must be used within an EventContextProvider');
|
|
139
|
+
}
|
|
140
|
+
return context;
|
|
137
141
|
}
|
|
138
142
|
|
|
139
143
|
/**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@olea-bps/context-event",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.3",
|
|
4
4
|
"description": "Context for event",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
"license": "Apache-2.0",
|
|
20
20
|
"files": [
|
|
21
21
|
"index.js",
|
|
22
|
+
"AsistServerClient.js",
|
|
22
23
|
"package.json",
|
|
23
24
|
"LICENSE",
|
|
24
25
|
"README.md"
|