mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-10 00:23:30 +01:00
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>
52 lines
2.0 KiB
TypeScript
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>;
|
|
}
|
|
}
|