Files
discord.js/packages/core/src/api/roleConnections.ts
Almeida 670667d65b feat: add auth option in api methods (#10717)
Co-authored-by: Jiralite <33201955+Jiralite@users.noreply.github.com>
Co-authored-by: Denis-Adrian Cristea <didinele.dev@gmail.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2025-01-24 11:23:17 +00:00

52 lines
2.0 KiB
TypeScript

/* eslint-disable jsdoc/check-param-names */
import type { RequestData, REST } from '@discordjs/rest';
import {
Routes,
type RESTGetAPIApplicationRoleConnectionMetadataResult,
type RESTPutAPIApplicationRoleConnectionMetadataResult,
type RESTPutAPIApplicationRoleConnectionMetadataJSONBody,
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
* @param options - The options for fetching the role connection metadata records
*/
public async getMetadataRecords(
applicationId: Snowflake,
{ auth, signal }: Pick<RequestData, 'auth' | 'signal'> = {},
) {
return this.rest.get(Routes.applicationRoleConnectionMetadata(applicationId), {
auth,
signal,
}) 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 body - The new role connection metadata records
* @param options - The options for updating the role connection metadata records
*/
public async updateMetadataRecords(
applicationId: Snowflake,
body: RESTPutAPIApplicationRoleConnectionMetadataJSONBody,
{ auth, signal }: Pick<RequestData, 'auth' | 'signal'> = {},
) {
return this.rest.put(Routes.applicationRoleConnectionMetadata(applicationId), {
auth,
body,
signal,
}) as Promise<RESTPutAPIApplicationRoleConnectionMetadataResult>;
}
}