From e9d02a19fc3b4fad2f488b0db3b63d6301878730 Mon Sep 17 00:00:00 2001 From: Suneet Tipirneni <77477100+suneettipirneni@users.noreply.github.com> Date: Tue, 7 Dec 2021 15:25:50 -0500 Subject: [PATCH] feat: add support for user guild member read oauth2 scope and route (#254) --- deno/payloads/v8/oauth2.ts | 6 ++++++ deno/payloads/v9/oauth2.ts | 6 ++++++ deno/rest/v8/mod.ts | 8 ++++++++ deno/rest/v8/user.ts | 7 ++++++- deno/rest/v9/mod.ts | 8 ++++++++ deno/rest/v9/user.ts | 7 ++++++- payloads/v8/oauth2.ts | 6 ++++++ payloads/v9/oauth2.ts | 6 ++++++ rest/v8/index.ts | 8 ++++++++ rest/v8/user.ts | 7 ++++++- rest/v9/index.ts | 8 ++++++++ rest/v9/user.ts | 7 ++++++- 12 files changed, 80 insertions(+), 4 deletions(-) diff --git a/deno/payloads/v8/oauth2.ts b/deno/payloads/v8/oauth2.ts index 022f82d1..ac911ae8 100644 --- a/deno/payloads/v8/oauth2.ts +++ b/deno/payloads/v8/oauth2.ts @@ -40,6 +40,12 @@ export enum OAuth2Scopes { * See https://discord.com/developers/docs/resources/guild#add-guild-member */ GuildsJoin = 'guilds.join', + /** + * Allows /users/@me/guilds/{guild.id}/member to return a user's member information in a guild + * + * See https://discord.com/developers/docs/resources/guild#get-current-user-guild-member + */ + GuildsMembersRead = 'guilds.members.read', /** * Allows your app to join users to a group dm * diff --git a/deno/payloads/v9/oauth2.ts b/deno/payloads/v9/oauth2.ts index 022f82d1..ac911ae8 100644 --- a/deno/payloads/v9/oauth2.ts +++ b/deno/payloads/v9/oauth2.ts @@ -40,6 +40,12 @@ export enum OAuth2Scopes { * See https://discord.com/developers/docs/resources/guild#add-guild-member */ GuildsJoin = 'guilds.join', + /** + * Allows /users/@me/guilds/{guild.id}/member to return a user's member information in a guild + * + * See https://discord.com/developers/docs/resources/guild#get-current-user-guild-member + */ + GuildsMembersRead = 'guilds.members.read', /** * Allows your app to join users to a group dm * diff --git a/deno/rest/v8/mod.ts b/deno/rest/v8/mod.ts index 7885f2db..b88ebae2 100644 --- a/deno/rest/v8/mod.ts +++ b/deno/rest/v8/mod.ts @@ -441,6 +441,14 @@ export const Routes = { return `/users/@me/guilds` as const; }, + /** + * Route for: + * - GET `/users/@me/guilds/{guild.id}/member` + */ + userGuildMember(guildId: Snowflake) { + return `/users/@me/guilds/${guildId}/member` as const; + }, + /** * Route for: * - DELETE `/users/@me/guilds/{guild.id}` diff --git a/deno/rest/v8/user.ts b/deno/rest/v8/user.ts index 66c78120..f6de6dd0 100644 --- a/deno/rest/v8/user.ts +++ b/deno/rest/v8/user.ts @@ -1,5 +1,5 @@ import type { Permissions, Snowflake } from '../../globals.ts'; -import type { APIChannel, APIConnection, APIUser, GuildFeature } from '../../payloads/v8/mod.ts'; +import type { APIChannel, APIConnection, APIGuildMember, APIUser, GuildFeature } from '../../payloads/v8/mod.ts'; /** * https://discord.com/developers/docs/resources/user#get-current-user @@ -11,6 +11,11 @@ export type RESTGetAPICurrentUserResult = APIUser; */ export type RESTGetAPIUserResult = APIUser; +/** + * https://discord.com/developers/docs/resources/guild#get-current-user-guild-member + */ +export type RESTGetCurrentUserGuildMemberResult = APIGuildMember; + /** * https://discord.com/developers/docs/resources/user#modify-current-user */ diff --git a/deno/rest/v9/mod.ts b/deno/rest/v9/mod.ts index 5a80b861..802e3cfc 100644 --- a/deno/rest/v9/mod.ts +++ b/deno/rest/v9/mod.ts @@ -510,6 +510,14 @@ export const Routes = { return `/users/@me/guilds` as const; }, + /** + * Route for: + * - GET `/users/@me/guilds/{guild.id}/member` + */ + userGuildMember(guildId: Snowflake) { + return `/users/@me/guilds/${guildId}/member` as const; + }, + /** * Route for: * - DELETE `/users/@me/guilds/{guild.id}` diff --git a/deno/rest/v9/user.ts b/deno/rest/v9/user.ts index 001402b0..2fa05fd1 100644 --- a/deno/rest/v9/user.ts +++ b/deno/rest/v9/user.ts @@ -1,5 +1,5 @@ import type { Permissions, Snowflake } from '../../globals.ts'; -import type { APIChannel, APIConnection, APIUser, GuildFeature } from '../../payloads/v9/mod.ts'; +import type { APIChannel, APIConnection, APIGuildMember, APIUser, GuildFeature } from '../../payloads/v9/mod.ts'; /** * https://discord.com/developers/docs/resources/user#get-current-user @@ -11,6 +11,11 @@ export type RESTGetAPICurrentUserResult = APIUser; */ export type RESTGetAPIUserResult = APIUser; +/** + * https://discord.com/developers/docs/resources/guild#get-current-user-guild-member + */ +export type RESTGetCurrentUserGuildMemberResult = APIGuildMember; + /** * https://discord.com/developers/docs/resources/user#modify-current-user */ diff --git a/payloads/v8/oauth2.ts b/payloads/v8/oauth2.ts index 8355b374..bde5cd33 100644 --- a/payloads/v8/oauth2.ts +++ b/payloads/v8/oauth2.ts @@ -40,6 +40,12 @@ export const enum OAuth2Scopes { * See https://discord.com/developers/docs/resources/guild#add-guild-member */ GuildsJoin = 'guilds.join', + /** + * Allows /users/@me/guilds/{guild.id}/member to return a user's member information in a guild + * + * See https://discord.com/developers/docs/resources/guild#get-current-user-guild-member + */ + GuildsMembersRead = 'guilds.members.read', /** * Allows your app to join users to a group dm * diff --git a/payloads/v9/oauth2.ts b/payloads/v9/oauth2.ts index 8355b374..bde5cd33 100644 --- a/payloads/v9/oauth2.ts +++ b/payloads/v9/oauth2.ts @@ -40,6 +40,12 @@ export const enum OAuth2Scopes { * See https://discord.com/developers/docs/resources/guild#add-guild-member */ GuildsJoin = 'guilds.join', + /** + * Allows /users/@me/guilds/{guild.id}/member to return a user's member information in a guild + * + * See https://discord.com/developers/docs/resources/guild#get-current-user-guild-member + */ + GuildsMembersRead = 'guilds.members.read', /** * Allows your app to join users to a group dm * diff --git a/rest/v8/index.ts b/rest/v8/index.ts index 2e3bed59..6fb8b4bb 100644 --- a/rest/v8/index.ts +++ b/rest/v8/index.ts @@ -441,6 +441,14 @@ export const Routes = { return `/users/@me/guilds` as const; }, + /** + * Route for: + * - GET `/users/@me/guilds/{guild.id}/member` + */ + userGuildMember(guildId: Snowflake) { + return `/users/@me/guilds/${guildId}/member` as const; + }, + /** * Route for: * - DELETE `/users/@me/guilds/{guild.id}` diff --git a/rest/v8/user.ts b/rest/v8/user.ts index 81d8e9f3..f7617e5b 100644 --- a/rest/v8/user.ts +++ b/rest/v8/user.ts @@ -1,5 +1,5 @@ import type { Permissions, Snowflake } from '../../globals'; -import type { APIChannel, APIConnection, APIUser, GuildFeature } from '../../payloads/v8/index'; +import type { APIChannel, APIConnection, APIGuildMember, APIUser, GuildFeature } from '../../payloads/v8/index'; /** * https://discord.com/developers/docs/resources/user#get-current-user @@ -11,6 +11,11 @@ export type RESTGetAPICurrentUserResult = APIUser; */ export type RESTGetAPIUserResult = APIUser; +/** + * https://discord.com/developers/docs/resources/guild#get-current-user-guild-member + */ +export type RESTGetCurrentUserGuildMemberResult = APIGuildMember; + /** * https://discord.com/developers/docs/resources/user#modify-current-user */ diff --git a/rest/v9/index.ts b/rest/v9/index.ts index 36b53f02..40289f62 100644 --- a/rest/v9/index.ts +++ b/rest/v9/index.ts @@ -510,6 +510,14 @@ export const Routes = { return `/users/@me/guilds` as const; }, + /** + * Route for: + * - GET `/users/@me/guilds/{guild.id}/member` + */ + userGuildMember(guildId: Snowflake) { + return `/users/@me/guilds/${guildId}/member` as const; + }, + /** * Route for: * - DELETE `/users/@me/guilds/{guild.id}` diff --git a/rest/v9/user.ts b/rest/v9/user.ts index 927ffc20..50a519b7 100644 --- a/rest/v9/user.ts +++ b/rest/v9/user.ts @@ -1,5 +1,5 @@ import type { Permissions, Snowflake } from '../../globals'; -import type { APIChannel, APIConnection, APIUser, GuildFeature } from '../../payloads/v9/index'; +import type { APIChannel, APIConnection, APIGuildMember, APIUser, GuildFeature } from '../../payloads/v9/index'; /** * https://discord.com/developers/docs/resources/user#get-current-user @@ -11,6 +11,11 @@ export type RESTGetAPICurrentUserResult = APIUser; */ export type RESTGetAPIUserResult = APIUser; +/** + * https://discord.com/developers/docs/resources/guild#get-current-user-guild-member + */ +export type RESTGetCurrentUserGuildMemberResult = APIGuildMember; + /** * https://discord.com/developers/docs/resources/user#modify-current-user */