@automate.ax/integration-contracts 0.128.0 → 0.130.1
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/apify/index.d.ts +16 -16
- package/dist/apify/schemas.d.ts +2 -2
- package/dist/apify/schemas.js +4 -4
- package/dist/discord/index.d.ts +138 -0
- package/dist/discord/index.js +31 -0
- package/dist/discord/provider.d.ts +664 -0
- package/dist/discord/provider.js +496 -0
- package/dist/discord/schemas.d.ts +491 -0
- package/dist/discord/schemas.js +273 -0
- package/dist/linear/schemas.d.ts +1 -1
- package/dist/notion/schemas.d.ts +58 -58
- package/dist/slack/event-schemas.d.ts +583 -583
- package/dist/slack/index.d.ts +303 -303
- package/dist/slack/schemas.d.ts +1 -1
- package/dist/triggers.d.ts +2 -1
- package/package.json +8 -2
- package/src/apify/schemas.ts +4 -4
- package/src/discord/index.ts +41 -0
- package/src/discord/provider.ts +539 -0
- package/src/discord/schemas.ts +306 -0
- package/src/triggers.ts +2 -0
|
@@ -0,0 +1,496 @@
|
|
|
1
|
+
import * as z from "zod";
|
|
2
|
+
import { DISCORD_APPLICATION_AUTHORIZATION_SCHEMA, DISCORD_APPLICATION_DEAUTHORIZATION_SCHEMA, DISCORD_ACTIVE_THREADS_SCHEMA, DISCORD_AUTOMOD_ACTION_SCHEMA, DISCORD_AUTOMOD_RULE_SCHEMA, DISCORD_BAN_SCHEMA, DISCORD_CHANNEL_SCHEMA, DISCORD_EMOJI_SCHEMA, DISCORD_ENTITLEMENT_SCHEMA, DISCORD_GUILD_SCHEMA, DISCORD_INVITE_SCHEMA, DISCORD_MEMBER_SCHEMA, DISCORD_MESSAGE_SCHEMA, DISCORD_POLL_SCHEMA, DISCORD_ROLE_SCHEMA, DISCORD_SCHEDULED_EVENT_SCHEMA, DISCORD_THREAD_MEMBER_SCHEMA, DISCORD_USER_SCHEMA, DISCORD_WEBHOOK_SCHEMA, } from "./schemas.js";
|
|
3
|
+
export const DISCORD_PROVIDER_USER_SCHEMA = z.looseObject({
|
|
4
|
+
avatar: z.string().nullable().optional(),
|
|
5
|
+
bot: z.boolean().optional(),
|
|
6
|
+
discriminator: z.string(),
|
|
7
|
+
global_name: z.string().nullable().optional(),
|
|
8
|
+
id: z.string(),
|
|
9
|
+
username: z.string(),
|
|
10
|
+
});
|
|
11
|
+
export const DISCORD_PROVIDER_GUILD_SCHEMA = z.looseObject({
|
|
12
|
+
approximate_member_count: z.number().int().nonnegative().optional(),
|
|
13
|
+
approximate_presence_count: z.number().int().nonnegative().optional(),
|
|
14
|
+
features: z.string().array().prefault([]),
|
|
15
|
+
icon: z.string().nullable().optional(),
|
|
16
|
+
id: z.string(),
|
|
17
|
+
name: z.string(),
|
|
18
|
+
owner: z.boolean().optional(),
|
|
19
|
+
permissions: z.string().optional(),
|
|
20
|
+
});
|
|
21
|
+
export const DISCORD_PROVIDER_CHANNEL_SCHEMA = z.looseObject({
|
|
22
|
+
guild_id: z.string().optional(),
|
|
23
|
+
id: z.string(),
|
|
24
|
+
name: z.string().nullable().optional(),
|
|
25
|
+
nsfw: z.boolean().optional(),
|
|
26
|
+
parent_id: z.string().nullable().optional(),
|
|
27
|
+
position: z.number().int().optional(),
|
|
28
|
+
topic: z.string().nullable().optional(),
|
|
29
|
+
type: z.number().int(),
|
|
30
|
+
});
|
|
31
|
+
export const DISCORD_PROVIDER_THREAD_MEMBER_SCHEMA = z.looseObject({
|
|
32
|
+
flags: z.number().int(),
|
|
33
|
+
id: z.string().optional(),
|
|
34
|
+
join_timestamp: z.string(),
|
|
35
|
+
user_id: z.string().optional(),
|
|
36
|
+
});
|
|
37
|
+
export const DISCORD_PROVIDER_ACTIVE_THREADS_SCHEMA = z.looseObject({
|
|
38
|
+
members: DISCORD_PROVIDER_THREAD_MEMBER_SCHEMA.array(),
|
|
39
|
+
threads: DISCORD_PROVIDER_CHANNEL_SCHEMA.array(),
|
|
40
|
+
});
|
|
41
|
+
export const DISCORD_PROVIDER_POLL_SCHEMA = z.looseObject({
|
|
42
|
+
allow_multiselect: z.boolean(),
|
|
43
|
+
answers: z
|
|
44
|
+
.looseObject({
|
|
45
|
+
answer_id: z.number().int().positive(),
|
|
46
|
+
poll_media: z.looseObject({
|
|
47
|
+
emoji: z
|
|
48
|
+
.looseObject({
|
|
49
|
+
animated: z.boolean().optional(),
|
|
50
|
+
id: z.string().nullable().optional(),
|
|
51
|
+
name: z.string().nullable().optional(),
|
|
52
|
+
})
|
|
53
|
+
.optional(),
|
|
54
|
+
text: z.string().optional(),
|
|
55
|
+
}),
|
|
56
|
+
})
|
|
57
|
+
.array(),
|
|
58
|
+
expiry: z.string(),
|
|
59
|
+
layout_type: z.number().int(),
|
|
60
|
+
question: z.looseObject({
|
|
61
|
+
emoji: z
|
|
62
|
+
.looseObject({
|
|
63
|
+
animated: z.boolean().optional(),
|
|
64
|
+
id: z.string().nullable().optional(),
|
|
65
|
+
name: z.string().nullable().optional(),
|
|
66
|
+
})
|
|
67
|
+
.optional(),
|
|
68
|
+
text: z.string().optional(),
|
|
69
|
+
}),
|
|
70
|
+
results: z
|
|
71
|
+
.looseObject({
|
|
72
|
+
answer_counts: z
|
|
73
|
+
.looseObject({
|
|
74
|
+
count: z.number().int().nonnegative(),
|
|
75
|
+
id: z.number().int().positive(),
|
|
76
|
+
me_voted: z.boolean(),
|
|
77
|
+
})
|
|
78
|
+
.array(),
|
|
79
|
+
is_finalized: z.boolean(),
|
|
80
|
+
})
|
|
81
|
+
.optional(),
|
|
82
|
+
});
|
|
83
|
+
export const DISCORD_PROVIDER_MESSAGE_SCHEMA = z.looseObject({
|
|
84
|
+
author: DISCORD_PROVIDER_USER_SCHEMA,
|
|
85
|
+
channel_id: z.string(),
|
|
86
|
+
content: z.string(),
|
|
87
|
+
edited_timestamp: z.string().nullable().optional(),
|
|
88
|
+
guild_id: z.string().optional(),
|
|
89
|
+
id: z.string(),
|
|
90
|
+
mention_everyone: z.boolean(),
|
|
91
|
+
pinned: z.boolean(),
|
|
92
|
+
poll: DISCORD_PROVIDER_POLL_SCHEMA.optional(),
|
|
93
|
+
timestamp: z.string(),
|
|
94
|
+
tts: z.boolean(),
|
|
95
|
+
type: z.number().int(),
|
|
96
|
+
webhook_id: z.string().optional(),
|
|
97
|
+
});
|
|
98
|
+
export const DISCORD_PROVIDER_MEMBER_SCHEMA = z.looseObject({
|
|
99
|
+
avatar: z.string().nullable().optional(),
|
|
100
|
+
communication_disabled_until: z.string().nullable().optional(),
|
|
101
|
+
deaf: z.boolean().optional(),
|
|
102
|
+
joined_at: z.string().nullable().optional(),
|
|
103
|
+
mute: z.boolean().optional(),
|
|
104
|
+
nick: z.string().nullable().optional(),
|
|
105
|
+
pending: z.boolean().optional(),
|
|
106
|
+
roles: z.string().array(),
|
|
107
|
+
user: DISCORD_PROVIDER_USER_SCHEMA.optional(),
|
|
108
|
+
});
|
|
109
|
+
export const DISCORD_PROVIDER_ROLE_SCHEMA = z.looseObject({
|
|
110
|
+
color: z.number().int(),
|
|
111
|
+
hoist: z.boolean(),
|
|
112
|
+
id: z.string(),
|
|
113
|
+
managed: z.boolean(),
|
|
114
|
+
mentionable: z.boolean(),
|
|
115
|
+
name: z.string(),
|
|
116
|
+
permissions: z.string(),
|
|
117
|
+
position: z.number().int(),
|
|
118
|
+
});
|
|
119
|
+
export const DISCORD_PROVIDER_INVITE_SCHEMA = z.looseObject({
|
|
120
|
+
channel: DISCORD_PROVIDER_CHANNEL_SCHEMA.nullable().optional(),
|
|
121
|
+
code: z.string(),
|
|
122
|
+
guild: DISCORD_PROVIDER_GUILD_SCHEMA.optional(),
|
|
123
|
+
inviter: DISCORD_PROVIDER_USER_SCHEMA.optional(),
|
|
124
|
+
max_age: z.number().optional(),
|
|
125
|
+
max_uses: z.number().optional(),
|
|
126
|
+
temporary: z.boolean().optional(),
|
|
127
|
+
uses: z.number().optional(),
|
|
128
|
+
});
|
|
129
|
+
export const DISCORD_PROVIDER_WEBHOOK_SCHEMA = z.looseObject({
|
|
130
|
+
application_id: z.string().nullable().optional(),
|
|
131
|
+
avatar: z.string().nullable().optional(),
|
|
132
|
+
channel_id: z.string().nullable().optional(),
|
|
133
|
+
guild_id: z.string().nullable().optional(),
|
|
134
|
+
id: z.string(),
|
|
135
|
+
name: z.string().nullable().optional(),
|
|
136
|
+
token: z.string().optional(),
|
|
137
|
+
type: z.number().int(),
|
|
138
|
+
url: z.string().optional(),
|
|
139
|
+
});
|
|
140
|
+
export const DISCORD_PROVIDER_EMOJI_SCHEMA = z.looseObject({
|
|
141
|
+
animated: z.boolean().optional(),
|
|
142
|
+
available: z.boolean().optional(),
|
|
143
|
+
id: z.string().nullable().optional(),
|
|
144
|
+
managed: z.boolean().optional(),
|
|
145
|
+
name: z.string().nullable().optional(),
|
|
146
|
+
require_colons: z.boolean().optional(),
|
|
147
|
+
roles: z.string().array().optional(),
|
|
148
|
+
user: DISCORD_PROVIDER_USER_SCHEMA.optional(),
|
|
149
|
+
});
|
|
150
|
+
export const DISCORD_PROVIDER_AUTOMOD_ACTION_SCHEMA = z.looseObject({
|
|
151
|
+
metadata: z
|
|
152
|
+
.looseObject({
|
|
153
|
+
channel_id: z.string().optional(),
|
|
154
|
+
custom_message: z.string().optional(),
|
|
155
|
+
duration_seconds: z.number().int().positive().optional(),
|
|
156
|
+
})
|
|
157
|
+
.optional(),
|
|
158
|
+
type: z.number().int(),
|
|
159
|
+
});
|
|
160
|
+
export const DISCORD_PROVIDER_AUTOMOD_RULE_SCHEMA = z.looseObject({
|
|
161
|
+
actions: DISCORD_PROVIDER_AUTOMOD_ACTION_SCHEMA.array(),
|
|
162
|
+
creator_id: z.string(),
|
|
163
|
+
enabled: z.boolean(),
|
|
164
|
+
event_type: z.number().int(),
|
|
165
|
+
exempt_channels: z.string().array(),
|
|
166
|
+
exempt_roles: z.string().array(),
|
|
167
|
+
guild_id: z.string(),
|
|
168
|
+
id: z.string(),
|
|
169
|
+
name: z.string(),
|
|
170
|
+
trigger_metadata: z.looseObject({
|
|
171
|
+
allow_list: z.string().array().optional(),
|
|
172
|
+
keyword_filter: z.string().array().optional(),
|
|
173
|
+
mention_raid_protection_enabled: z.boolean().optional(),
|
|
174
|
+
mention_total_limit: z.number().int().nonnegative().optional(),
|
|
175
|
+
presets: z.number().int().array().optional(),
|
|
176
|
+
regex_patterns: z.string().array().optional(),
|
|
177
|
+
}),
|
|
178
|
+
trigger_type: z.number().int(),
|
|
179
|
+
});
|
|
180
|
+
export const DISCORD_PROVIDER_SCHEDULED_EVENT_SCHEMA = z.looseObject({
|
|
181
|
+
channel_id: z.string().nullable().optional(),
|
|
182
|
+
creator_id: z.string().nullable().optional(),
|
|
183
|
+
description: z.string().nullable().optional(),
|
|
184
|
+
entity_id: z.string().nullable().optional(),
|
|
185
|
+
entity_metadata: z
|
|
186
|
+
.looseObject({ location: z.string().optional() })
|
|
187
|
+
.nullable()
|
|
188
|
+
.optional(),
|
|
189
|
+
entity_type: z.number().int(),
|
|
190
|
+
guild_id: z.string(),
|
|
191
|
+
id: z.string(),
|
|
192
|
+
name: z.string(),
|
|
193
|
+
privacy_level: z.number().int(),
|
|
194
|
+
scheduled_end_time: z.string().nullable().optional(),
|
|
195
|
+
scheduled_start_time: z.string(),
|
|
196
|
+
status: z.number().int(),
|
|
197
|
+
user_count: z.number().int().nonnegative().optional(),
|
|
198
|
+
});
|
|
199
|
+
export const DISCORD_PROVIDER_BAN_SCHEMA = z.looseObject({
|
|
200
|
+
reason: z.string().nullable(),
|
|
201
|
+
user: DISCORD_PROVIDER_USER_SCHEMA,
|
|
202
|
+
});
|
|
203
|
+
export const DISCORD_PROVIDER_ENTITLEMENT_SCHEMA = z.looseObject({
|
|
204
|
+
application_id: z.string(),
|
|
205
|
+
consumed: z.boolean().optional(),
|
|
206
|
+
deleted: z.boolean(),
|
|
207
|
+
ends_at: z.string().nullable().optional(),
|
|
208
|
+
gift_code_flags: z.number().int().optional(),
|
|
209
|
+
guild_id: z.string().nullable().optional(),
|
|
210
|
+
id: z.string(),
|
|
211
|
+
promotion_id: z.string().nullable().optional(),
|
|
212
|
+
sku_id: z.string(),
|
|
213
|
+
starts_at: z.string().nullable().optional(),
|
|
214
|
+
subscription_id: z.string().nullable().optional(),
|
|
215
|
+
type: z.number().int(),
|
|
216
|
+
user_id: z.string().nullable().optional(),
|
|
217
|
+
});
|
|
218
|
+
/** @param value - Provider user payload. */
|
|
219
|
+
export function toDiscordUser(value) {
|
|
220
|
+
const v = DISCORD_PROVIDER_USER_SCHEMA.parse(value);
|
|
221
|
+
return DISCORD_USER_SCHEMA.parse({
|
|
222
|
+
avatar: v.avatar,
|
|
223
|
+
bot: v.bot,
|
|
224
|
+
discriminator: v.discriminator,
|
|
225
|
+
globalName: v.global_name,
|
|
226
|
+
id: v.id,
|
|
227
|
+
username: v.username,
|
|
228
|
+
});
|
|
229
|
+
}
|
|
230
|
+
/** @param value - Provider guild payload. */
|
|
231
|
+
export function toDiscordGuild(value) {
|
|
232
|
+
const v = DISCORD_PROVIDER_GUILD_SCHEMA.parse(value);
|
|
233
|
+
return DISCORD_GUILD_SCHEMA.parse({
|
|
234
|
+
approximateMemberCount: v.approximate_member_count,
|
|
235
|
+
approximatePresenceCount: v.approximate_presence_count,
|
|
236
|
+
features: v.features,
|
|
237
|
+
icon: v.icon,
|
|
238
|
+
id: v.id,
|
|
239
|
+
name: v.name,
|
|
240
|
+
owner: v.owner,
|
|
241
|
+
permissions: v.permissions,
|
|
242
|
+
});
|
|
243
|
+
}
|
|
244
|
+
/** @param value - Provider channel payload. */
|
|
245
|
+
export function toDiscordChannel(value) {
|
|
246
|
+
const v = DISCORD_PROVIDER_CHANNEL_SCHEMA.parse(value);
|
|
247
|
+
return DISCORD_CHANNEL_SCHEMA.parse({
|
|
248
|
+
guildId: v.guild_id,
|
|
249
|
+
id: v.id,
|
|
250
|
+
name: v.name,
|
|
251
|
+
nsfw: v.nsfw,
|
|
252
|
+
parentId: v.parent_id,
|
|
253
|
+
position: v.position,
|
|
254
|
+
topic: v.topic,
|
|
255
|
+
type: v.type,
|
|
256
|
+
});
|
|
257
|
+
}
|
|
258
|
+
/** @param value - Provider thread-member payload. */
|
|
259
|
+
export function toDiscordThreadMember(value) {
|
|
260
|
+
const v = DISCORD_PROVIDER_THREAD_MEMBER_SCHEMA.parse(value);
|
|
261
|
+
return DISCORD_THREAD_MEMBER_SCHEMA.parse({
|
|
262
|
+
flags: v.flags,
|
|
263
|
+
joinTimestamp: v.join_timestamp,
|
|
264
|
+
threadId: v.id,
|
|
265
|
+
userId: v.user_id,
|
|
266
|
+
});
|
|
267
|
+
}
|
|
268
|
+
/** @param value - Provider active-thread payload. */
|
|
269
|
+
export function toDiscordActiveThreads(value) {
|
|
270
|
+
const v = DISCORD_PROVIDER_ACTIVE_THREADS_SCHEMA.parse(value);
|
|
271
|
+
return DISCORD_ACTIVE_THREADS_SCHEMA.parse({
|
|
272
|
+
members: v.members.map(toDiscordThreadMember),
|
|
273
|
+
threads: v.threads.map(toDiscordChannel),
|
|
274
|
+
});
|
|
275
|
+
}
|
|
276
|
+
/** @param value - Provider message payload. */
|
|
277
|
+
export function toDiscordMessage(value) {
|
|
278
|
+
const v = DISCORD_PROVIDER_MESSAGE_SCHEMA.parse(value);
|
|
279
|
+
return DISCORD_MESSAGE_SCHEMA.parse({
|
|
280
|
+
author: toDiscordUser(v.author),
|
|
281
|
+
channelId: v.channel_id,
|
|
282
|
+
content: v.content,
|
|
283
|
+
editedTimestamp: v.edited_timestamp,
|
|
284
|
+
guildId: v.guild_id,
|
|
285
|
+
id: v.id,
|
|
286
|
+
mentionEveryone: v.mention_everyone,
|
|
287
|
+
pinned: v.pinned,
|
|
288
|
+
poll: v.poll ? toDiscordPoll(v.poll) : undefined,
|
|
289
|
+
timestamp: v.timestamp,
|
|
290
|
+
tts: v.tts,
|
|
291
|
+
type: v.type,
|
|
292
|
+
webhookId: v.webhook_id,
|
|
293
|
+
});
|
|
294
|
+
}
|
|
295
|
+
/** @param value - Provider poll payload. */
|
|
296
|
+
export function toDiscordPoll(value) {
|
|
297
|
+
const v = DISCORD_PROVIDER_POLL_SCHEMA.parse(value);
|
|
298
|
+
return DISCORD_POLL_SCHEMA.parse({
|
|
299
|
+
allowMultiselect: v.allow_multiselect,
|
|
300
|
+
answers: v.answers.map((answer) => ({
|
|
301
|
+
answerId: answer.answer_id,
|
|
302
|
+
pollMedia: answer.poll_media,
|
|
303
|
+
})),
|
|
304
|
+
expiry: v.expiry,
|
|
305
|
+
layoutType: v.layout_type,
|
|
306
|
+
question: v.question,
|
|
307
|
+
results: v.results
|
|
308
|
+
? {
|
|
309
|
+
answerCounts: v.results.answer_counts.map((count) => ({
|
|
310
|
+
count: count.count,
|
|
311
|
+
id: count.id,
|
|
312
|
+
meVoted: count.me_voted,
|
|
313
|
+
})),
|
|
314
|
+
isFinalized: v.results.is_finalized,
|
|
315
|
+
}
|
|
316
|
+
: undefined,
|
|
317
|
+
});
|
|
318
|
+
}
|
|
319
|
+
/** @param value - Provider member payload. */
|
|
320
|
+
export function toDiscordMember(value) {
|
|
321
|
+
const v = DISCORD_PROVIDER_MEMBER_SCHEMA.parse(value);
|
|
322
|
+
return DISCORD_MEMBER_SCHEMA.parse({
|
|
323
|
+
avatar: v.avatar,
|
|
324
|
+
communicationDisabledUntil: v.communication_disabled_until,
|
|
325
|
+
deaf: v.deaf,
|
|
326
|
+
joinedAt: v.joined_at,
|
|
327
|
+
mute: v.mute,
|
|
328
|
+
nick: v.nick,
|
|
329
|
+
pending: v.pending,
|
|
330
|
+
roles: v.roles,
|
|
331
|
+
user: v.user ? toDiscordUser(v.user) : undefined,
|
|
332
|
+
});
|
|
333
|
+
}
|
|
334
|
+
/** @param value - Provider role payload. */
|
|
335
|
+
export function toDiscordRole(value) {
|
|
336
|
+
const v = DISCORD_PROVIDER_ROLE_SCHEMA.parse(value);
|
|
337
|
+
return DISCORD_ROLE_SCHEMA.parse({
|
|
338
|
+
color: v.color,
|
|
339
|
+
hoist: v.hoist,
|
|
340
|
+
id: v.id,
|
|
341
|
+
managed: v.managed,
|
|
342
|
+
mentionable: v.mentionable,
|
|
343
|
+
name: v.name,
|
|
344
|
+
permissions: v.permissions,
|
|
345
|
+
position: v.position,
|
|
346
|
+
});
|
|
347
|
+
}
|
|
348
|
+
/** @param value - Provider invite payload. */
|
|
349
|
+
export function toDiscordInvite(value) {
|
|
350
|
+
const v = DISCORD_PROVIDER_INVITE_SCHEMA.parse(value);
|
|
351
|
+
return DISCORD_INVITE_SCHEMA.parse({
|
|
352
|
+
channel: v.channel ? toDiscordChannel(v.channel) : v.channel,
|
|
353
|
+
code: v.code,
|
|
354
|
+
guild: v.guild ? toDiscordGuild(v.guild) : undefined,
|
|
355
|
+
inviter: v.inviter ? toDiscordUser(v.inviter) : undefined,
|
|
356
|
+
maxAge: v.max_age,
|
|
357
|
+
maxUses: v.max_uses,
|
|
358
|
+
temporary: v.temporary,
|
|
359
|
+
uses: v.uses,
|
|
360
|
+
});
|
|
361
|
+
}
|
|
362
|
+
/** @param value - Provider webhook payload. */
|
|
363
|
+
export function toDiscordWebhook(value) {
|
|
364
|
+
const v = DISCORD_PROVIDER_WEBHOOK_SCHEMA.parse(value);
|
|
365
|
+
return DISCORD_WEBHOOK_SCHEMA.parse({
|
|
366
|
+
applicationId: v.application_id,
|
|
367
|
+
avatar: v.avatar,
|
|
368
|
+
channelId: v.channel_id,
|
|
369
|
+
guildId: v.guild_id,
|
|
370
|
+
id: v.id,
|
|
371
|
+
name: v.name,
|
|
372
|
+
type: v.type,
|
|
373
|
+
});
|
|
374
|
+
}
|
|
375
|
+
/** @param value - Provider emoji payload. */
|
|
376
|
+
export function toDiscordEmoji(value) {
|
|
377
|
+
const v = DISCORD_PROVIDER_EMOJI_SCHEMA.parse(value);
|
|
378
|
+
return DISCORD_EMOJI_SCHEMA.parse({
|
|
379
|
+
animated: v.animated,
|
|
380
|
+
available: v.available,
|
|
381
|
+
id: v.id,
|
|
382
|
+
managed: v.managed,
|
|
383
|
+
name: v.name,
|
|
384
|
+
requireColons: v.require_colons,
|
|
385
|
+
roles: v.roles,
|
|
386
|
+
user: v.user ? toDiscordUser(v.user) : undefined,
|
|
387
|
+
});
|
|
388
|
+
}
|
|
389
|
+
/** @param value - Provider Auto Moderation action payload. */
|
|
390
|
+
export function toDiscordAutomodAction(value) {
|
|
391
|
+
const v = DISCORD_PROVIDER_AUTOMOD_ACTION_SCHEMA.parse(value);
|
|
392
|
+
return DISCORD_AUTOMOD_ACTION_SCHEMA.parse({
|
|
393
|
+
metadata: v.metadata
|
|
394
|
+
? {
|
|
395
|
+
channelId: v.metadata.channel_id,
|
|
396
|
+
customMessage: v.metadata.custom_message,
|
|
397
|
+
durationSeconds: v.metadata.duration_seconds,
|
|
398
|
+
}
|
|
399
|
+
: undefined,
|
|
400
|
+
type: v.type,
|
|
401
|
+
});
|
|
402
|
+
}
|
|
403
|
+
/** @param value - Provider Auto Moderation rule payload. */
|
|
404
|
+
export function toDiscordAutomodRule(value) {
|
|
405
|
+
const v = DISCORD_PROVIDER_AUTOMOD_RULE_SCHEMA.parse(value);
|
|
406
|
+
return DISCORD_AUTOMOD_RULE_SCHEMA.parse({
|
|
407
|
+
actions: v.actions.map(toDiscordAutomodAction),
|
|
408
|
+
creatorId: v.creator_id,
|
|
409
|
+
enabled: v.enabled,
|
|
410
|
+
eventType: v.event_type,
|
|
411
|
+
exemptChannels: v.exempt_channels,
|
|
412
|
+
exemptRoles: v.exempt_roles,
|
|
413
|
+
guildId: v.guild_id,
|
|
414
|
+
id: v.id,
|
|
415
|
+
name: v.name,
|
|
416
|
+
triggerMetadata: {
|
|
417
|
+
allowList: v.trigger_metadata.allow_list,
|
|
418
|
+
keywordFilter: v.trigger_metadata.keyword_filter,
|
|
419
|
+
mentionRaidProtectionEnabled: v.trigger_metadata.mention_raid_protection_enabled,
|
|
420
|
+
mentionTotalLimit: v.trigger_metadata.mention_total_limit,
|
|
421
|
+
presets: v.trigger_metadata.presets,
|
|
422
|
+
regexPatterns: v.trigger_metadata.regex_patterns,
|
|
423
|
+
},
|
|
424
|
+
triggerType: v.trigger_type,
|
|
425
|
+
});
|
|
426
|
+
}
|
|
427
|
+
/** @param value - Provider scheduled-event payload. */
|
|
428
|
+
export function toDiscordScheduledEvent(value) {
|
|
429
|
+
const v = DISCORD_PROVIDER_SCHEDULED_EVENT_SCHEMA.parse(value);
|
|
430
|
+
return DISCORD_SCHEDULED_EVENT_SCHEMA.parse({
|
|
431
|
+
channelId: v.channel_id,
|
|
432
|
+
creatorId: v.creator_id,
|
|
433
|
+
description: v.description,
|
|
434
|
+
entityId: v.entity_id,
|
|
435
|
+
entityMetadata: v.entity_metadata,
|
|
436
|
+
entityType: v.entity_type,
|
|
437
|
+
guildId: v.guild_id,
|
|
438
|
+
id: v.id,
|
|
439
|
+
name: v.name,
|
|
440
|
+
privacyLevel: v.privacy_level,
|
|
441
|
+
scheduledEndTime: v.scheduled_end_time,
|
|
442
|
+
scheduledStartTime: v.scheduled_start_time,
|
|
443
|
+
status: v.status,
|
|
444
|
+
userCount: v.user_count,
|
|
445
|
+
});
|
|
446
|
+
}
|
|
447
|
+
/** @param value - Provider ban payload. */
|
|
448
|
+
export function toDiscordBan(value) {
|
|
449
|
+
const v = DISCORD_PROVIDER_BAN_SCHEMA.parse(value);
|
|
450
|
+
return DISCORD_BAN_SCHEMA.parse({
|
|
451
|
+
reason: v.reason,
|
|
452
|
+
user: toDiscordUser(v.user),
|
|
453
|
+
});
|
|
454
|
+
}
|
|
455
|
+
/** @param value - Provider entitlement payload. */
|
|
456
|
+
export function toDiscordEntitlement(value) {
|
|
457
|
+
const v = DISCORD_PROVIDER_ENTITLEMENT_SCHEMA.parse(value);
|
|
458
|
+
return DISCORD_ENTITLEMENT_SCHEMA.parse({
|
|
459
|
+
applicationId: v.application_id,
|
|
460
|
+
consumed: v.consumed,
|
|
461
|
+
deleted: v.deleted,
|
|
462
|
+
endsAt: v.ends_at,
|
|
463
|
+
giftCodeFlags: v.gift_code_flags,
|
|
464
|
+
guildId: v.guild_id,
|
|
465
|
+
id: v.id,
|
|
466
|
+
promotionId: v.promotion_id,
|
|
467
|
+
skuId: v.sku_id,
|
|
468
|
+
startsAt: v.starts_at,
|
|
469
|
+
subscriptionId: v.subscription_id,
|
|
470
|
+
type: v.type,
|
|
471
|
+
userId: v.user_id,
|
|
472
|
+
});
|
|
473
|
+
}
|
|
474
|
+
/** @param value - Provider application-authorization payload. */
|
|
475
|
+
export function toDiscordApplicationAuthorization(value) {
|
|
476
|
+
const v = z
|
|
477
|
+
.looseObject({
|
|
478
|
+
guild: DISCORD_PROVIDER_GUILD_SCHEMA.optional(),
|
|
479
|
+
integration_type: z.number().int().optional(),
|
|
480
|
+
scopes: z.string().array(),
|
|
481
|
+
user: DISCORD_PROVIDER_USER_SCHEMA,
|
|
482
|
+
})
|
|
483
|
+
.parse(value);
|
|
484
|
+
return DISCORD_APPLICATION_AUTHORIZATION_SCHEMA.parse({
|
|
485
|
+
guild: v.guild ? toDiscordGuild(v.guild) : undefined,
|
|
486
|
+
integrationType: v.integration_type,
|
|
487
|
+
scopes: v.scopes,
|
|
488
|
+
user: toDiscordUser(v.user),
|
|
489
|
+
});
|
|
490
|
+
}
|
|
491
|
+
/** @param value - Provider application-deauthorization payload. */
|
|
492
|
+
export function toDiscordApplicationDeauthorization(value) {
|
|
493
|
+
return DISCORD_APPLICATION_DEAUTHORIZATION_SCHEMA.parse({
|
|
494
|
+
user: toDiscordUser(z.looseObject({ user: DISCORD_PROVIDER_USER_SCHEMA }).parse(value).user),
|
|
495
|
+
});
|
|
496
|
+
}
|