glitch-javascript-sdk 0.0.3 → 0.0.4
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/dist/cjs/index.js +28 -6
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/api/Events.d.ts +205 -0
- package/dist/esm/api/Teams.d.ts +179 -0
- package/dist/esm/api/Users.d.ts +53 -0
- package/dist/esm/api/index.d.ts +2 -0
- package/dist/esm/index.d.ts +2 -0
- package/dist/esm/index.js +28 -6
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/routes/TeamsRoute.d.ts +7 -0
- package/dist/esm/util/Requests.d.ts +2 -0
- package/dist/index.d.ts +436 -0
- package/package.json +1 -1
- package/src/api/Events.ts +306 -8
- package/src/api/Teams.ts +256 -0
- package/src/api/Users.ts +74 -0
- package/src/api/index.ts +3 -1
- package/src/index.ts +4 -2
- package/src/routes/EventsRoute.ts +18 -16
- package/src/routes/TeamsRoute.ts +26 -0
- package/src/routes/UserRoutes.ts +1 -1
- package/src/util/Requests.ts +53 -6
package/src/index.ts
CHANGED
|
@@ -7,6 +7,7 @@ import { Auth } from "./api";
|
|
|
7
7
|
import { Competitions } from "./api";
|
|
8
8
|
import { Users } from "./api";
|
|
9
9
|
import {Events} from "./api";
|
|
10
|
+
import {Teams} from "./api";
|
|
10
11
|
|
|
11
12
|
class Glitch {
|
|
12
13
|
|
|
@@ -15,8 +16,9 @@ class Glitch {
|
|
|
15
16
|
public static api : {
|
|
16
17
|
Auth : typeof Auth,
|
|
17
18
|
Competitions: typeof Competitions,
|
|
18
|
-
Users: typeof Users
|
|
19
|
-
Events : typeof Events
|
|
19
|
+
Users: typeof Users,
|
|
20
|
+
Events : typeof Events,
|
|
21
|
+
Teams : typeof Teams
|
|
20
22
|
}
|
|
21
23
|
|
|
22
24
|
|
|
@@ -9,22 +9,24 @@ class EventsRoutes {
|
|
|
9
9
|
view : { url: '/events/{event_id}', method: HTTP_METHODS.GET },
|
|
10
10
|
update :{ url: '/events/{event_id}', method: HTTP_METHODS.PUT },
|
|
11
11
|
delete : { url: '/events/{event_id}', method: HTTP_METHODS.DELETE },
|
|
12
|
-
updateInvirtu : {url : '/events/{
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
12
|
+
updateInvirtu : {url : '/events/{event_id}/invirtu', method: HTTP_METHODS.PUT },
|
|
13
|
+
syncAsLive : {url : '/events/{event_id}/syncAsLive', method: HTTP_METHODS.POST },
|
|
14
|
+
addRTMPSource : {url : '/events/{event_id}/addRTMPSource', method: HTTP_METHODS.POST },
|
|
15
|
+
updateRTMPSource : {url : '/events/{event_id}/updateRTMPSource/{subid}', method: HTTP_METHODS.PUT },
|
|
16
|
+
removeRTMPSource : {url : '/events/{event_id}/removeRTMPSource/{subid}', method: HTTP_METHODS.DELETE},
|
|
17
|
+
uploadMainImage : {url : '/events/{event_id}/removeRTMPSource/{subid}', method: HTTP_METHODS.POST},
|
|
18
|
+
uploadBannerImage : {url : '/events/{event_id}/uploadBannerImage', method: HTTP_METHODS.POST},
|
|
19
|
+
enableBroadcastMode : {url : '/events/{event_id}/uploadBannerImage', method: HTTP_METHODS.POST},
|
|
20
|
+
enableLivestreamMode : {url : '/events/{event_id}/enableLivestreamMode', method: HTTP_METHODS.POST},
|
|
21
|
+
sendOnScreenContent : {url : '/events/{event_id}/sendOnScreenContent', method: HTTP_METHODS.POST},
|
|
22
|
+
addOverlay : {url : '/events/{event_id}/addOverlay', method : HTTP_METHODS.POST},
|
|
23
|
+
removeOverlay : {url : '/events/{event_id}/removeOverlay/{subid}', method : HTTP_METHODS.DELETE},
|
|
24
|
+
enableOverlay : {url : '/events/{event_id}/enableOverlay/{subid}', method : HTTP_METHODS.POST},
|
|
25
|
+
disableOverlay : {url : '/events/{event_id}/disableOverlay', method: HTTP_METHODS.POST},
|
|
26
|
+
enableDonations : {url : '/events/{event_id}/enableDonations', method: HTTP_METHODS.POST},
|
|
27
|
+
disableDonations : {url : '/events/{event_id}/disableDonations', method : HTTP_METHODS.POST},
|
|
28
|
+
sendInvite : {url : '/events/{event_id}/sendInvite', method : HTTP_METHODS.POST},
|
|
29
|
+
acceptInvite : {url : '/events/{event_id}/sendInvite', method : HTTP_METHODS.POST}
|
|
28
30
|
|
|
29
31
|
};
|
|
30
32
|
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import Route from "./interface";
|
|
2
|
+
import HTTP_METHODS from "../constants/HttpMethods";
|
|
3
|
+
|
|
4
|
+
class TeamsRoute {
|
|
5
|
+
|
|
6
|
+
public static routes: { [key: string]: Route } = {
|
|
7
|
+
list: { url: '/teams', method: HTTP_METHODS.GET },
|
|
8
|
+
create: { url: '/teams', method: HTTP_METHODS.POST },
|
|
9
|
+
view : { url: '/teams/{team_id}', method: HTTP_METHODS.GET },
|
|
10
|
+
update :{ url: '/teams/{team_id}', method: HTTP_METHODS.PUT },
|
|
11
|
+
delete : { url: '/teams/{team_id}', method: HTTP_METHODS.DELETE },
|
|
12
|
+
uploadMainImage : {url: '/teams/{team_id}/uploadMainImage', method : HTTP_METHODS.POST },
|
|
13
|
+
uploadBannerImage : {url : '/teams/{team_id}/uploadBannerImage', method : HTTP_METHODS.POST },
|
|
14
|
+
listInvites : {url : '/teams/{team_id}/invites', method : HTTP_METHODS.GET },
|
|
15
|
+
sendInvite : {url: '/teams/{team_id}/sendInvite', method : HTTP_METHODS.POST},
|
|
16
|
+
acceptInvite : {url : '/teams/{team_id}/acceptInvite', method: HTTP_METHODS.POST},
|
|
17
|
+
listTeamUsers : {url : '/teams/{team_id}/users', method : HTTP_METHODS.GET},
|
|
18
|
+
addTeamUser : {url : '/teams/{team_id}/users', method : HTTP_METHODS.POST},
|
|
19
|
+
showTeamUser : {url : '/teams/{team_id}/users/{user_id}', method : HTTP_METHODS.GET},
|
|
20
|
+
updateTeamUser : {url : '/teams/{team_id}/users/{user_id}', method : HTTP_METHODS.PUT},
|
|
21
|
+
removeTeamUser : {url : '/teams/{team_id}/users/{user_id}', method : HTTP_METHODS.DELETE}
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export default TeamsRoute;
|
package/src/routes/UserRoutes.ts
CHANGED
|
@@ -7,7 +7,7 @@ class UserRoutes {
|
|
|
7
7
|
list: { url: '/users', method: HTTP_METHODS.GET },
|
|
8
8
|
update: { url: '/users', method: HTTP_METHODS.PUT },
|
|
9
9
|
follow : { url: '/users/{user_id}/follow', method: HTTP_METHODS.POST },
|
|
10
|
-
profile :{ url: '/users/{
|
|
10
|
+
profile :{ url: '/users/{user_id}/profile', method: HTTP_METHODS.GET },
|
|
11
11
|
me : { url: '/users/me', method: HTTP_METHODS.GET },
|
|
12
12
|
oneTimeToken : { url: '/users/oneTimeToken', method: HTTP_METHODS.GET },
|
|
13
13
|
uploadAvatar : { url: '/users/uploadAvatarImage', method: HTTP_METHODS.POST },
|
package/src/util/Requests.ts
CHANGED
|
@@ -53,16 +53,27 @@ class Requests {
|
|
|
53
53
|
private static request<T>(
|
|
54
54
|
method: 'GET' | 'POST' | 'PUT' | 'DELETE',
|
|
55
55
|
url: string,
|
|
56
|
-
data?: any
|
|
56
|
+
data?: any,
|
|
57
|
+
fileData?: any
|
|
57
58
|
): AxiosPromise<Response<T>> {
|
|
59
|
+
|
|
60
|
+
let headers = {
|
|
61
|
+
'Content-Type': 'application/json',
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
if(this.authToken) {
|
|
65
|
+
headers['Authorization'] = `Bearer ${this.authToken}`;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
if (fileData) {
|
|
69
|
+
headers['Content-Type'] = 'multipart/form-data';
|
|
70
|
+
}
|
|
71
|
+
|
|
58
72
|
const axiosPromise = axios({
|
|
59
73
|
method,
|
|
60
74
|
url: `${this.baseUrl}${url}`,
|
|
61
|
-
data,
|
|
62
|
-
headers
|
|
63
|
-
Authorization: `Bearer ${this.authToken}`,
|
|
64
|
-
'Content-Type': 'application/json',
|
|
65
|
-
},
|
|
75
|
+
data: fileData || data,
|
|
76
|
+
headers,
|
|
66
77
|
});
|
|
67
78
|
|
|
68
79
|
return axiosPromise;
|
|
@@ -90,6 +101,42 @@ class Requests {
|
|
|
90
101
|
return this.request<T>('DELETE', url);
|
|
91
102
|
}
|
|
92
103
|
|
|
104
|
+
public static uploadFile<T>(
|
|
105
|
+
url: string,
|
|
106
|
+
filename : string,
|
|
107
|
+
file: File,
|
|
108
|
+
data?: any
|
|
109
|
+
): AxiosPromise<Response<T>> {
|
|
110
|
+
|
|
111
|
+
const formData = new FormData();
|
|
112
|
+
|
|
113
|
+
formData.append(filename, file);
|
|
114
|
+
|
|
115
|
+
for (let key in data) {
|
|
116
|
+
formData.append(key, data[key]);
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
return this.request<T>('POST', url, data, formData);
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
public static uploadBlob<T>(
|
|
123
|
+
url: string,
|
|
124
|
+
filename : string,
|
|
125
|
+
blob: Blob,
|
|
126
|
+
data?: any
|
|
127
|
+
): AxiosPromise<Response<T>> {
|
|
128
|
+
|
|
129
|
+
const formData = new FormData();
|
|
130
|
+
|
|
131
|
+
formData.append(filename, blob);
|
|
132
|
+
|
|
133
|
+
for (let key in data) {
|
|
134
|
+
formData.append(key, data[key]);
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
return this.request<T>('POST', url, data, formData);
|
|
138
|
+
}
|
|
139
|
+
|
|
93
140
|
/**
|
|
94
141
|
* The Route class contains the method and url, thereforce items can be
|
|
95
142
|
* automatically routed depending on the configuration.
|