mirror of
https://github.com/discordeno/discordeno.git
synced 2026-06-01 00:10:07 +00:00
removed templatestruct
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
import { rest } from "../../rest/rest.ts";
|
||||
import { structures } from "../../structures/mod.ts";
|
||||
import { DiscordTemplate, Template } from "../../types/templates/template.ts";
|
||||
import { endpoints } from "../../util/constants.ts";
|
||||
import { requireBotGuildPermissions } from "../../util/permissions.ts";
|
||||
import { snakeKeysToCamelCase } from "../../util/utils.ts";
|
||||
|
||||
/**
|
||||
* Creates a template for the guild.
|
||||
@@ -24,11 +24,11 @@ export async function createGuildTemplate(
|
||||
throw new Error("The description can only be in between 0-120 characters.");
|
||||
}
|
||||
|
||||
const template = (await rest.runMethod(
|
||||
const template = await rest.runMethod<DiscordTemplate>(
|
||||
"post",
|
||||
endpoints.GUILD_TEMPLATES(guildId),
|
||||
data,
|
||||
)) as DiscordTemplate;
|
||||
);
|
||||
|
||||
return structures.createTemplateStruct(template);
|
||||
return snakeKeysToCamelCase<Template>(template);
|
||||
}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import { rest } from "../../rest/rest.ts";
|
||||
import { structures } from "../../structures/mod.ts";
|
||||
import { DiscordTemplate } from "../../types/templates/template.ts";
|
||||
import { DiscordTemplate, Template } from "../../types/templates/template.ts";
|
||||
import { endpoints } from "../../util/constants.ts";
|
||||
import { requireBotGuildPermissions } from "../../util/permissions.ts";
|
||||
import { snakeKeysToCamelCase } from "../../util/utils.ts";
|
||||
|
||||
/**
|
||||
* Deletes a template from a guild.
|
||||
@@ -14,10 +14,10 @@ export async function deleteGuildTemplate(
|
||||
) {
|
||||
await requireBotGuildPermissions(guildId, ["MANAGE_GUILD"]);
|
||||
|
||||
const deletedTemplate = (await rest.runMethod(
|
||||
const deletedTemplate = await rest.runMethod<DiscordTemplate>(
|
||||
"delete",
|
||||
`${endpoints.GUILD_TEMPLATES(guildId)}/${templateCode}`,
|
||||
)) as DiscordTemplate;
|
||||
);
|
||||
|
||||
return structures.createTemplateStruct(deletedTemplate);
|
||||
return snakeKeysToCamelCase<Template>(deletedTemplate);
|
||||
}
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import { rest } from "../../rest/rest.ts";
|
||||
import { structures } from "../../structures/mod.ts";
|
||||
import { ModifyGuildTemplate } from "../../types/templates/modify_guild_template.ts";
|
||||
import { DiscordTemplate } from "../../types/templates/template.ts";
|
||||
import { DiscordTemplate, Template } from "../../types/templates/template.ts";
|
||||
import { endpoints } from "../../util/constants.ts";
|
||||
import { requireBotGuildPermissions } from "../../util/permissions.ts";
|
||||
import { snakeKeysToCamelCase } from "../../util/utils.ts";
|
||||
|
||||
/**
|
||||
* Edit a template's metadata.
|
||||
@@ -24,11 +24,11 @@ export async function editGuildTemplate(
|
||||
throw new Error("The description can only be in between 0-120 characters.");
|
||||
}
|
||||
|
||||
const template = (await rest.runMethod(
|
||||
const template = await rest.runMethod<DiscordTemplate>(
|
||||
"patch",
|
||||
`${endpoints.GUILD_TEMPLATES(guildId)}/${templateCode}`,
|
||||
data,
|
||||
)) as DiscordTemplate;
|
||||
);
|
||||
|
||||
return structures.createTemplateStruct(template);
|
||||
return snakeKeysToCamelCase<Template>(template);
|
||||
}
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import { rest } from "../../rest/rest.ts";
|
||||
import { structures } from "../../structures/mod.ts";
|
||||
import { DiscordTemplate, Template } from "../../types/templates/template.ts";
|
||||
import { Collection } from "../../util/collection.ts";
|
||||
import { endpoints } from "../../util/constants.ts";
|
||||
import { requireBotGuildPermissions } from "../../util/permissions.ts";
|
||||
import { DiscordTemplate } from "../../types/templates/template.ts";
|
||||
import { Collection } from "../../util/collection.ts";
|
||||
import { snakeKeysToCamelCase } from "../../util/utils.ts";
|
||||
|
||||
/**
|
||||
* Returns an array of templates.
|
||||
@@ -20,7 +20,7 @@ export async function getGuildTemplates(guildId: string) {
|
||||
return new Collection(
|
||||
templates.map((template) => [
|
||||
template.code,
|
||||
structures.createTemplateStruct(template),
|
||||
snakeKeysToCamelCase<Template>(template),
|
||||
]),
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1,15 +1,14 @@
|
||||
import { rest } from "../../rest/rest.ts";
|
||||
import { structures } from "../../structures/mod.ts";
|
||||
import { DiscordTemplate, Template } from "../../types/templates/template.ts";
|
||||
import { endpoints } from "../../util/constants.ts";
|
||||
import { DiscordTemplate } from "../../types/templates/template.ts";
|
||||
import { snakeKeysToCamelCase } from "../../util/utils.ts";
|
||||
|
||||
/** Returns the guild template if it exists */
|
||||
export async function getTemplate(templateCode: string) {
|
||||
const result = (await rest.runMethod(
|
||||
const template = await rest.runMethod<DiscordTemplate>(
|
||||
"get",
|
||||
endpoints.GUILD_TEMPLATE(templateCode),
|
||||
) as DiscordTemplate);
|
||||
const template = await structures.createTemplateStruct(result);
|
||||
);
|
||||
|
||||
return template;
|
||||
return snakeKeysToCamelCase<Template>(template);
|
||||
}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import { rest } from "../../rest/rest.ts";
|
||||
import { structures } from "../../structures/mod.ts";
|
||||
import { DiscordTemplate, Template } from "../../types/templates/template.ts";
|
||||
import { endpoints } from "../../util/constants.ts";
|
||||
import { requireBotGuildPermissions } from "../../util/permissions.ts";
|
||||
import { DiscordTemplate } from "../../types/templates/template.ts";
|
||||
import { snakeKeysToCamelCase } from "../../util/utils.ts";
|
||||
|
||||
/**
|
||||
* Syncs the template to the guild's current state.
|
||||
@@ -11,10 +11,10 @@ import { DiscordTemplate } from "../../types/templates/template.ts";
|
||||
export async function syncGuildTemplate(guildId: string, templateCode: string) {
|
||||
await requireBotGuildPermissions(guildId, ["MANAGE_GUILD"]);
|
||||
|
||||
const template = (await rest.runMethod(
|
||||
const template = await rest.runMethod<DiscordTemplate>(
|
||||
"put",
|
||||
`${endpoints.GUILD_TEMPLATES(guildId)}/${templateCode}`,
|
||||
)) as DiscordTemplate;
|
||||
);
|
||||
|
||||
return structures.createTemplateStruct(template);
|
||||
return snakeKeysToCamelCase<Template>(template);
|
||||
}
|
||||
|
||||
@@ -3,7 +3,6 @@ import { createDiscordenoGuild } from "./guild.ts";
|
||||
import { createDiscordenoMember } from "./member.ts";
|
||||
import { createDiscordenoMessage } from "./message.ts";
|
||||
import { createDiscordenoRole } from "./role.ts";
|
||||
import { createTemplateStruct } from "./template.ts";
|
||||
|
||||
/** This is the placeholder where the structure creation functions are kept. */
|
||||
export let structures = {
|
||||
@@ -12,7 +11,6 @@ export let structures = {
|
||||
createDiscordenoMember,
|
||||
createDiscordenoMessage,
|
||||
createDiscordenoRole,
|
||||
createTemplateStruct,
|
||||
};
|
||||
|
||||
// export type { Channel, Guild, Member, Message, Role, Template };
|
||||
|
||||
@@ -1,53 +0,0 @@
|
||||
import { eventHandlers } from "../bot.ts";
|
||||
import { cache } from "../cache.ts";
|
||||
import { DiscordTemplate, Template } from "../types/templates/template.ts";
|
||||
import { createNewProp } from "../util/utils.ts";
|
||||
import { DiscordenoGuild } from "./guild.ts";
|
||||
|
||||
const baseTemplate: Partial<DiscordenoTemplate> = {
|
||||
get sourceGuild() {
|
||||
// deno-lint-ignore getter-return
|
||||
if (!this.sourceGuildId) return;
|
||||
return cache.guilds.get(this.sourceGuildId);
|
||||
},
|
||||
};
|
||||
|
||||
export function createTemplateStruct(
|
||||
data: DiscordTemplate,
|
||||
) {
|
||||
const {
|
||||
usage_count: usageCount,
|
||||
creator_id: creatorId,
|
||||
created_at: createdAt,
|
||||
updated_at: updatedAt,
|
||||
source_guild_id: sourceGuildId,
|
||||
serialized_source_guild: serializedSourceGuild,
|
||||
is_dirty: isDirty,
|
||||
...rest
|
||||
} = data;
|
||||
|
||||
const restProps: Record<string, Partial<PropertyDescriptor>> = {};
|
||||
for (const key of Object.keys(rest)) {
|
||||
eventHandlers.debug?.(
|
||||
"loop",
|
||||
`Running for of loop in createTemplateStruct function.`,
|
||||
);
|
||||
// @ts-ignore index signature
|
||||
restProps[key] = createNewProp(rest[key]);
|
||||
}
|
||||
|
||||
return Object.create(baseTemplate, {
|
||||
...restProps,
|
||||
usageCount: createNewProp(sourceGuildId),
|
||||
creatorId: createNewProp(creatorId),
|
||||
createdAt: createNewProp(createdAt),
|
||||
updatedAt: createNewProp(updatedAt),
|
||||
sourceGuildId: createNewProp(sourceGuildId),
|
||||
serializedSourceGuild: createNewProp(serializedSourceGuild),
|
||||
isDirty: createNewProp(isDirty),
|
||||
}) as DiscordenoTemplate;
|
||||
}
|
||||
|
||||
export interface DiscordenoTemplate extends Template {
|
||||
sourceGuild?: DiscordenoGuild;
|
||||
}
|
||||
Reference in New Issue
Block a user