summary refs log tree commit diff
path: root/src/util
diff options
context:
space:
mode:
Diffstat (limited to 'src/util')
-rw-r--r--src/util/connections/RefreshableConnection.ts2
-rw-r--r--src/util/dtos/ConnectedAccountDTO.ts2
-rw-r--r--src/util/entities/ConnectedAccount.ts10
-rw-r--r--src/util/interfaces/ConnectedAccount.ts1
-rw-r--r--src/util/schemas/ConnectedAccountSchema.ts2
-rw-r--r--src/util/schemas/ConnectionUpdateSchema.ts1
-rw-r--r--src/util/util/Constants.ts5
7 files changed, 18 insertions, 5 deletions
diff --git a/src/util/connections/RefreshableConnection.ts b/src/util/connections/RefreshableConnection.ts

index 0008cbc0..87f5f6dd 100644 --- a/src/util/connections/RefreshableConnection.ts +++ b/src/util/connections/RefreshableConnection.ts
@@ -23,7 +23,7 @@ export default abstract class RefreshableConnection extends Connection { connectedAccount: ConnectedAccount, ): Promise<ConnectedAccountCommonOAuthTokenResponse> { const tokenData = await this.refreshToken(connectedAccount); - connectedAccount.token_data = tokenData; + connectedAccount.token_data = { ...tokenData, fetched_at: Date.now() }; await connectedAccount.save(); return tokenData; } diff --git a/src/util/dtos/ConnectedAccountDTO.ts b/src/util/dtos/ConnectedAccountDTO.ts
index ca15ff41..a3618fd1 100644 --- a/src/util/dtos/ConnectedAccountDTO.ts +++ b/src/util/dtos/ConnectedAccountDTO.ts
@@ -7,7 +7,7 @@ export class ConnectedAccountDTO { friend_sync?: boolean; name: string; revoked?: boolean; - show_activity?: boolean; + show_activity?: number; type: string; verified?: boolean; visibility?: number; diff --git a/src/util/entities/ConnectedAccount.ts b/src/util/entities/ConnectedAccount.ts
index beb53e41..d8a9de20 100644 --- a/src/util/entities/ConnectedAccount.ts +++ b/src/util/entities/ConnectedAccount.ts
@@ -51,7 +51,7 @@ export class ConnectedAccount extends BaseClass { revoked?: boolean = false; @Column({ select: false }) - show_activity?: boolean = true; + show_activity?: number = 0; @Column() type: string; @@ -75,5 +75,11 @@ export class ConnectedAccount extends BaseClass { two_way_link?: boolean = false; @Column({ select: false, nullable: true, type: "simple-json" }) - token_data?: ConnectedAccountTokenData; + token_data?: ConnectedAccountTokenData | null; + + async revoke() { + this.revoked = true; + this.token_data = null; + await this.save(); + } } diff --git a/src/util/interfaces/ConnectedAccount.ts b/src/util/interfaces/ConnectedAccount.ts
index c96e5f79..ede02f6d 100644 --- a/src/util/interfaces/ConnectedAccount.ts +++ b/src/util/interfaces/ConnectedAccount.ts
@@ -13,4 +13,5 @@ export interface ConnectedAccountTokenData { refresh_token?: string; expires_in?: number; expires_at?: number; + fetched_at: number; } diff --git a/src/util/schemas/ConnectedAccountSchema.ts b/src/util/schemas/ConnectedAccountSchema.ts
index e5f838d0..fa834bd6 100644 --- a/src/util/schemas/ConnectedAccountSchema.ts +++ b/src/util/schemas/ConnectedAccountSchema.ts
@@ -7,7 +7,7 @@ export interface ConnectedAccountSchema { friend_sync?: boolean; name: string; revoked?: boolean; - show_activity?: boolean; + show_activity?: number; type: string; verified?: boolean; visibility?: number; diff --git a/src/util/schemas/ConnectionUpdateSchema.ts b/src/util/schemas/ConnectionUpdateSchema.ts
index ac234e7e..eb6c0916 100644 --- a/src/util/schemas/ConnectionUpdateSchema.ts +++ b/src/util/schemas/ConnectionUpdateSchema.ts
@@ -1,3 +1,4 @@ export interface ConnectionUpdateSchema { visibility?: boolean; + show_activity?: boolean; } diff --git a/src/util/util/Constants.ts b/src/util/util/Constants.ts
index 3bdfcfa9..47f650f4 100644 --- a/src/util/util/Constants.ts +++ b/src/util/util/Constants.ts
@@ -787,6 +787,11 @@ export const DiscordApiErrors = { 40006, ), USER_BANNED: new ApiError("The user is banned from this guild", 40007), + CONNECTION_REVOKED: new ApiError( + "The connection has been revoked", + 40012, + 400, + ), TARGET_USER_IS_NOT_CONNECTED_TO_VOICE: new ApiError( "Target user is not connected to voice", 40032,