mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-14 18:43:31 +01:00
feat(core): Add support for role connections (#8930)
This commit is contained in:
40
packages/core/src/api/roleConnections.ts
Normal file
40
packages/core/src/api/roleConnections.ts
Normal file
@@ -0,0 +1,40 @@
|
||||
import type { REST } from '@discordjs/rest';
|
||||
import {
|
||||
Routes,
|
||||
type RESTGetAPIApplicationRoleConnectionMetadataResult,
|
||||
type RESTPutAPIApplicationRoleConnectionMetadataResult,
|
||||
type RESTPutAPIApplicationCommandPermissionsJSONBody,
|
||||
type Snowflake,
|
||||
} from 'discord-api-types/v10';
|
||||
|
||||
export class RoleConnectionsAPI {
|
||||
public constructor(private readonly rest: REST) {}
|
||||
|
||||
/**
|
||||
* Gets the role connection metadata records for the application
|
||||
*
|
||||
* @see {@link https://discord.com/developers/docs/resources/application-role-connection-metadata#get-application-role-connection-metadata-records}
|
||||
* @param applicationId - The id of the application to get role connection metadata records for
|
||||
*/
|
||||
public async getMetadataRecords(applicationId: Snowflake) {
|
||||
return this.rest.get(
|
||||
Routes.applicationRoleConnectionMetadata(applicationId),
|
||||
) as Promise<RESTGetAPIApplicationRoleConnectionMetadataResult>;
|
||||
}
|
||||
|
||||
/**
|
||||
* Updates the role connection metadata records for the application
|
||||
*
|
||||
* @see {@link https://discord.com/developers/docs/resources/application-role-connection-metadata#update-application-role-connection-metadata-records}
|
||||
* @param applicationId - The id of the application to update role connection metadata records for
|
||||
* @param options - The new role connection metadata records
|
||||
*/
|
||||
public async updateMetadataRecords(
|
||||
applicationId: Snowflake,
|
||||
options: RESTPutAPIApplicationCommandPermissionsJSONBody,
|
||||
) {
|
||||
return this.rest.put(Routes.applicationRoleConnectionMetadata(applicationId), {
|
||||
body: options,
|
||||
}) as Promise<RESTPutAPIApplicationRoleConnectionMetadataResult>;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user