@borealise/api 1.0.8 → 1.1.0
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/index.d.mts +81 -8
- package/dist/index.d.ts +81 -8
- package/dist/index.js +58 -10
- package/dist/index.mjs +58 -10
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -102,8 +102,9 @@ interface AuthUser {
|
|
|
102
102
|
globalRole: string;
|
|
103
103
|
xp: number;
|
|
104
104
|
level: number;
|
|
105
|
-
flags?: number;
|
|
106
|
-
subscriptionType?: string;
|
|
105
|
+
flags?: number | null;
|
|
106
|
+
subscriptionType?: string | null;
|
|
107
|
+
subscriptionMonths?: number;
|
|
107
108
|
subscriptionExpiresAt?: string | null;
|
|
108
109
|
emailVerified?: boolean;
|
|
109
110
|
createdAt?: string;
|
|
@@ -161,6 +162,7 @@ interface UpdateProfileData {
|
|
|
161
162
|
displayName?: string;
|
|
162
163
|
bio?: string;
|
|
163
164
|
}
|
|
165
|
+
type GlobalRole = 'user' | 'moderator' | 'admin' | 'owner';
|
|
164
166
|
interface UserResponse {
|
|
165
167
|
success: boolean;
|
|
166
168
|
data: {
|
|
@@ -176,6 +178,11 @@ declare class UserResource extends ApiResource<User> {
|
|
|
176
178
|
success: boolean;
|
|
177
179
|
message: string;
|
|
178
180
|
}>>;
|
|
181
|
+
updateRole(id: number, role: GlobalRole): Promise<ApiResponse<UserResponse>>;
|
|
182
|
+
disable(id: number): Promise<ApiResponse<{
|
|
183
|
+
success: boolean;
|
|
184
|
+
data: null;
|
|
185
|
+
}>>;
|
|
179
186
|
}
|
|
180
187
|
declare const userResource: UserResource;
|
|
181
188
|
|
|
@@ -264,9 +271,49 @@ interface RoomUserState {
|
|
|
264
271
|
xp: number;
|
|
265
272
|
bio: string | null;
|
|
266
273
|
globalRole: string;
|
|
274
|
+
flags?: number | null;
|
|
267
275
|
role: RoomRole;
|
|
276
|
+
subscriptionType?: string | null;
|
|
277
|
+
subscriptionMonths?: number;
|
|
268
278
|
joinedAt: number;
|
|
269
279
|
}
|
|
280
|
+
interface RoomBan {
|
|
281
|
+
id: number;
|
|
282
|
+
userId: number;
|
|
283
|
+
modById: number;
|
|
284
|
+
reason: string | null;
|
|
285
|
+
duration: number | null;
|
|
286
|
+
expiresAt: string | null;
|
|
287
|
+
createdAt: string;
|
|
288
|
+
username: string;
|
|
289
|
+
displayName: string | null;
|
|
290
|
+
}
|
|
291
|
+
interface RoomBansResponse {
|
|
292
|
+
success: boolean;
|
|
293
|
+
data: {
|
|
294
|
+
bans: RoomBan[];
|
|
295
|
+
};
|
|
296
|
+
}
|
|
297
|
+
interface ModerateUserData {
|
|
298
|
+
reason?: string;
|
|
299
|
+
duration?: number;
|
|
300
|
+
}
|
|
301
|
+
interface BanResponse {
|
|
302
|
+
success: boolean;
|
|
303
|
+
data: {
|
|
304
|
+
userId: number;
|
|
305
|
+
bannedUntil: string | null;
|
|
306
|
+
permanent: boolean;
|
|
307
|
+
};
|
|
308
|
+
}
|
|
309
|
+
interface MuteResponse {
|
|
310
|
+
success: boolean;
|
|
311
|
+
data: {
|
|
312
|
+
userId: number;
|
|
313
|
+
mutedUntil: string | undefined;
|
|
314
|
+
duration: number;
|
|
315
|
+
};
|
|
316
|
+
}
|
|
270
317
|
interface BoothDJ {
|
|
271
318
|
userId: number;
|
|
272
319
|
username: string;
|
|
@@ -357,11 +404,33 @@ declare class RoomResource extends ApiResource<Room> {
|
|
|
357
404
|
success: boolean;
|
|
358
405
|
}>>;
|
|
359
406
|
getStaff(slug: string): Promise<ApiResponse<RoomStaffResponse>>;
|
|
360
|
-
|
|
407
|
+
getBans(slug: string): Promise<ApiResponse<RoomBansResponse>>;
|
|
408
|
+
updateUserRole(slug: string, userId: number, role: RoomRole): Promise<ApiResponse<{
|
|
409
|
+
success: boolean;
|
|
410
|
+
data: {
|
|
411
|
+
userId: number;
|
|
412
|
+
role: RoomRole;
|
|
413
|
+
};
|
|
414
|
+
}>>;
|
|
415
|
+
ban(slug: string, userId: number, data?: ModerateUserData): Promise<ApiResponse<BanResponse>>;
|
|
416
|
+
unban(slug: string, userId: number): Promise<ApiResponse<{
|
|
361
417
|
success: boolean;
|
|
418
|
+
data: {
|
|
419
|
+
userId: number;
|
|
420
|
+
};
|
|
362
421
|
}>>;
|
|
363
|
-
|
|
422
|
+
mute(slug: string, userId: number, data?: ModerateUserData): Promise<ApiResponse<MuteResponse>>;
|
|
423
|
+
unmute(slug: string, userId: number): Promise<ApiResponse<{
|
|
364
424
|
success: boolean;
|
|
425
|
+
data: {
|
|
426
|
+
userId: number;
|
|
427
|
+
};
|
|
428
|
+
}>>;
|
|
429
|
+
kick(slug: string, userId: number): Promise<ApiResponse<{
|
|
430
|
+
success: boolean;
|
|
431
|
+
data: {
|
|
432
|
+
userId: number;
|
|
433
|
+
};
|
|
365
434
|
}>>;
|
|
366
435
|
join(slug: string): Promise<ApiResponse<JoinRoomResponse>>;
|
|
367
436
|
leave(slug: string): Promise<ApiResponse<{
|
|
@@ -414,10 +483,10 @@ declare const roomResource: RoomResource;
|
|
|
414
483
|
|
|
415
484
|
interface ChatMessage {
|
|
416
485
|
id: string;
|
|
417
|
-
|
|
418
|
-
|
|
486
|
+
room_id: number;
|
|
487
|
+
user_id: number;
|
|
419
488
|
username: string;
|
|
420
|
-
|
|
489
|
+
display_name: string | null;
|
|
421
490
|
role: RoomRole;
|
|
422
491
|
content: string;
|
|
423
492
|
timestamp: number;
|
|
@@ -444,6 +513,7 @@ declare class ChatResource extends ApiResource<ChatMessage> {
|
|
|
444
513
|
getMessages(slug: string, before?: string, limit?: number): Promise<ApiResponse<ChatMessagesResponse>>;
|
|
445
514
|
deleteMessage(slug: string, messageId: string): Promise<ApiResponse<{
|
|
446
515
|
success: boolean;
|
|
516
|
+
data: null;
|
|
447
517
|
}>>;
|
|
448
518
|
}
|
|
449
519
|
declare const chatResource: ChatResource;
|
|
@@ -648,8 +718,11 @@ declare class SubscriptionResource extends ApiResource {
|
|
|
648
718
|
data: SubscriptionStatus;
|
|
649
719
|
}>>;
|
|
650
720
|
createIntent(plan: SubscriptionPlan): Promise<ApiResponse<CreateIntentResponse>>;
|
|
721
|
+
cancelIntent(subscriptionId: string): Promise<ApiResponse<{
|
|
722
|
+
success: boolean;
|
|
723
|
+
}>>;
|
|
651
724
|
createPortal(): Promise<ApiResponse<PortalResponse>>;
|
|
652
725
|
}
|
|
653
726
|
declare const subscriptionResource: SubscriptionResource;
|
|
654
727
|
|
|
655
|
-
export { type AddMediaData, Api, type ApiConfig, ApiError, ApiResource, type ApiResponse, AuthResource, type AuthResponse, type AuthUser, type AvatarCatalogItem, type AvatarCatalogResponse, type AvatarUnlockType, type BackendErrorResponse, type BoothDJ, type BoothMedia, type BoothResponse, type BoothState, type ChatMessage, type ChatMessageResponse, type ChatMessagesResponse, ChatResource, type CreateIntentResponse, type CreateRoomData, type EquipAvatarData, type FeaturedRoomsResponse, type GrabResponse, type ImportPlaylistData, type ImportPlaylistResponse, type ImportResult, type JoinRoomResponse, Logger, type LoginCredentials, type MeResponse, type MediaItem, type MediaItemResponse, type MediaSearchResult, type MediaSource, type PaginatedResponse, type Playlist, PlaylistResource, type PlaylistResponse, type PlaylistsResponse, type PortalResponse, type RefreshResponse, type RegisterData, type ResourceOptions, type Room, type RoomMember, RoomResource, type RoomResponse, type RoomRole, type RoomStaffResponse, type RoomUserState, type RoomsResponse, type SendMessageData, ShopResource, type ShuffleResponse, type SoundCloudSearchResponse, type SoundCloudTrackResponse, SourceResource, type SubscriptionPlan, SubscriptionResource, type SubscriptionStatus, type UpdateProfileData, type UpdateRoomData, type User, UserResource, type UserResponse, type VoteResponse, type WaitlistResponse, type WaitlistUser, type YouTubeSearchResponse, type YouTubeVideoResponse, authResource, chatResource, playlistResource, roomResource, shopResource, sourceResource, subscriptionResource, userResource };
|
|
728
|
+
export { type AddMediaData, Api, type ApiConfig, ApiError, ApiResource, type ApiResponse, AuthResource, type AuthResponse, type AuthUser, type AvatarCatalogItem, type AvatarCatalogResponse, type AvatarUnlockType, type BackendErrorResponse, type BanResponse, type BoothDJ, type BoothMedia, type BoothResponse, type BoothState, type ChatMessage, type ChatMessageResponse, type ChatMessagesResponse, ChatResource, type CreateIntentResponse, type CreateRoomData, type EquipAvatarData, type FeaturedRoomsResponse, type GlobalRole, type GrabResponse, type ImportPlaylistData, type ImportPlaylistResponse, type ImportResult, type JoinRoomResponse, Logger, type LoginCredentials, type MeResponse, type MediaItem, type MediaItemResponse, type MediaSearchResult, type MediaSource, type ModerateUserData, type MuteResponse, type PaginatedResponse, type Playlist, PlaylistResource, type PlaylistResponse, type PlaylistsResponse, type PortalResponse, type RefreshResponse, type RegisterData, type ResourceOptions, type Room, type RoomBan, type RoomBansResponse, type RoomMember, RoomResource, type RoomResponse, type RoomRole, type RoomStaffResponse, type RoomUserState, type RoomsResponse, type SendMessageData, ShopResource, type ShuffleResponse, type SoundCloudSearchResponse, type SoundCloudTrackResponse, SourceResource, type SubscriptionPlan, SubscriptionResource, type SubscriptionStatus, type UpdateProfileData, type UpdateRoomData, type User, UserResource, type UserResponse, type VoteResponse, type WaitlistResponse, type WaitlistUser, type YouTubeSearchResponse, type YouTubeVideoResponse, authResource, chatResource, playlistResource, roomResource, shopResource, sourceResource, subscriptionResource, userResource };
|
package/dist/index.d.ts
CHANGED
|
@@ -102,8 +102,9 @@ interface AuthUser {
|
|
|
102
102
|
globalRole: string;
|
|
103
103
|
xp: number;
|
|
104
104
|
level: number;
|
|
105
|
-
flags?: number;
|
|
106
|
-
subscriptionType?: string;
|
|
105
|
+
flags?: number | null;
|
|
106
|
+
subscriptionType?: string | null;
|
|
107
|
+
subscriptionMonths?: number;
|
|
107
108
|
subscriptionExpiresAt?: string | null;
|
|
108
109
|
emailVerified?: boolean;
|
|
109
110
|
createdAt?: string;
|
|
@@ -161,6 +162,7 @@ interface UpdateProfileData {
|
|
|
161
162
|
displayName?: string;
|
|
162
163
|
bio?: string;
|
|
163
164
|
}
|
|
165
|
+
type GlobalRole = 'user' | 'moderator' | 'admin' | 'owner';
|
|
164
166
|
interface UserResponse {
|
|
165
167
|
success: boolean;
|
|
166
168
|
data: {
|
|
@@ -176,6 +178,11 @@ declare class UserResource extends ApiResource<User> {
|
|
|
176
178
|
success: boolean;
|
|
177
179
|
message: string;
|
|
178
180
|
}>>;
|
|
181
|
+
updateRole(id: number, role: GlobalRole): Promise<ApiResponse<UserResponse>>;
|
|
182
|
+
disable(id: number): Promise<ApiResponse<{
|
|
183
|
+
success: boolean;
|
|
184
|
+
data: null;
|
|
185
|
+
}>>;
|
|
179
186
|
}
|
|
180
187
|
declare const userResource: UserResource;
|
|
181
188
|
|
|
@@ -264,9 +271,49 @@ interface RoomUserState {
|
|
|
264
271
|
xp: number;
|
|
265
272
|
bio: string | null;
|
|
266
273
|
globalRole: string;
|
|
274
|
+
flags?: number | null;
|
|
267
275
|
role: RoomRole;
|
|
276
|
+
subscriptionType?: string | null;
|
|
277
|
+
subscriptionMonths?: number;
|
|
268
278
|
joinedAt: number;
|
|
269
279
|
}
|
|
280
|
+
interface RoomBan {
|
|
281
|
+
id: number;
|
|
282
|
+
userId: number;
|
|
283
|
+
modById: number;
|
|
284
|
+
reason: string | null;
|
|
285
|
+
duration: number | null;
|
|
286
|
+
expiresAt: string | null;
|
|
287
|
+
createdAt: string;
|
|
288
|
+
username: string;
|
|
289
|
+
displayName: string | null;
|
|
290
|
+
}
|
|
291
|
+
interface RoomBansResponse {
|
|
292
|
+
success: boolean;
|
|
293
|
+
data: {
|
|
294
|
+
bans: RoomBan[];
|
|
295
|
+
};
|
|
296
|
+
}
|
|
297
|
+
interface ModerateUserData {
|
|
298
|
+
reason?: string;
|
|
299
|
+
duration?: number;
|
|
300
|
+
}
|
|
301
|
+
interface BanResponse {
|
|
302
|
+
success: boolean;
|
|
303
|
+
data: {
|
|
304
|
+
userId: number;
|
|
305
|
+
bannedUntil: string | null;
|
|
306
|
+
permanent: boolean;
|
|
307
|
+
};
|
|
308
|
+
}
|
|
309
|
+
interface MuteResponse {
|
|
310
|
+
success: boolean;
|
|
311
|
+
data: {
|
|
312
|
+
userId: number;
|
|
313
|
+
mutedUntil: string | undefined;
|
|
314
|
+
duration: number;
|
|
315
|
+
};
|
|
316
|
+
}
|
|
270
317
|
interface BoothDJ {
|
|
271
318
|
userId: number;
|
|
272
319
|
username: string;
|
|
@@ -357,11 +404,33 @@ declare class RoomResource extends ApiResource<Room> {
|
|
|
357
404
|
success: boolean;
|
|
358
405
|
}>>;
|
|
359
406
|
getStaff(slug: string): Promise<ApiResponse<RoomStaffResponse>>;
|
|
360
|
-
|
|
407
|
+
getBans(slug: string): Promise<ApiResponse<RoomBansResponse>>;
|
|
408
|
+
updateUserRole(slug: string, userId: number, role: RoomRole): Promise<ApiResponse<{
|
|
409
|
+
success: boolean;
|
|
410
|
+
data: {
|
|
411
|
+
userId: number;
|
|
412
|
+
role: RoomRole;
|
|
413
|
+
};
|
|
414
|
+
}>>;
|
|
415
|
+
ban(slug: string, userId: number, data?: ModerateUserData): Promise<ApiResponse<BanResponse>>;
|
|
416
|
+
unban(slug: string, userId: number): Promise<ApiResponse<{
|
|
361
417
|
success: boolean;
|
|
418
|
+
data: {
|
|
419
|
+
userId: number;
|
|
420
|
+
};
|
|
362
421
|
}>>;
|
|
363
|
-
|
|
422
|
+
mute(slug: string, userId: number, data?: ModerateUserData): Promise<ApiResponse<MuteResponse>>;
|
|
423
|
+
unmute(slug: string, userId: number): Promise<ApiResponse<{
|
|
364
424
|
success: boolean;
|
|
425
|
+
data: {
|
|
426
|
+
userId: number;
|
|
427
|
+
};
|
|
428
|
+
}>>;
|
|
429
|
+
kick(slug: string, userId: number): Promise<ApiResponse<{
|
|
430
|
+
success: boolean;
|
|
431
|
+
data: {
|
|
432
|
+
userId: number;
|
|
433
|
+
};
|
|
365
434
|
}>>;
|
|
366
435
|
join(slug: string): Promise<ApiResponse<JoinRoomResponse>>;
|
|
367
436
|
leave(slug: string): Promise<ApiResponse<{
|
|
@@ -414,10 +483,10 @@ declare const roomResource: RoomResource;
|
|
|
414
483
|
|
|
415
484
|
interface ChatMessage {
|
|
416
485
|
id: string;
|
|
417
|
-
|
|
418
|
-
|
|
486
|
+
room_id: number;
|
|
487
|
+
user_id: number;
|
|
419
488
|
username: string;
|
|
420
|
-
|
|
489
|
+
display_name: string | null;
|
|
421
490
|
role: RoomRole;
|
|
422
491
|
content: string;
|
|
423
492
|
timestamp: number;
|
|
@@ -444,6 +513,7 @@ declare class ChatResource extends ApiResource<ChatMessage> {
|
|
|
444
513
|
getMessages(slug: string, before?: string, limit?: number): Promise<ApiResponse<ChatMessagesResponse>>;
|
|
445
514
|
deleteMessage(slug: string, messageId: string): Promise<ApiResponse<{
|
|
446
515
|
success: boolean;
|
|
516
|
+
data: null;
|
|
447
517
|
}>>;
|
|
448
518
|
}
|
|
449
519
|
declare const chatResource: ChatResource;
|
|
@@ -648,8 +718,11 @@ declare class SubscriptionResource extends ApiResource {
|
|
|
648
718
|
data: SubscriptionStatus;
|
|
649
719
|
}>>;
|
|
650
720
|
createIntent(plan: SubscriptionPlan): Promise<ApiResponse<CreateIntentResponse>>;
|
|
721
|
+
cancelIntent(subscriptionId: string): Promise<ApiResponse<{
|
|
722
|
+
success: boolean;
|
|
723
|
+
}>>;
|
|
651
724
|
createPortal(): Promise<ApiResponse<PortalResponse>>;
|
|
652
725
|
}
|
|
653
726
|
declare const subscriptionResource: SubscriptionResource;
|
|
654
727
|
|
|
655
|
-
export { type AddMediaData, Api, type ApiConfig, ApiError, ApiResource, type ApiResponse, AuthResource, type AuthResponse, type AuthUser, type AvatarCatalogItem, type AvatarCatalogResponse, type AvatarUnlockType, type BackendErrorResponse, type BoothDJ, type BoothMedia, type BoothResponse, type BoothState, type ChatMessage, type ChatMessageResponse, type ChatMessagesResponse, ChatResource, type CreateIntentResponse, type CreateRoomData, type EquipAvatarData, type FeaturedRoomsResponse, type GrabResponse, type ImportPlaylistData, type ImportPlaylistResponse, type ImportResult, type JoinRoomResponse, Logger, type LoginCredentials, type MeResponse, type MediaItem, type MediaItemResponse, type MediaSearchResult, type MediaSource, type PaginatedResponse, type Playlist, PlaylistResource, type PlaylistResponse, type PlaylistsResponse, type PortalResponse, type RefreshResponse, type RegisterData, type ResourceOptions, type Room, type RoomMember, RoomResource, type RoomResponse, type RoomRole, type RoomStaffResponse, type RoomUserState, type RoomsResponse, type SendMessageData, ShopResource, type ShuffleResponse, type SoundCloudSearchResponse, type SoundCloudTrackResponse, SourceResource, type SubscriptionPlan, SubscriptionResource, type SubscriptionStatus, type UpdateProfileData, type UpdateRoomData, type User, UserResource, type UserResponse, type VoteResponse, type WaitlistResponse, type WaitlistUser, type YouTubeSearchResponse, type YouTubeVideoResponse, authResource, chatResource, playlistResource, roomResource, shopResource, sourceResource, subscriptionResource, userResource };
|
|
728
|
+
export { type AddMediaData, Api, type ApiConfig, ApiError, ApiResource, type ApiResponse, AuthResource, type AuthResponse, type AuthUser, type AvatarCatalogItem, type AvatarCatalogResponse, type AvatarUnlockType, type BackendErrorResponse, type BanResponse, type BoothDJ, type BoothMedia, type BoothResponse, type BoothState, type ChatMessage, type ChatMessageResponse, type ChatMessagesResponse, ChatResource, type CreateIntentResponse, type CreateRoomData, type EquipAvatarData, type FeaturedRoomsResponse, type GlobalRole, type GrabResponse, type ImportPlaylistData, type ImportPlaylistResponse, type ImportResult, type JoinRoomResponse, Logger, type LoginCredentials, type MeResponse, type MediaItem, type MediaItemResponse, type MediaSearchResult, type MediaSource, type ModerateUserData, type MuteResponse, type PaginatedResponse, type Playlist, PlaylistResource, type PlaylistResponse, type PlaylistsResponse, type PortalResponse, type RefreshResponse, type RegisterData, type ResourceOptions, type Room, type RoomBan, type RoomBansResponse, type RoomMember, RoomResource, type RoomResponse, type RoomRole, type RoomStaffResponse, type RoomUserState, type RoomsResponse, type SendMessageData, ShopResource, type ShuffleResponse, type SoundCloudSearchResponse, type SoundCloudTrackResponse, SourceResource, type SubscriptionPlan, SubscriptionResource, type SubscriptionStatus, type UpdateProfileData, type UpdateRoomData, type User, UserResource, type UserResponse, type VoteResponse, type WaitlistResponse, type WaitlistUser, type YouTubeSearchResponse, type YouTubeVideoResponse, authResource, chatResource, playlistResource, roomResource, shopResource, sourceResource, subscriptionResource, userResource };
|
package/dist/index.js
CHANGED
|
@@ -363,6 +363,17 @@ var UserResource = class extends ApiResource {
|
|
|
363
363
|
async deleteAccount() {
|
|
364
364
|
return this.api.delete(`${this.endpoint}/me`);
|
|
365
365
|
}
|
|
366
|
+
// ============================================
|
|
367
|
+
// Admin methods
|
|
368
|
+
// ============================================
|
|
369
|
+
// PATCH /api/admin/users/:id/role
|
|
370
|
+
async updateRole(id, role) {
|
|
371
|
+
return this.api.patch(`/api/admin/users/${id}/role`, { role });
|
|
372
|
+
}
|
|
373
|
+
// POST /api/admin/users/:id/disable
|
|
374
|
+
async disable(id) {
|
|
375
|
+
return this.api.post(`/api/admin/users/${id}/disable`);
|
|
376
|
+
}
|
|
366
377
|
};
|
|
367
378
|
var userResource = new UserResource();
|
|
368
379
|
|
|
@@ -400,13 +411,45 @@ var RoomResource = class extends ApiResource {
|
|
|
400
411
|
async getStaff(slug) {
|
|
401
412
|
return this.get(`${slug}/staff`);
|
|
402
413
|
}
|
|
403
|
-
//
|
|
404
|
-
|
|
405
|
-
|
|
414
|
+
// ============================================
|
|
415
|
+
// Moderation methods
|
|
416
|
+
// ============================================
|
|
417
|
+
// GET /api/rooms/:slug/bans
|
|
418
|
+
async getBans(slug) {
|
|
419
|
+
return this.get(`${slug}/bans`);
|
|
420
|
+
}
|
|
421
|
+
// PATCH /api/rooms/:slug/users/:userId/role
|
|
422
|
+
async updateUserRole(slug, userId, role) {
|
|
423
|
+
return this.api.patch(
|
|
424
|
+
`${this.endpoint}/${slug}/users/${userId}/role`,
|
|
425
|
+
{ role }
|
|
426
|
+
);
|
|
406
427
|
}
|
|
407
|
-
//
|
|
408
|
-
async
|
|
409
|
-
return this.api.
|
|
428
|
+
// POST /api/rooms/:slug/users/:userId/ban
|
|
429
|
+
async ban(slug, userId, data) {
|
|
430
|
+
return this.api.post(`${this.endpoint}/${slug}/users/${userId}/ban`, data || {});
|
|
431
|
+
}
|
|
432
|
+
// DELETE /api/rooms/:slug/users/:userId/ban
|
|
433
|
+
async unban(slug, userId) {
|
|
434
|
+
return this.api.delete(
|
|
435
|
+
`${this.endpoint}/${slug}/users/${userId}/ban`
|
|
436
|
+
);
|
|
437
|
+
}
|
|
438
|
+
// POST /api/rooms/:slug/users/:userId/mute
|
|
439
|
+
async mute(slug, userId, data) {
|
|
440
|
+
return this.api.post(`${this.endpoint}/${slug}/users/${userId}/mute`, data || {});
|
|
441
|
+
}
|
|
442
|
+
// DELETE /api/rooms/:slug/users/:userId/mute
|
|
443
|
+
async unmute(slug, userId) {
|
|
444
|
+
return this.api.delete(
|
|
445
|
+
`${this.endpoint}/${slug}/users/${userId}/mute`
|
|
446
|
+
);
|
|
447
|
+
}
|
|
448
|
+
// POST /api/rooms/:slug/users/:userId/kick
|
|
449
|
+
async kick(slug, userId) {
|
|
450
|
+
return this.api.post(
|
|
451
|
+
`${this.endpoint}/${slug}/users/${userId}/kick`
|
|
452
|
+
);
|
|
410
453
|
}
|
|
411
454
|
// POST /api/rooms/:slug/join - Join a room (session-based)
|
|
412
455
|
async join(slug) {
|
|
@@ -458,13 +501,13 @@ var RoomResource = class extends ApiResource {
|
|
|
458
501
|
async skipTrack(slug, options) {
|
|
459
502
|
return this.post(`${slug}/booth/skip`, options || {});
|
|
460
503
|
}
|
|
461
|
-
// POST /api/rooms/:slug/vote
|
|
504
|
+
// POST /api/rooms/:slug/booth/vote
|
|
462
505
|
async vote(slug, type) {
|
|
463
|
-
return this.post(`${slug}/vote`, { type });
|
|
506
|
+
return this.post(`${slug}/booth/vote`, { type });
|
|
464
507
|
}
|
|
465
|
-
// POST /api/rooms/:slug/grab
|
|
508
|
+
// POST /api/rooms/:slug/booth/grab
|
|
466
509
|
async grabTrack(slug, playlistId) {
|
|
467
|
-
return this.post(`${slug}/grab`, playlistId ? { playlistId } : {});
|
|
510
|
+
return this.post(`${slug}/booth/grab`, playlistId ? { playlistId } : {});
|
|
468
511
|
}
|
|
469
512
|
};
|
|
470
513
|
var roomResource = new RoomResource();
|
|
@@ -644,6 +687,11 @@ var SubscriptionResource = class extends ApiResource {
|
|
|
644
687
|
async createIntent(plan) {
|
|
645
688
|
return this.api.post(`${this.endpoint}/create-intent`, { plan });
|
|
646
689
|
}
|
|
690
|
+
// POST /api/subscriptions/cancel-intent
|
|
691
|
+
// Cancels an incomplete subscription when the user goes back from the payment step
|
|
692
|
+
async cancelIntent(subscriptionId) {
|
|
693
|
+
return this.api.post(`${this.endpoint}/cancel-intent`, { subscriptionId });
|
|
694
|
+
}
|
|
647
695
|
// POST /api/subscriptions/portal
|
|
648
696
|
async createPortal() {
|
|
649
697
|
return this.api.post(`${this.endpoint}/portal`);
|
package/dist/index.mjs
CHANGED
|
@@ -308,6 +308,17 @@ var UserResource = class extends ApiResource {
|
|
|
308
308
|
async deleteAccount() {
|
|
309
309
|
return this.api.delete(`${this.endpoint}/me`);
|
|
310
310
|
}
|
|
311
|
+
// ============================================
|
|
312
|
+
// Admin methods
|
|
313
|
+
// ============================================
|
|
314
|
+
// PATCH /api/admin/users/:id/role
|
|
315
|
+
async updateRole(id, role) {
|
|
316
|
+
return this.api.patch(`/api/admin/users/${id}/role`, { role });
|
|
317
|
+
}
|
|
318
|
+
// POST /api/admin/users/:id/disable
|
|
319
|
+
async disable(id) {
|
|
320
|
+
return this.api.post(`/api/admin/users/${id}/disable`);
|
|
321
|
+
}
|
|
311
322
|
};
|
|
312
323
|
var userResource = new UserResource();
|
|
313
324
|
|
|
@@ -345,13 +356,45 @@ var RoomResource = class extends ApiResource {
|
|
|
345
356
|
async getStaff(slug) {
|
|
346
357
|
return this.get(`${slug}/staff`);
|
|
347
358
|
}
|
|
348
|
-
//
|
|
349
|
-
|
|
350
|
-
|
|
359
|
+
// ============================================
|
|
360
|
+
// Moderation methods
|
|
361
|
+
// ============================================
|
|
362
|
+
// GET /api/rooms/:slug/bans
|
|
363
|
+
async getBans(slug) {
|
|
364
|
+
return this.get(`${slug}/bans`);
|
|
365
|
+
}
|
|
366
|
+
// PATCH /api/rooms/:slug/users/:userId/role
|
|
367
|
+
async updateUserRole(slug, userId, role) {
|
|
368
|
+
return this.api.patch(
|
|
369
|
+
`${this.endpoint}/${slug}/users/${userId}/role`,
|
|
370
|
+
{ role }
|
|
371
|
+
);
|
|
351
372
|
}
|
|
352
|
-
//
|
|
353
|
-
async
|
|
354
|
-
return this.api.
|
|
373
|
+
// POST /api/rooms/:slug/users/:userId/ban
|
|
374
|
+
async ban(slug, userId, data) {
|
|
375
|
+
return this.api.post(`${this.endpoint}/${slug}/users/${userId}/ban`, data || {});
|
|
376
|
+
}
|
|
377
|
+
// DELETE /api/rooms/:slug/users/:userId/ban
|
|
378
|
+
async unban(slug, userId) {
|
|
379
|
+
return this.api.delete(
|
|
380
|
+
`${this.endpoint}/${slug}/users/${userId}/ban`
|
|
381
|
+
);
|
|
382
|
+
}
|
|
383
|
+
// POST /api/rooms/:slug/users/:userId/mute
|
|
384
|
+
async mute(slug, userId, data) {
|
|
385
|
+
return this.api.post(`${this.endpoint}/${slug}/users/${userId}/mute`, data || {});
|
|
386
|
+
}
|
|
387
|
+
// DELETE /api/rooms/:slug/users/:userId/mute
|
|
388
|
+
async unmute(slug, userId) {
|
|
389
|
+
return this.api.delete(
|
|
390
|
+
`${this.endpoint}/${slug}/users/${userId}/mute`
|
|
391
|
+
);
|
|
392
|
+
}
|
|
393
|
+
// POST /api/rooms/:slug/users/:userId/kick
|
|
394
|
+
async kick(slug, userId) {
|
|
395
|
+
return this.api.post(
|
|
396
|
+
`${this.endpoint}/${slug}/users/${userId}/kick`
|
|
397
|
+
);
|
|
355
398
|
}
|
|
356
399
|
// POST /api/rooms/:slug/join - Join a room (session-based)
|
|
357
400
|
async join(slug) {
|
|
@@ -403,13 +446,13 @@ var RoomResource = class extends ApiResource {
|
|
|
403
446
|
async skipTrack(slug, options) {
|
|
404
447
|
return this.post(`${slug}/booth/skip`, options || {});
|
|
405
448
|
}
|
|
406
|
-
// POST /api/rooms/:slug/vote
|
|
449
|
+
// POST /api/rooms/:slug/booth/vote
|
|
407
450
|
async vote(slug, type) {
|
|
408
|
-
return this.post(`${slug}/vote`, { type });
|
|
451
|
+
return this.post(`${slug}/booth/vote`, { type });
|
|
409
452
|
}
|
|
410
|
-
// POST /api/rooms/:slug/grab
|
|
453
|
+
// POST /api/rooms/:slug/booth/grab
|
|
411
454
|
async grabTrack(slug, playlistId) {
|
|
412
|
-
return this.post(`${slug}/grab`, playlistId ? { playlistId } : {});
|
|
455
|
+
return this.post(`${slug}/booth/grab`, playlistId ? { playlistId } : {});
|
|
413
456
|
}
|
|
414
457
|
};
|
|
415
458
|
var roomResource = new RoomResource();
|
|
@@ -589,6 +632,11 @@ var SubscriptionResource = class extends ApiResource {
|
|
|
589
632
|
async createIntent(plan) {
|
|
590
633
|
return this.api.post(`${this.endpoint}/create-intent`, { plan });
|
|
591
634
|
}
|
|
635
|
+
// POST /api/subscriptions/cancel-intent
|
|
636
|
+
// Cancels an incomplete subscription when the user goes back from the payment step
|
|
637
|
+
async cancelIntent(subscriptionId) {
|
|
638
|
+
return this.api.post(`${this.endpoint}/cancel-intent`, { subscriptionId });
|
|
639
|
+
}
|
|
592
640
|
// POST /api/subscriptions/portal
|
|
593
641
|
async createPortal() {
|
|
594
642
|
return this.api.post(`${this.endpoint}/portal`);
|