mirror of
https://github.com/tiramisulabs/seyfert.git
synced 2025-07-02 21:16:09 +00:00
Update Integration structure
This commit is contained in:
parent
ac32d41330
commit
4b89e81839
@ -3,11 +3,22 @@ import type { Snowflake } from "../util/Snowflake.ts";
|
||||
import type { Session } from "../session/Session.ts";
|
||||
import type {
|
||||
DiscordIntegration,
|
||||
DiscordIntegrationAccount,
|
||||
DiscordIntegrationApplication,
|
||||
DiscordUser,
|
||||
IntegrationExpireBehaviors
|
||||
} from "../vendor/external.ts";
|
||||
import User from "./User.ts"
|
||||
|
||||
export interface IntegrationAccount {
|
||||
id: Snowflake;
|
||||
name: string;
|
||||
}
|
||||
|
||||
export interface IntegrationApplication {
|
||||
id: Snowflake;
|
||||
name: string;
|
||||
icon?: string;
|
||||
description: string;
|
||||
bot?: User;
|
||||
}
|
||||
|
||||
export class Integration implements Model {
|
||||
constructor(session: Session, data: DiscordIntegration & { guild_id?: Snowflake }) {
|
||||
@ -28,9 +39,21 @@ export class Integration implements Model {
|
||||
this.subscriberCount = data.subscriber_count;
|
||||
this.revoked = !!data.revoked;
|
||||
|
||||
this.user = data.user;
|
||||
this.account = data.account;
|
||||
this.application = data.application;
|
||||
this.user = data.user ? new User(session, data.user) : undefined;
|
||||
this.account = {
|
||||
id: data.account.id,
|
||||
name: data.account.name
|
||||
}
|
||||
|
||||
if (data.application) {
|
||||
this.application = {
|
||||
id: data.application.id,
|
||||
name: data.application.name,
|
||||
icon: data.application.icon ? data.application.icon : undefined,
|
||||
description: data.application.description,
|
||||
bot: data.application.bot ? new User(session, data.application.bot) : undefined
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
id: Snowflake;
|
||||
@ -49,7 +72,7 @@ export class Integration implements Model {
|
||||
subscriberCount?: number;
|
||||
revoked?: boolean;
|
||||
|
||||
user?: DiscordUser;
|
||||
account: DiscordIntegrationAccount;
|
||||
application?: DiscordIntegrationApplication;
|
||||
user?: User;
|
||||
account: IntegrationAccount;
|
||||
application?: IntegrationApplication;
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user