@notidotbot/noti-api-client 1.4.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/cname.js +3 -0
- package/dist/classes/@me.d.ts +122 -0
- package/dist/classes/@me.js +59 -0
- package/dist/classes/admin.d.ts +71 -0
- package/dist/classes/admin.js +26 -0
- package/dist/classes/client.d.ts +156 -0
- package/dist/classes/client.js +116 -0
- package/dist/classes/emotes.d.ts +31 -0
- package/dist/classes/emotes.js +24 -0
- package/dist/classes/files.d.ts +36 -0
- package/dist/classes/files.js +36 -0
- package/dist/classes/guild.d.ts +187 -0
- package/dist/classes/guild.js +140 -0
- package/dist/classes/guildDrops.d.ts +58 -0
- package/dist/classes/guildDrops.js +32 -0
- package/dist/classes/guildGiveaway.d.ts +110 -0
- package/dist/classes/guildGiveaway.js +76 -0
- package/dist/classes/guildPlatform.d.ts +163 -0
- package/dist/classes/guildPlatform.js +99 -0
- package/dist/classes/guildPlatformAction.d.ts +67 -0
- package/dist/classes/guildPlatformAction.js +26 -0
- package/dist/classes/guildStarboard.d.ts +66 -0
- package/dist/classes/guildStarboard.js +36 -0
- package/dist/classes/linked.d.ts +26 -0
- package/dist/classes/linked.js +32 -0
- package/dist/classes/other.d.ts +83 -0
- package/dist/classes/other.js +53 -0
- package/dist/classes/platform.d.ts +227 -0
- package/dist/classes/platform.js +30 -0
- package/dist/classes/premium.d.ts +179 -0
- package/dist/classes/premium.js +76 -0
- package/dist/classes/sessions.d.ts +42 -0
- package/dist/classes/sessions.js +30 -0
- package/dist/classes/teams.d.ts +88 -0
- package/dist/classes/teams.js +66 -0
- package/dist/classes/telemetry.d.ts +32 -0
- package/dist/classes/telemetry.js +28 -0
- package/dist/classes/user.d.ts +40 -0
- package/dist/classes/user.js +30 -0
- package/dist/classes/vods.d.ts +55 -0
- package/dist/classes/vods.js +38 -0
- package/dist/core/manager.d.ts +57 -0
- package/dist/core/manager.js +78 -0
- package/dist/core/utils.d.ts +4 -0
- package/dist/core/utils.js +26 -0
- package/dist/index.d.ts +22 -0
- package/dist/index.js +42 -0
- package/dist/modules/stripe.d.ts +12 -0
- package/dist/modules/stripe.js +18 -0
- package/dist/other/bitfields.d.ts +283 -0
- package/dist/other/bitfields.js +323 -0
- package/dist/other/enums.d.ts +2 -0
- package/dist/other/enums.js +10 -0
- package/dist/other/prisma.d.ts +76 -0
- package/dist/other/prisma.js +9 -0
- package/dist/other/templates.d.ts +795 -0
- package/dist/other/templates.js +706 -0
- package/dist/other/types.d.ts +45 -0
- package/dist/other/types.js +17 -0
- package/dist/other/utils.d.ts +5 -0
- package/dist/other/utils.js +51 -0
- package/dist/other/zod/client.zod.d.ts +349 -0
- package/dist/other/zod/client.zod.js +63 -0
- package/dist/other/zod/drops.zod.d.ts +16 -0
- package/dist/other/zod/drops.zod.js +93 -0
- package/dist/other/zod/giveaways.zod.d.ts +382 -0
- package/dist/other/zod/giveaways.zod.js +72 -0
- package/dist/other/zod/guild.zod.d.ts +1638 -0
- package/dist/other/zod/guild.zod.js +139 -0
- package/dist/other/zod/kickStreamer.zod.d.ts +761 -0
- package/dist/other/zod/kickStreamer.zod.js +92 -0
- package/dist/other/zod/member.zod.d.ts +22 -0
- package/dist/other/zod/member.zod.js +15 -0
- package/dist/other/zod/r2Storage.zod.d.ts +56 -0
- package/dist/other/zod/r2Storage.zod.js +21 -0
- package/dist/other/zod/rumbleStreamer.zod.d.ts +530 -0
- package/dist/other/zod/rumbleStreamer.zod.js +45 -0
- package/dist/other/zod/schema.zod.d.ts +25 -0
- package/dist/other/zod/schema.zod.js +168 -0
- package/dist/other/zod/starboard.zod.d.ts +167 -0
- package/dist/other/zod/starboard.zod.js +46 -0
- package/dist/other/zod/team.zod.d.ts +107 -0
- package/dist/other/zod/team.zod.js +30 -0
- package/dist/other/zod/tiktokStreamer.zod.d.ts +473 -0
- package/dist/other/zod/tiktokStreamer.zod.js +46 -0
- package/dist/other/zod/twitchStreamer.zod.d.ts +473 -0
- package/dist/other/zod/twitchStreamer.zod.js +46 -0
- package/dist/other/zod/user.zod.d.ts +678 -0
- package/dist/other/zod/user.zod.js +124 -0
- package/dist/other/zod/youtubeStreamer.zod.d.ts +476 -0
- package/dist/other/zod/youtubeStreamer.zod.js +47 -0
- package/dist/other/zod/zod.d.ts +177 -0
- package/dist/other/zod/zod.js +60 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/dist/types.d.ts +37 -0
- package/dist/types.js +2 -0
- package/package.json +63 -0
- package/prisma/generated/index.ts +25 -0
- package/prisma/generated/ts-prisma.d.ts +91725 -0
- package/prisma/schema/models/client.prisma +89 -0
- package/prisma/schema/models/drops.prisma +167 -0
- package/prisma/schema/models/giveaways.prisma +82 -0
- package/prisma/schema/models/guild.prisma +368 -0
- package/prisma/schema/models/kickStreamer.prisma +202 -0
- package/prisma/schema/models/member.prisma +10 -0
- package/prisma/schema/models/r2Storage.prisma +22 -0
- package/prisma/schema/models/rumbleStreamer.prisma +121 -0
- package/prisma/schema/models/starboard.prisma +66 -0
- package/prisma/schema/models/team.prisma +38 -0
- package/prisma/schema/models/tiktokStreamer.prisma +121 -0
- package/prisma/schema/models/twitchStreamer.prisma +122 -0
- package/prisma/schema/models/user.prisma +212 -0
- package/prisma/schema/models/youtubeStreamer.prisma +123 -0
- package/prisma/schema/schema.prisma +182 -0
- package/prisma.config.ts +6 -0
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
import { AllPlatforms, KickStreamer, KickStreamerZod, RumbleStreamer, RumbleStreamerZod, TikTokStreamer, TikTokStreamerZod, TwitchStreamer, TwitchStreamerZod, YouTubeStreamerZod } from '../other/prisma';
|
|
2
|
+
import { LeaderBoardTypesEnum, StreamerMessageTypeEnum } from '@prisma/client';
|
|
3
|
+
import { CancelOutWebResponses, DeepPartial } from '../types';
|
|
4
|
+
import { WebDataManager } from '../core/manager';
|
|
5
|
+
export declare class APIGuildPlatform {
|
|
6
|
+
private web;
|
|
7
|
+
constructor(web: WebDataManager);
|
|
8
|
+
getGuildStreamers<T extends boolean, P extends AllPlatforms>({ auth, guildId, shortView, platform }: GuildPlatformFunctionsInput<T, P>['getGuildStreamers']): Promise<import("../types").WebResponse<Platformstreamers<T, P>>>;
|
|
9
|
+
getGuildStreamer<P extends AllPlatforms>({ auth, guildId, streamer, platform, rumbleType }: GuildPlatformFunctionsInput<never, P>['getGuildStreamer']): Promise<import("../types").WebResponse<GuildSingleStreamerWithFormatedRole<P>>>;
|
|
10
|
+
createGuildStreamer<P extends AllPlatforms>({ auth, guildId, streamer, body, platform, rumbleType }: GuildPlatformFunctionsInput<never, P>['createGuildStreamer']): Promise<import("../types").WebResponse<GuildSingleStreamer<P>>>;
|
|
11
|
+
updateGuildStreamer<P extends AllPlatforms>({ auth, guildId, streamer, body, platform, rumbleType }: GuildPlatformFunctionsInput<never, P>['updateGuildStreamer']): Promise<import("../types").WebResponse<string>>;
|
|
12
|
+
deleteGuildStreamer<P extends AllPlatforms>({ auth, guildId, streamer, platform, rumbleType }: GuildPlatformFunctionsInput<never, P>['updateGuildStreamer']): Promise<import("../types").WebResponse<string>>;
|
|
13
|
+
sendTestNotification({ auth, guildId, streamer, platform, rumbleType, subType }: GuildPlatformFunctionsInput['sendTestNotification']): Promise<import("../types").WebResponse<string>>;
|
|
14
|
+
createOrUpdateStreamerMessage({ auth, guildId, streamer, platform, type, subTypeOrId, data, rumbleType }: GuildPlatformFunctionsInput['createOrUpdateStreamerMessage']): Promise<import("../types").WebResponse<string>>;
|
|
15
|
+
createOrUpdateKickStreamerRoles<T extends KickRolesType>({ auth, guildId, streamer, platform, type, subTypeOrId, data }: GuildPlatformFunctionsInput<never, never, T>['createOrUpdateKickStreamerRoles']): Promise<import("../types").WebResponse<string>>;
|
|
16
|
+
deleteStreamerMessage({ auth, guildId, streamer, platform, type, subTypeOrId, rumbleType }: GuildPlatformFunctionsInput['deleteStreamerMessage']): Promise<import("../types").WebResponse<string>>;
|
|
17
|
+
deleteKickStreamerRoles<T extends KickRolesType>({ auth, guildId, streamer, platform, type, subTypeOrId }: GuildPlatformFunctionsInput<never, never, T>['deleteKickStreamerRoles']): Promise<import("../types").WebResponse<string>>;
|
|
18
|
+
}
|
|
19
|
+
export type GuildPlatformFunctionsInput<T extends boolean = never, P extends AllPlatforms = never, RT extends KickRolesType = never> = {
|
|
20
|
+
'getGuildStreamers': {
|
|
21
|
+
auth: string;
|
|
22
|
+
guildId: string;
|
|
23
|
+
shortView: T;
|
|
24
|
+
platform: P;
|
|
25
|
+
};
|
|
26
|
+
'getGuildStreamer': {
|
|
27
|
+
auth: string;
|
|
28
|
+
guildId: string;
|
|
29
|
+
streamer: string;
|
|
30
|
+
platform: P;
|
|
31
|
+
rumbleType?: RumbleType;
|
|
32
|
+
};
|
|
33
|
+
'createGuildStreamer': {
|
|
34
|
+
auth: string;
|
|
35
|
+
guildId: string;
|
|
36
|
+
streamer: string;
|
|
37
|
+
body: GuildSingleStreamer<P>;
|
|
38
|
+
platform: P;
|
|
39
|
+
rumbleType?: RumbleType;
|
|
40
|
+
};
|
|
41
|
+
'updateGuildStreamer': {
|
|
42
|
+
auth: string;
|
|
43
|
+
guildId: string;
|
|
44
|
+
streamer: string;
|
|
45
|
+
body: DeepPartial<GuildSingleStreamer<P>>;
|
|
46
|
+
platform: P;
|
|
47
|
+
rumbleType?: RumbleType;
|
|
48
|
+
};
|
|
49
|
+
'deleteGuildStreamer': {
|
|
50
|
+
auth: string;
|
|
51
|
+
guildId: string;
|
|
52
|
+
streamer: string;
|
|
53
|
+
platform: P;
|
|
54
|
+
rumbleType?: RumbleType;
|
|
55
|
+
};
|
|
56
|
+
'sendTestNotification': {
|
|
57
|
+
auth: string;
|
|
58
|
+
guildId: string;
|
|
59
|
+
streamer: string;
|
|
60
|
+
platform: P;
|
|
61
|
+
rumbleType?: RumbleType;
|
|
62
|
+
subType?: SubType;
|
|
63
|
+
};
|
|
64
|
+
'createOrUpdateStreamerMessage': {
|
|
65
|
+
auth: string;
|
|
66
|
+
guildId: string;
|
|
67
|
+
streamer: string;
|
|
68
|
+
platform: P;
|
|
69
|
+
type: 'customMessages';
|
|
70
|
+
subTypeOrId: StreamerMessageTypeEnum;
|
|
71
|
+
data: StreamerUpdateMessage;
|
|
72
|
+
rumbleType?: RumbleType;
|
|
73
|
+
};
|
|
74
|
+
'deleteStreamerMessage': {
|
|
75
|
+
auth: string;
|
|
76
|
+
guildId: string;
|
|
77
|
+
streamer: string;
|
|
78
|
+
platform: P;
|
|
79
|
+
type: 'customMessages';
|
|
80
|
+
subTypeOrId: StreamerMessageTypeEnum;
|
|
81
|
+
rumbleType?: RumbleType;
|
|
82
|
+
};
|
|
83
|
+
'createOrUpdateKickStreamerRoles': {
|
|
84
|
+
auth: string;
|
|
85
|
+
guildId: string;
|
|
86
|
+
streamer: string;
|
|
87
|
+
platform: 'kick';
|
|
88
|
+
type: RT;
|
|
89
|
+
subTypeOrId: KickRolesSubType<RT>;
|
|
90
|
+
data: KickRolesData<RT>;
|
|
91
|
+
};
|
|
92
|
+
'deleteKickStreamerRoles': {
|
|
93
|
+
auth: string;
|
|
94
|
+
guildId: string;
|
|
95
|
+
streamer: string;
|
|
96
|
+
platform: 'kick';
|
|
97
|
+
type: RT;
|
|
98
|
+
subTypeOrId: KickRolesSubType<RT>;
|
|
99
|
+
};
|
|
100
|
+
};
|
|
101
|
+
export type GuildPlatformReturnTypes = {
|
|
102
|
+
'getGuildStreamersRaw': Awaited<ReturnType<APIGuildPlatform['getGuildStreamers']>>;
|
|
103
|
+
'getGuildStreamersSuccess': CancelOutWebResponses<Awaited<ReturnType<APIGuildPlatform['getGuildStreamers']>>>;
|
|
104
|
+
'getGuildStreamerRaw': Awaited<ReturnType<APIGuildPlatform['getGuildStreamer']>>;
|
|
105
|
+
'getGuildStreamerSuccess': CancelOutWebResponses<Awaited<ReturnType<APIGuildPlatform['getGuildStreamer']>>>;
|
|
106
|
+
'createGuildStreamerRaw': Awaited<ReturnType<APIGuildPlatform['createGuildStreamer']>>;
|
|
107
|
+
'createGuildStreamerSuccess': CancelOutWebResponses<Awaited<ReturnType<APIGuildPlatform['createGuildStreamer']>>>;
|
|
108
|
+
'updateGuildStreamerRaw': Awaited<ReturnType<APIGuildPlatform['updateGuildStreamer']>>;
|
|
109
|
+
'updateGuildStreamerSuccess': CancelOutWebResponses<Awaited<ReturnType<APIGuildPlatform['updateGuildStreamer']>>>;
|
|
110
|
+
'deleteGuildStreamerRaw': Awaited<ReturnType<APIGuildPlatform['deleteGuildStreamer']>>;
|
|
111
|
+
'deleteGuildStreamerSuccess': CancelOutWebResponses<Awaited<ReturnType<APIGuildPlatform['deleteGuildStreamer']>>>;
|
|
112
|
+
'sendTestNotificationRaw': Awaited<ReturnType<APIGuildPlatform['sendTestNotification']>>;
|
|
113
|
+
'sendTestNotificationSuccess': CancelOutWebResponses<Awaited<ReturnType<APIGuildPlatform['sendTestNotification']>>>;
|
|
114
|
+
'createOrUpdateStreamerMessageRaw': Awaited<ReturnType<APIGuildPlatform['createOrUpdateStreamerMessage']>>;
|
|
115
|
+
'createOrUpdateStreamerMessageSuccess': CancelOutWebResponses<Awaited<ReturnType<APIGuildPlatform['createOrUpdateStreamerMessage']>>>;
|
|
116
|
+
'deleteStreamerMessageRaw': Awaited<ReturnType<APIGuildPlatform['deleteStreamerMessage']>>;
|
|
117
|
+
'deleteStreamerMessageSuccess': CancelOutWebResponses<Awaited<ReturnType<APIGuildPlatform['deleteStreamerMessage']>>>;
|
|
118
|
+
'createOrUpdateKickStreamerRolesRaw': Awaited<ReturnType<APIGuildPlatform['createOrUpdateKickStreamerRoles']>>;
|
|
119
|
+
'createOrUpdateKickStreamerRolesSuccess': CancelOutWebResponses<Awaited<ReturnType<APIGuildPlatform['createOrUpdateKickStreamerRoles']>>>;
|
|
120
|
+
'deleteKickStreamerRolesRaw': Awaited<ReturnType<APIGuildPlatform['deleteKickStreamerRoles']>>;
|
|
121
|
+
'deleteKickStreamerRolesSuccess': CancelOutWebResponses<Awaited<ReturnType<APIGuildPlatform['deleteKickStreamerRoles']>>>;
|
|
122
|
+
};
|
|
123
|
+
export type SubType = 'live' | 'video';
|
|
124
|
+
export type RumbleType = 'user' | 'channel';
|
|
125
|
+
export type UsersForLiveRole = {
|
|
126
|
+
id: string;
|
|
127
|
+
name: string;
|
|
128
|
+
}[];
|
|
129
|
+
export type GuildSingleStreamer<T extends AllPlatforms> = T extends 'kick' ? KickStreamerZod : T extends 'twitch' ? TwitchStreamerZod : T extends 'rumble' ? RumbleStreamerZod : T extends 'tiktok' ? TikTokStreamerZod : T extends 'youtube' ? YouTubeStreamerZod : never;
|
|
130
|
+
export type GuildSingleStreamerWithFormatedRole<T extends AllPlatforms> = T extends 'kick' ? KickStreamer & UsersForLiveRole : T extends 'twitch' ? TwitchStreamer & UsersForLiveRole : T extends 'rumble' ? RumbleStreamer & UsersForLiveRole : T extends 'tiktok' ? TikTokStreamer & UsersForLiveRole : T extends 'youtube' ? YouTubeStreamerZod & UsersForLiveRole : never;
|
|
131
|
+
export type StreamerUpdateMessage = (KickStreamerZod | TwitchStreamerZod | RumbleStreamerZod | TikTokStreamerZod | YouTubeStreamerZod)['customMessages'][number];
|
|
132
|
+
export type KickRolesType = 'leaderboardSyncRoles' | 'giftedSubRoles';
|
|
133
|
+
export type KickRolesSubType<T extends KickRolesType> = T extends 'leaderboardSyncRoles' ? LeaderBoardTypesEnum : T extends 'giftedSubRoles' ? string : never;
|
|
134
|
+
export type KickRolesData<T extends KickRolesType> = T extends 'leaderboardSyncRoles' ? KickStreamerZod['leaderBoardSyncRoles'][number] : T extends 'giftedSubRoles' ? KickStreamerZod['giftedSubRoles'][number] : never;
|
|
135
|
+
export type Platformstreamers<T extends boolean, P extends AllPlatforms> = {
|
|
136
|
+
streamers: T extends true ? P extends 'kick' ? {
|
|
137
|
+
streamerUserName: string;
|
|
138
|
+
streamerId: string | null;
|
|
139
|
+
chatRoomId: string;
|
|
140
|
+
guildId: string;
|
|
141
|
+
}[] : P extends 'twitch' ? {
|
|
142
|
+
streamerUserName: string;
|
|
143
|
+
streamerId: string | null;
|
|
144
|
+
guildId: string;
|
|
145
|
+
}[] : P extends 'rumble' ? {
|
|
146
|
+
streamerUserName: string;
|
|
147
|
+
type: string;
|
|
148
|
+
guildId: string;
|
|
149
|
+
}[] : P extends 'tiktok' ? {
|
|
150
|
+
streamerUserName: string;
|
|
151
|
+
guildId: string;
|
|
152
|
+
}[] : P extends 'youtube' ? {
|
|
153
|
+
streamerUserName: string;
|
|
154
|
+
streamerId: string;
|
|
155
|
+
guildId: string | null;
|
|
156
|
+
}[] : never : P extends 'kick' ? KickStreamer[] : P extends 'twitch' ? TwitchStreamer[] : P extends 'rumble' ? RumbleStreamer[] : P extends 'tiktok' ? TikTokStreamer[] : never;
|
|
157
|
+
currentTotal: number;
|
|
158
|
+
maxLimit: number;
|
|
159
|
+
premium: {
|
|
160
|
+
tierId: string;
|
|
161
|
+
tierName: string;
|
|
162
|
+
};
|
|
163
|
+
};
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.APIGuildPlatform = void 0;
|
|
4
|
+
// Data.
|
|
5
|
+
class APIGuildPlatform {
|
|
6
|
+
web;
|
|
7
|
+
constructor(web) {
|
|
8
|
+
this.web = web;
|
|
9
|
+
}
|
|
10
|
+
// Methods.
|
|
11
|
+
async getGuildStreamers({ auth, guildId, shortView, platform }) {
|
|
12
|
+
return await this.web.request({
|
|
13
|
+
method: 'GET', auth,
|
|
14
|
+
endpoint: this.web.qp('/data/guild/' + guildId + '/' + platform, {
|
|
15
|
+
short: shortView || false,
|
|
16
|
+
}),
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
async getGuildStreamer({ auth, guildId, streamer, platform, rumbleType }) {
|
|
20
|
+
return await this.web.request({
|
|
21
|
+
method: 'GET', auth,
|
|
22
|
+
endpoint: this.web.qp('/data/guild/' + guildId + '/' + platform + '/' + streamer, {
|
|
23
|
+
rumbleType: (platform === 'rumble' ? rumbleType : undefined),
|
|
24
|
+
}),
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
async createGuildStreamer({ auth, guildId, streamer, body, platform, rumbleType }) {
|
|
28
|
+
return await this.web.request({
|
|
29
|
+
method: 'POST', auth, body,
|
|
30
|
+
endpoint: this.web.qp('/data/guild/' + guildId + '/' + platform + '/' + streamer, {
|
|
31
|
+
rumbleType: (platform === 'rumble' ? rumbleType : undefined),
|
|
32
|
+
}),
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
async updateGuildStreamer({ auth, guildId, streamer, body, platform, rumbleType }) {
|
|
36
|
+
return await this.web.request({
|
|
37
|
+
method: 'PATCH', auth, body,
|
|
38
|
+
endpoint: this.web.qp('/data/guild/' + guildId + '/' + platform + '/' + streamer, {
|
|
39
|
+
rumbleType: (platform === 'rumble' ? rumbleType : undefined),
|
|
40
|
+
}),
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
async deleteGuildStreamer({ auth, guildId, streamer, platform, rumbleType }) {
|
|
44
|
+
return await this.web.request({
|
|
45
|
+
method: 'DELETE', auth,
|
|
46
|
+
endpoint: this.web.qp('/data/guild/' + guildId + '/' + platform + '/' + streamer, {
|
|
47
|
+
rumbleType: (platform === 'rumble' ? rumbleType : undefined),
|
|
48
|
+
}),
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
async sendTestNotification({ auth, guildId, streamer, platform, rumbleType, subType }) {
|
|
52
|
+
return await this.web.request({
|
|
53
|
+
method: 'PUT', auth,
|
|
54
|
+
endpoint: this.web.qp('/data/guild/' + guildId + '/' + platform + '/' + streamer, {
|
|
55
|
+
rumbleType: (platform === 'rumble' ? rumbleType : undefined),
|
|
56
|
+
subType: (subType || undefined),
|
|
57
|
+
}),
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
async createOrUpdateStreamerMessage({ auth, guildId, streamer, platform, type, subTypeOrId, data, rumbleType }) {
|
|
61
|
+
return await this.web.request({
|
|
62
|
+
method: 'PATCH', auth, body: data,
|
|
63
|
+
endpoint: this.web.qp(`/data/guild/${guildId}/${platform}/${streamer}/updateArray`, {
|
|
64
|
+
type: type,
|
|
65
|
+
subTypeOrId: subTypeOrId,
|
|
66
|
+
rumbleType: (platform === 'rumble' ? rumbleType : undefined),
|
|
67
|
+
}),
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
async createOrUpdateKickStreamerRoles({ auth, guildId, streamer, platform, type, subTypeOrId, data }) {
|
|
71
|
+
return await this.web.request({
|
|
72
|
+
method: 'PATCH', auth, body: data,
|
|
73
|
+
endpoint: this.web.qp(`/data/guild/${guildId}/${platform}/${streamer}/updateArray`, {
|
|
74
|
+
type: type,
|
|
75
|
+
subTypeOrId: subTypeOrId,
|
|
76
|
+
}),
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
async deleteStreamerMessage({ auth, guildId, streamer, platform, type, subTypeOrId, rumbleType }) {
|
|
80
|
+
return await this.web.request({
|
|
81
|
+
method: 'DELETE', auth,
|
|
82
|
+
endpoint: this.web.qp(`/data/guild/${guildId}/${platform}/${streamer}/deleteArray`, {
|
|
83
|
+
type: type,
|
|
84
|
+
subTypeOrId: subTypeOrId,
|
|
85
|
+
rumbleType: (platform === 'rumble' ? rumbleType : undefined),
|
|
86
|
+
}),
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
async deleteKickStreamerRoles({ auth, guildId, streamer, platform, type, subTypeOrId }) {
|
|
90
|
+
return await this.web.request({
|
|
91
|
+
method: 'DELETE', auth,
|
|
92
|
+
endpoint: this.web.qp(`/data/guild/${guildId}/${platform}/${streamer}/deleteArray`, {
|
|
93
|
+
type: type,
|
|
94
|
+
subTypeOrId: subTypeOrId,
|
|
95
|
+
}),
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
exports.APIGuildPlatform = APIGuildPlatform;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { CancelOutWebResponses } from '../types';
|
|
2
|
+
import { WebDataManager } from '../core/manager';
|
|
3
|
+
export declare class APIPlatformAction {
|
|
4
|
+
private web;
|
|
5
|
+
constructor(web: WebDataManager);
|
|
6
|
+
getStreamerEmojisInfo<P extends 'kick'>({ auth, guildId, platform, username, getEmojis }: PlatformActionFunctionsInput<P>['getStreamerEmojisInfo']): Promise<import("../types").WebResponse<StreamerEmojis>>;
|
|
7
|
+
addStreamerEmojis<P extends 'kick'>({ auth, guildId, platform, username, emojis, lockToSubIfSet }: PlatformActionFunctionsInput<P>['addStreamerEmojis']): Promise<import("../types").WebResponse<AddEmojisInfo>>;
|
|
8
|
+
}
|
|
9
|
+
export type PlatformActionFunctionsInput<P extends 'kick' = never> = {
|
|
10
|
+
'getStreamerEmojisInfo': {
|
|
11
|
+
auth: string;
|
|
12
|
+
guildId: string;
|
|
13
|
+
platform: P;
|
|
14
|
+
username: string;
|
|
15
|
+
getEmojis: boolean;
|
|
16
|
+
};
|
|
17
|
+
'addStreamerEmojis': {
|
|
18
|
+
auth: string;
|
|
19
|
+
guildId: string;
|
|
20
|
+
platform: P;
|
|
21
|
+
username: string;
|
|
22
|
+
emojis: EmojiAddSchema['emojis'];
|
|
23
|
+
lockToSubIfSet: boolean;
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
export type PlatformActionReturnTypes = {
|
|
27
|
+
'getStreamerEmojisInfoRaw': Awaited<ReturnType<APIPlatformAction['getStreamerEmojisInfo']>>;
|
|
28
|
+
'getStreamerEmojisInfoSuccess': CancelOutWebResponses<Awaited<ReturnType<APIPlatformAction['getStreamerEmojisInfo']>>>;
|
|
29
|
+
};
|
|
30
|
+
export type StreamerEmojis = {
|
|
31
|
+
subRole?: string;
|
|
32
|
+
kickEmojis: KickEmojisParsed | null;
|
|
33
|
+
canAdd: {
|
|
34
|
+
normal: number;
|
|
35
|
+
animated: number;
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
export type KickEmojisParsed = {
|
|
39
|
+
id: string;
|
|
40
|
+
name: string;
|
|
41
|
+
subOnly: boolean;
|
|
42
|
+
}[];
|
|
43
|
+
export type EmojiSchema = {
|
|
44
|
+
name: string;
|
|
45
|
+
url: `https://files.kick.com/emotes/${string}/fullsize`;
|
|
46
|
+
}[];
|
|
47
|
+
export type EmojiAddSchema = {
|
|
48
|
+
emojis: {
|
|
49
|
+
normal: EmojiSchema[];
|
|
50
|
+
animated: EmojiSchema[];
|
|
51
|
+
};
|
|
52
|
+
lockToSubIfSet: boolean;
|
|
53
|
+
};
|
|
54
|
+
export type AddEmojisInfo = {
|
|
55
|
+
succeded: {
|
|
56
|
+
normal: string[];
|
|
57
|
+
animated: string[];
|
|
58
|
+
};
|
|
59
|
+
failed: {
|
|
60
|
+
normal: string[];
|
|
61
|
+
animated: string[];
|
|
62
|
+
};
|
|
63
|
+
canAdd: {
|
|
64
|
+
normal: number;
|
|
65
|
+
animated: number;
|
|
66
|
+
};
|
|
67
|
+
};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.APIPlatformAction = void 0;
|
|
4
|
+
// Data.
|
|
5
|
+
class APIPlatformAction {
|
|
6
|
+
web;
|
|
7
|
+
constructor(web) {
|
|
8
|
+
this.web = web;
|
|
9
|
+
}
|
|
10
|
+
// Methods.
|
|
11
|
+
async getStreamerEmojisInfo({ auth, guildId, platform, username, getEmojis }) {
|
|
12
|
+
return await this.web.request({
|
|
13
|
+
method: 'GET', auth,
|
|
14
|
+
endpoint: this.web.qp(`/data/guild/${guildId}/${platform}/${username}/emojis`, {
|
|
15
|
+
kickEmojis: getEmojis || false,
|
|
16
|
+
}),
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
async addStreamerEmojis({ auth, guildId, platform, username, emojis, lockToSubIfSet }) {
|
|
20
|
+
return await this.web.request({
|
|
21
|
+
method: 'POST', auth, body: { emojis, lockToSubIfSet },
|
|
22
|
+
endpoint: this.web.qp(`/data/guild/${guildId}/${platform}/${username}/emojis`),
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
exports.APIPlatformAction = APIPlatformAction;
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { GuildStarboardZod } from '../other/prisma';
|
|
2
|
+
import { CancelOutWebResponses, DeepPartial } from '../types';
|
|
3
|
+
import { WebDataManager } from '../core/manager';
|
|
4
|
+
export declare class APIGuildStarboard {
|
|
5
|
+
private web;
|
|
6
|
+
constructor(web: WebDataManager);
|
|
7
|
+
getGuildStarboards({ auth, guildId }: GuildStarboardFunctionsInput['getGuildStarboards']): Promise<import("../types").WebResponse<({
|
|
8
|
+
filter: {
|
|
9
|
+
dbId: string;
|
|
10
|
+
guildStarboardId: string;
|
|
11
|
+
roles: string[];
|
|
12
|
+
roleMode: import("@prisma/client").$Enums.FilterEnum | null;
|
|
13
|
+
channelMode: import("@prisma/client").$Enums.FilterEnum | null;
|
|
14
|
+
channels: string[];
|
|
15
|
+
} | null;
|
|
16
|
+
} & {
|
|
17
|
+
dbId: string;
|
|
18
|
+
guildId: string;
|
|
19
|
+
channelId: string;
|
|
20
|
+
enabled: boolean | null;
|
|
21
|
+
threshold: number | null;
|
|
22
|
+
emojiId: string | null;
|
|
23
|
+
emojiName: string | null;
|
|
24
|
+
allowNsfw: boolean | null;
|
|
25
|
+
allowSelfStar: boolean | null;
|
|
26
|
+
allowBotMessages: boolean | null;
|
|
27
|
+
deleteIfLost: boolean | null;
|
|
28
|
+
rewardRole: string | null;
|
|
29
|
+
openThreadOnStar: boolean | null;
|
|
30
|
+
})[]>>;
|
|
31
|
+
createStarboard({ auth, guildId, body }: GuildStarboardFunctionsInput['createStarboard']): Promise<import("../types").WebResponse<string>>;
|
|
32
|
+
updateStarboard({ auth, guildId, channelId, body }: GuildStarboardFunctionsInput['updateStarboard']): Promise<import("../types").WebResponse<string>>;
|
|
33
|
+
deleteStarboard({ auth, guildId, channelId }: GuildStarboardFunctionsInput['deleteStarboard']): Promise<import("../types").WebResponse<string>>;
|
|
34
|
+
}
|
|
35
|
+
export type GuildStarboardFunctionsInput = {
|
|
36
|
+
'getGuildStarboards': {
|
|
37
|
+
auth: string;
|
|
38
|
+
guildId: string;
|
|
39
|
+
};
|
|
40
|
+
'createStarboard': {
|
|
41
|
+
auth: string;
|
|
42
|
+
guildId: string;
|
|
43
|
+
body: GuildStarboardZod;
|
|
44
|
+
};
|
|
45
|
+
'updateStarboard': {
|
|
46
|
+
auth: string;
|
|
47
|
+
guildId: string;
|
|
48
|
+
channelId: string;
|
|
49
|
+
body: DeepPartial<GuildStarboardZod>;
|
|
50
|
+
};
|
|
51
|
+
'deleteStarboard': {
|
|
52
|
+
auth: string;
|
|
53
|
+
guildId: string;
|
|
54
|
+
channelId: string;
|
|
55
|
+
};
|
|
56
|
+
};
|
|
57
|
+
export type GuildStarboardReturnTypes = {
|
|
58
|
+
'getGuildStreamersRaw': Awaited<ReturnType<APIGuildStarboard['getGuildStarboards']>>;
|
|
59
|
+
'getGuildStreamersSuccess': CancelOutWebResponses<Awaited<ReturnType<APIGuildStarboard['getGuildStarboards']>>>;
|
|
60
|
+
'createStarboardRaw': Awaited<ReturnType<APIGuildStarboard['createStarboard']>>;
|
|
61
|
+
'createStarboardSuccess': CancelOutWebResponses<Awaited<ReturnType<APIGuildStarboard['createStarboard']>>>;
|
|
62
|
+
'updateStarboardRaw': Awaited<ReturnType<APIGuildStarboard['updateStarboard']>>;
|
|
63
|
+
'updateStarboardSuccess': CancelOutWebResponses<Awaited<ReturnType<APIGuildStarboard['updateStarboard']>>>;
|
|
64
|
+
'deleteStarboardRaw': Awaited<ReturnType<APIGuildStarboard['deleteStarboard']>>;
|
|
65
|
+
'deleteStarboardSuccess': CancelOutWebResponses<Awaited<ReturnType<APIGuildStarboard['deleteStarboard']>>>;
|
|
66
|
+
};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.APIGuildStarboard = void 0;
|
|
4
|
+
// Data.
|
|
5
|
+
class APIGuildStarboard {
|
|
6
|
+
web;
|
|
7
|
+
constructor(web) {
|
|
8
|
+
this.web = web;
|
|
9
|
+
}
|
|
10
|
+
// Methods.
|
|
11
|
+
async getGuildStarboards({ auth, guildId }) {
|
|
12
|
+
return await this.web.request({
|
|
13
|
+
method: 'GET', auth,
|
|
14
|
+
endpoint: this.web.qp('/data/starboards/' + guildId),
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
async createStarboard({ auth, guildId, body }) {
|
|
18
|
+
return await this.web.request({
|
|
19
|
+
method: 'POST', auth, body,
|
|
20
|
+
endpoint: this.web.qp('/data/starboards/' + guildId),
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
async updateStarboard({ auth, guildId, channelId, body }) {
|
|
24
|
+
return await this.web.request({
|
|
25
|
+
method: 'PATCH', auth, body,
|
|
26
|
+
endpoint: this.web.qp('/data/starboards/' + guildId + '/' + channelId),
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
async deleteStarboard({ auth, guildId, channelId }) {
|
|
30
|
+
return await this.web.request({
|
|
31
|
+
method: 'DELETE', auth,
|
|
32
|
+
endpoint: this.web.qp('/data/starboards/' + guildId + '/' + channelId),
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
exports.APIGuildStarboard = APIGuildStarboard;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { WebDataManager } from '../core/manager';
|
|
2
|
+
import { CancelOutWebResponses } from '../types';
|
|
3
|
+
export declare class APILinked {
|
|
4
|
+
private web;
|
|
5
|
+
constructor(web: WebDataManager);
|
|
6
|
+
getLinkedRolesUrl(): Promise<import("../types").WebResponse<string>>;
|
|
7
|
+
authorizeLinkedRoles({ code }: {
|
|
8
|
+
code: string;
|
|
9
|
+
}): Promise<import("../types").WebResponse<true>>;
|
|
10
|
+
unlinkRoles(): Promise<import("../types").WebResponse<true>>;
|
|
11
|
+
}
|
|
12
|
+
export type LinkedFunctionsInput = {
|
|
13
|
+
'getLinkedRolesUrl': never;
|
|
14
|
+
'authorizeLinkedRoles': {
|
|
15
|
+
code: string;
|
|
16
|
+
};
|
|
17
|
+
'unlinkRoles': never;
|
|
18
|
+
};
|
|
19
|
+
export type LinkedReturnTypes = {
|
|
20
|
+
'getLinkedRolesUrlRaw': Awaited<ReturnType<APILinked['getLinkedRolesUrl']>>;
|
|
21
|
+
'getLinkedRolesUrlSuccess': CancelOutWebResponses<Awaited<ReturnType<APILinked['getLinkedRolesUrl']>>>;
|
|
22
|
+
'authorizeLinkedRolesRaw': Awaited<ReturnType<APILinked['authorizeLinkedRoles']>>;
|
|
23
|
+
'authorizeLinkedRolesSuccess': CancelOutWebResponses<Awaited<ReturnType<APILinked['authorizeLinkedRoles']>>>;
|
|
24
|
+
'unlinkRolesRaw': Awaited<ReturnType<APILinked['unlinkRoles']>>;
|
|
25
|
+
'unlinkRolesSuccess': CancelOutWebResponses<Awaited<ReturnType<APILinked['unlinkRoles']>>>;
|
|
26
|
+
};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.APILinked = void 0;
|
|
4
|
+
// Data.
|
|
5
|
+
class APILinked {
|
|
6
|
+
web;
|
|
7
|
+
constructor(web) {
|
|
8
|
+
this.web = web;
|
|
9
|
+
}
|
|
10
|
+
// Methods.
|
|
11
|
+
async getLinkedRolesUrl() {
|
|
12
|
+
return await this.web.request({
|
|
13
|
+
method: 'GET',
|
|
14
|
+
endpoint: this.web.qp('/linked'),
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
async authorizeLinkedRoles({ code }) {
|
|
18
|
+
return await this.web.request({
|
|
19
|
+
method: 'POST',
|
|
20
|
+
endpoint: this.web.qp('/linked', {
|
|
21
|
+
code,
|
|
22
|
+
}),
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
async unlinkRoles() {
|
|
26
|
+
return await this.web.request({
|
|
27
|
+
method: 'DELETE',
|
|
28
|
+
endpoint: this.web.qp('/linked'),
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
exports.APILinked = APILinked;
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { CancelOutWebResponses } from '../types';
|
|
2
|
+
import { WebDataManager } from '../core/manager';
|
|
3
|
+
export declare class APIOther {
|
|
4
|
+
private web;
|
|
5
|
+
constructor(web: WebDataManager);
|
|
6
|
+
status<T extends boolean>({ withTopServers }?: {
|
|
7
|
+
withTopServers?: T;
|
|
8
|
+
}): Promise<import("../types").WebResponse<StatusType<T>>>;
|
|
9
|
+
recentActivity(): Promise<import("../types").WebResponse<RecentActivityType>>;
|
|
10
|
+
checkRateLimit({ auth }: OtherFunctionsInput['checkRateLimit']): Promise<import("../types").WebResponse<string>>;
|
|
11
|
+
getAllLanguages(): Promise<import("../types").WebResponse<LanguageList>>;
|
|
12
|
+
oAuth2({ guildId }: OtherFunctionsInput['oAuth2']): Promise<import("../types").WebResponse<OAuth2Type>>;
|
|
13
|
+
isDown(): Promise<boolean>;
|
|
14
|
+
}
|
|
15
|
+
export type OtherFunctionsInput = {
|
|
16
|
+
'checkRateLimit': {
|
|
17
|
+
auth: string;
|
|
18
|
+
};
|
|
19
|
+
'getAllLanguages': never;
|
|
20
|
+
'oAuth2': {
|
|
21
|
+
guildId?: string;
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
export type OtherReturnTypes = {
|
|
25
|
+
'checkRateLimitRaw': Awaited<ReturnType<APIOther['checkRateLimit']>>;
|
|
26
|
+
'checkRateLimitSuccess': CancelOutWebResponses<Awaited<ReturnType<APIOther['checkRateLimit']>>>;
|
|
27
|
+
'getAllLanguagesRaw': Awaited<ReturnType<APIOther['getAllLanguages']>>;
|
|
28
|
+
'getAllLanguagesSuccess': CancelOutWebResponses<Awaited<ReturnType<APIOther['getAllLanguages']>>>;
|
|
29
|
+
'oAuth2Raw': Awaited<ReturnType<APIOther['oAuth2']>>;
|
|
30
|
+
'oAuth2Success': CancelOutWebResponses<Awaited<ReturnType<APIOther['oAuth2']>>>;
|
|
31
|
+
};
|
|
32
|
+
export type LanguageList = {
|
|
33
|
+
name: string;
|
|
34
|
+
value: string;
|
|
35
|
+
}[];
|
|
36
|
+
export type RecentActivityType = {
|
|
37
|
+
type: 'premium' | 'live' | 'vod' | 'clip' | 'overlay' | 'link' | 'vote';
|
|
38
|
+
message: string;
|
|
39
|
+
createdAt: number;
|
|
40
|
+
}[];
|
|
41
|
+
export type OAuth2Type = {
|
|
42
|
+
login: string;
|
|
43
|
+
invite: string;
|
|
44
|
+
};
|
|
45
|
+
export type StatusType<T extends boolean = false> = {
|
|
46
|
+
devMode: boolean;
|
|
47
|
+
shardsPerClusters: number;
|
|
48
|
+
totalStreamers: number;
|
|
49
|
+
totalNotifications: number;
|
|
50
|
+
totalStatChannels: number;
|
|
51
|
+
totalStatusRoles: number;
|
|
52
|
+
totalClips: number;
|
|
53
|
+
totalVods: number;
|
|
54
|
+
totalClusters: number;
|
|
55
|
+
totalShards: number;
|
|
56
|
+
database: string;
|
|
57
|
+
clusters: {
|
|
58
|
+
clusterId: number;
|
|
59
|
+
online: boolean;
|
|
60
|
+
uptime: number;
|
|
61
|
+
ping: number;
|
|
62
|
+
stats: {
|
|
63
|
+
cpuUsage: string;
|
|
64
|
+
coreUsage: string;
|
|
65
|
+
memoryUsage: string;
|
|
66
|
+
};
|
|
67
|
+
totalGuilds: number;
|
|
68
|
+
totalMembers: number;
|
|
69
|
+
shards: {
|
|
70
|
+
shardId: number;
|
|
71
|
+
shardPing: number;
|
|
72
|
+
status: string;
|
|
73
|
+
totalMembers: number;
|
|
74
|
+
totalGuilds: number;
|
|
75
|
+
}[];
|
|
76
|
+
}[];
|
|
77
|
+
topServers: T extends true ? {
|
|
78
|
+
id: string;
|
|
79
|
+
name: string;
|
|
80
|
+
members: number;
|
|
81
|
+
icon: string | null;
|
|
82
|
+
}[] : never;
|
|
83
|
+
};
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.APIOther = void 0;
|
|
4
|
+
// Data.
|
|
5
|
+
class APIOther {
|
|
6
|
+
web;
|
|
7
|
+
constructor(web) {
|
|
8
|
+
this.web = web;
|
|
9
|
+
}
|
|
10
|
+
// Methods.
|
|
11
|
+
async status({ withTopServers } = {}) {
|
|
12
|
+
return await this.web.request({
|
|
13
|
+
method: 'GET',
|
|
14
|
+
endpoint: this.web.qp('/status', {
|
|
15
|
+
topServers: withTopServers || false,
|
|
16
|
+
}),
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
async recentActivity() {
|
|
20
|
+
return await this.web.request({
|
|
21
|
+
method: 'GET',
|
|
22
|
+
endpoint: this.web.qp('/recent'),
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
async checkRateLimit({ auth }) {
|
|
26
|
+
return await this.web.request({
|
|
27
|
+
method: 'GET', auth,
|
|
28
|
+
endpoint: this.web.qp('/ratelimit'),
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
async getAllLanguages() {
|
|
32
|
+
return await this.web.request({
|
|
33
|
+
method: 'GET',
|
|
34
|
+
endpoint: this.web.qp('/data/languages'),
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
async oAuth2({ guildId }) {
|
|
38
|
+
return await this.web.request({
|
|
39
|
+
method: 'GET',
|
|
40
|
+
endpoint: this.web.qp('/oauth2', {
|
|
41
|
+
guildId,
|
|
42
|
+
}),
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
async isDown() {
|
|
46
|
+
const response = await this.web.request({
|
|
47
|
+
method: 'GET',
|
|
48
|
+
endpoint: this.web.qp('/'),
|
|
49
|
+
});
|
|
50
|
+
return 'error' in response || response?.status !== 200;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
exports.APIOther = APIOther;
|