1 | import { unescape } from 'plug-message-split'
|
2 | import { partial, parseDate } from '../util'
|
3 | import makeProto from '../wrap'
|
4 |
|
5 | export default function wrapWaitlistBan (mp, data) {
|
6 | data.username = unescape(data.username)
|
7 | data.moderator = unescape(data.moderator)
|
8 |
|
9 | const ban = {
|
10 | user: mp.user(data.id) || mp.wrapUser({ id: data.id, username: data.username }),
|
11 | moderator: mp.user(data.moderatorID) || mp.userByName(data.moderator) ||
|
12 | mp.wrapUser({ id: data.moderatorID, username: data.moderator }),
|
13 | moderatorName: data.moderator,
|
14 | reason: data.reason,
|
15 | duration: data.duration,
|
16 | timestamp: typeof data.timestamp === 'string'
|
17 | ? parseDate(data.timestamp)
|
18 | : data.timestamp
|
19 | }
|
20 | return makeProto(ban, {
|
21 | getUser: partial(mp.getUser, data.id),
|
22 | remove: partial(mp.waitlistUnban, data.id)
|
23 | })
|
24 | }
|