mirror of
https://github.com/ZeppelinBot/Zeppelin.git
synced 2025-05-25 18:25:03 +00:00
Update templateSafeObjects.ts
This commit is contained in:
parent
81ca357945
commit
9a79749788
1 changed files with 46 additions and 6 deletions
|
@ -5,6 +5,7 @@ import {
|
||||||
GuildMember,
|
GuildMember,
|
||||||
Message,
|
Message,
|
||||||
PartialGuildMember,
|
PartialGuildMember,
|
||||||
|
PartialUser,
|
||||||
Role,
|
Role,
|
||||||
Snowflake,
|
Snowflake,
|
||||||
StageInstance,
|
StageInstance,
|
||||||
|
@ -23,6 +24,8 @@ import {
|
||||||
SavedMessage,
|
SavedMessage,
|
||||||
} from "../data/entities/SavedMessage";
|
} from "../data/entities/SavedMessage";
|
||||||
import { Case } from "../data/entities/Case";
|
import { Case } from "../data/entities/Case";
|
||||||
|
import { CounterValue } from "../data/entities/CounterValue";
|
||||||
|
import { number } from "io-ts";
|
||||||
|
|
||||||
type InputProps<T> = Omit<
|
type InputProps<T> = Omit<
|
||||||
{
|
{
|
||||||
|
@ -200,6 +203,23 @@ export class TemplateSafeCase extends TemplateSafeValueContainer {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export class RankedCounterValue extends CounterValue {
|
||||||
|
rank?: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
export class TemplateSafeCounterValue extends TemplateSafeValueContainer {
|
||||||
|
id: number;
|
||||||
|
counter_id: string;
|
||||||
|
user_id: string;
|
||||||
|
channel_id: string;
|
||||||
|
value: number;
|
||||||
|
rank?: number;
|
||||||
|
|
||||||
|
constructor(data: InputProps<TemplateSafeCounterValue>) {
|
||||||
|
super(data);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
export class TemplateSafeMessage extends TemplateSafeValueContainer {
|
export class TemplateSafeMessage extends TemplateSafeValueContainer {
|
||||||
id: string;
|
id: string;
|
||||||
content: string;
|
content: string;
|
||||||
|
@ -255,16 +275,25 @@ export function roleToTemplateSafeRole(role: Role): TemplateSafeRole {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
export function memberToTemplateSafeMember(member: GuildMember | PartialGuildMember): TemplateSafeMember {
|
export function memberToTemplateSafeMember(
|
||||||
const templateSafeUser = userToTemplateSafeUser(member.user!);
|
member?: GuildMember | PartialGuildMember | null,
|
||||||
|
user?: User | UnknownUser | null,
|
||||||
|
): TemplateSafeMember {
|
||||||
|
if (!member && !user) {
|
||||||
|
throw new Error(`No usable information received; cannot create template`);
|
||||||
|
}
|
||||||
|
|
||||||
|
user = user ?? member?.user;
|
||||||
|
|
||||||
|
const templateSafeUser = userToTemplateSafeUser(user!);
|
||||||
|
|
||||||
return new TemplateSafeMember({
|
return new TemplateSafeMember({
|
||||||
...templateSafeUser,
|
...templateSafeUser,
|
||||||
user: templateSafeUser,
|
user: templateSafeUser,
|
||||||
nick: member.nickname ?? "*None*",
|
nick: member?.nickname ?? "*None*",
|
||||||
roles: [...member.roles.cache.mapValues((r) => roleToTemplateSafeRole(r)).values()],
|
roles: member ? [...member.roles.cache.mapValues((r) => roleToTemplateSafeRole(r)).values()] : [],
|
||||||
joinedAt: member.joinedTimestamp ?? undefined,
|
joinedAt: member?.joinedTimestamp ?? undefined,
|
||||||
guildName: member.guild.name,
|
guildName: member?.guild.name,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -443,6 +472,17 @@ export function caseToTemplateSafeCase(theCase: Case): TemplateSafeCase {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function counterValueToTemplateSafeCounterValue(theCounterValue: RankedCounterValue): TemplateSafeCounterValue {
|
||||||
|
return new TemplateSafeCounterValue({
|
||||||
|
id: theCounterValue.id,
|
||||||
|
counter_id: theCounterValue.counter_id,
|
||||||
|
channel_id: theCounterValue.channel_id,
|
||||||
|
user_id: theCounterValue.user_id,
|
||||||
|
value: theCounterValue.value,
|
||||||
|
rank: theCounterValue.rank,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
export function messageToTemplateSafeMessage(message: Message): TemplateSafeMessage {
|
export function messageToTemplateSafeMessage(message: Message): TemplateSafeMessage {
|
||||||
return new TemplateSafeMessage({
|
return new TemplateSafeMessage({
|
||||||
id: message.id,
|
id: message.id,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue