mirror of
https://github.com/tiramisulabs/seyfert.git
synced 2025-07-03 05:26:07 +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 { Session } from "../session/Session.ts";
|
||||||
import type {
|
import type {
|
||||||
DiscordIntegration,
|
DiscordIntegration,
|
||||||
DiscordIntegrationAccount,
|
|
||||||
DiscordIntegrationApplication,
|
|
||||||
DiscordUser,
|
|
||||||
IntegrationExpireBehaviors
|
IntegrationExpireBehaviors
|
||||||
} from "../vendor/external.ts";
|
} 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 {
|
export class Integration implements Model {
|
||||||
constructor(session: Session, data: DiscordIntegration & { guild_id?: Snowflake }) {
|
constructor(session: Session, data: DiscordIntegration & { guild_id?: Snowflake }) {
|
||||||
@ -28,9 +39,21 @@ export class Integration implements Model {
|
|||||||
this.subscriberCount = data.subscriber_count;
|
this.subscriberCount = data.subscriber_count;
|
||||||
this.revoked = !!data.revoked;
|
this.revoked = !!data.revoked;
|
||||||
|
|
||||||
this.user = data.user;
|
this.user = data.user ? new User(session, data.user) : undefined;
|
||||||
this.account = data.account;
|
this.account = {
|
||||||
this.application = data.application;
|
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;
|
id: Snowflake;
|
||||||
@ -49,7 +72,7 @@ export class Integration implements Model {
|
|||||||
subscriberCount?: number;
|
subscriberCount?: number;
|
||||||
revoked?: boolean;
|
revoked?: boolean;
|
||||||
|
|
||||||
user?: DiscordUser;
|
user?: User;
|
||||||
account: DiscordIntegrationAccount;
|
account: IntegrationAccount;
|
||||||
application?: DiscordIntegrationApplication;
|
application?: IntegrationApplication;
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user