fix(core): typing in avatars format

This commit is contained in:
Marcos Susaña 2023-07-21 15:28:48 -04:00
parent 10ae21de2a
commit 5569d23edd
2 changed files with 22 additions and 22 deletions

View File

@ -1,11 +1,11 @@
import type { APIGuildMember, MakeRequired } from '@biscuitland/common'; import type { APIGuildMember, MakeRequired } from "@biscuitland/common";
import type { Session, ImageOptions } from '../index'; import type { ImageOptions, Session } from "../index";
import { formatImageURL } from '../index'; import { formatImageURL } from "../index";
export class MemberManager { export class MemberManager {
constructor(private readonly session: Session) {} constructor(private readonly session: Session) {}
dynamicAvatarURL({ avatar, guild_id, user }: DynamicMember, { size, format }: ImageOptions): string { dynamicAvatarURL({ avatar, guild_id, user }: DynamicMember, { size, format }: ImageOptions = {}): string {
if (avatar?.length) { if (avatar?.length) {
return formatImageURL(this.session.cdn.guilds(guild_id).users(user.id).avatars(avatar).get(), size, format); return formatImageURL(this.session.cdn.guilds(guild_id).users(user.id).avatars(avatar).get(), size, format);
} }
@ -14,6 +14,6 @@ export class MemberManager {
} }
} }
export type DynamicMember = MakeRequired<APIGuildMember, 'user'> & { export type DynamicMember = MakeRequired<APIGuildMember, "user"> & {
guild_id: string; guild_id: string;
}; };

View File

@ -2,25 +2,25 @@ import type {
APIUser, APIUser,
RESTGetAPICurrentUserGuildsQuery, RESTGetAPICurrentUserGuildsQuery,
RESTPatchAPICurrentUserJSONBody, RESTPatchAPICurrentUserJSONBody,
RESTPutAPICurrentUserApplicationRoleConnectionJSONBody RESTPutAPICurrentUserApplicationRoleConnectionJSONBody,
} from '@biscuitland/common'; } from "@biscuitland/common";
import type { Session, ImageOptions } from '../index'; import type { ImageOptions, Session } from "../index";
import { formatImageURL } from '../index'; import { formatImageURL } from "../index";
export class UserManager { export class UserManager {
readonly session!: Session; readonly session!: Session;
constructor(session: Session) { constructor(session: Session) {
Object.defineProperty(this, 'session', { Object.defineProperty(this, "session", {
value: session, value: session,
writable: false writable: false,
}); });
} }
get(userId = '@me') { get(userId = "@me") {
return this.session.api.users(userId).get(); return this.session.api.users(userId).get();
} }
avatarURL(user: APIUser, { size, format }: ImageOptions) { avatarURL(user: APIUser, { size, format }: ImageOptions = {}) {
if (user.avatar?.length) { if (user.avatar?.length) {
return formatImageURL(this.session.cdn.avatars(user.id).get(user.avatar), size, format); return formatImageURL(this.session.cdn.avatars(user.id).get(user.avatar), size, format);
} }
@ -29,36 +29,36 @@ export class UserManager {
} }
createDM(userId: string) { createDM(userId: string) {
return this.session.api.users('@me').channels.post({ body: { recipient_id: userId } }); return this.session.api.users("@me").channels.post({ body: { recipient_id: userId } });
} }
editCurrent(body: RESTPatchAPICurrentUserJSONBody) { editCurrent(body: RESTPatchAPICurrentUserJSONBody) {
return this.session.api.users('@me').patch({ return this.session.api.users("@me").patch({
body body,
}); });
} }
getGuilds(query?: RESTGetAPICurrentUserGuildsQuery) { getGuilds(query?: RESTGetAPICurrentUserGuildsQuery) {
return this.session.api.users('@me').guilds.get({ query }); return this.session.api.users("@me").guilds.get({ query });
} }
getGuildMember(guildId: string) { getGuildMember(guildId: string) {
return this.session.api.users('@me').guilds(guildId).member.get(); return this.session.api.users("@me").guilds(guildId).member.get();
} }
leaveGuild(guildId: string) { leaveGuild(guildId: string) {
return this.session.api.users('@me').guilds(guildId).delete(); return this.session.api.users("@me").guilds(guildId).delete();
} }
getConnections() { getConnections() {
return this.session.api.users('@me').connections.get(); return this.session.api.users("@me").connections.get();
} }
getRoleConnections(applicationId: string) { getRoleConnections(applicationId: string) {
return this.session.api.users('@me').applications(applicationId)['role-connection'].get(); return this.session.api.users("@me").applications(applicationId)["role-connection"].get();
} }
updateRoleConnection(applicationId: string, body: RESTPutAPICurrentUserApplicationRoleConnectionJSONBody) { updateRoleConnection(applicationId: string, body: RESTPutAPICurrentUserApplicationRoleConnectionJSONBody) {
return this.session.api.users('@me').applications(applicationId)['role-connection'].put({ body }); return this.session.api.users("@me").applications(applicationId)["role-connection"].put({ body });
} }
} }