Rewrite getRouteDescriptions, fix message route not appearing in openapi spec

This commit is contained in:
Madeline committed 2023-04-16 01:51:52 +10:00
1 parent a263ebb1e5
commit b438f2b071
14 files changed
+106 -120

No files matched your search

@@ -25,10 +25,10 @@ import {
PublicInviteRelation,
User,
emitEvent,
isTextChannel,
} from "@spacebar/util";
import { Request, Response, Router } from "express";
import { HTTPError } from "lambert-server";
import { isTextChannel } from "./messages";
const router: Router = Router();
@@ -35,6 +35,7 @@ import {
User,
emitEvent,
getPermission,
isTextChannel,
uploadFile,
} from "@spacebar/util";
import { Request, Response, Router } from "express";
@@ -45,32 +46,6 @@ import { URL } from "url";
const router: Router = Router();
export default router;
export function isTextChannel(type: ChannelType): boolean {
switch (type) {
case ChannelType.GUILD_STORE:
case ChannelType.GUILD_VOICE:
case ChannelType.GUILD_STAGE_VOICE:
case ChannelType.GUILD_CATEGORY:
case ChannelType.GUILD_FORUM:
case ChannelType.DIRECTORY:
throw new HTTPError("not a text channel", 400);
case ChannelType.DM:
case ChannelType.GROUP_DM:
case ChannelType.GUILD_NEWS:
case ChannelType.GUILD_NEWS_THREAD:
case ChannelType.GUILD_PUBLIC_THREAD:
case ChannelType.GUILD_PRIVATE_THREAD:
case ChannelType.GUILD_TEXT:
case ChannelType.ENCRYPTED:
case ChannelType.ENCRYPTED_THREAD:
return true;
default:
throw new HTTPError("unimplemented", 400);
}
}
// https://discord.com/developers/docs/resources/channel#create-message
// get messages
router.get(
@@ -407,3 +382,5 @@ router.post(
return res.json(message);
},
);
export default router;
+1 -1
View File
@@ -25,11 +25,11 @@ import {
emitEvent,
getPermission,
getRights,
isTextChannel,
} from "@spacebar/util";
import { Request, Response, Router } from "express";
import { HTTPError } from "lambert-server";
import { Between, FindManyOptions, FindOperator, Not } from "typeorm";
import { isTextChannel } from "./messages";
const router: Router = Router();
@@ -27,11 +27,11 @@ import {
WebhookType,
handleFile,
trimSpecial,
isTextChannel,
} from "@spacebar/util";
import crypto from "crypto";
import { Request, Response, Router } from "express";
import { HTTPError } from "lambert-server";
import { isTextChannel } from "./messages/index";
const router: Router = Router();
+1 -2
View File
@@ -17,11 +17,10 @@
*/
import { route } from "@spacebar/api";
import { TenorMediaTypes } from "@spacebar/util";
import { TenorMediaTypes, getGifApiKey, parseGifResult } from "@spacebar/util";
import { Request, Response, Router } from "express";
import fetch from "node-fetch";
import ProxyAgent from "proxy-agent";
import { getGifApiKey, parseGifResult } from "./trending";
const router = Router();
+1 -2
View File
@@ -17,11 +17,10 @@
*/
import { route } from "@spacebar/api";
import { TenorMediaTypes } from "@spacebar/util";
import { TenorMediaTypes, getGifApiKey, parseGifResult } from "@spacebar/util";
import { Request, Response, Router } from "express";
import fetch from "node-fetch";
import ProxyAgent from "proxy-agent";
import { getGifApiKey, parseGifResult } from "./trending";
const router = Router();
+2 -25
View File
@@ -18,40 +18,17 @@
import { route } from "@spacebar/api";
import {
Config,
TenorCategoriesResults,
TenorGif,
TenorTrendingResults,
getGifApiKey,
parseGifResult,
} from "@spacebar/util";
import { Request, Response, Router } from "express";
import { HTTPError } from "lambert-server";
import fetch from "node-fetch";
import ProxyAgent from "proxy-agent";
const router = Router();
export function parseGifResult(result: TenorGif) {
return {
id: result.id,
title: result.title,
url: result.itemurl,
src: result.media[0].mp4.url,
gif_src: result.media[0].gif.url,
width: result.media[0].mp4.dims[0],
height: result.media[0].mp4.dims[1],
preview: result.media[0].mp4.preview,
};
}
export function getGifApiKey() {
const { enabled, provider, apiKey } = Config.get().gif;
if (!enabled) throw new HTTPError(`Gifs are disabled`);
if (provider !== "tenor" || !apiKey)
throw new HTTPError(`${provider} gif provider not supported`);
return apiKey;
}
router.get(
"/",
route({
+1 -1
View File
@@ -23,7 +23,7 @@ import { IsNull, LessThan } from "typeorm";
const router = Router();
//Returns all inactive members, respecting role hierarchy
export const inactiveMembers = async (
const inactiveMembers = async (
guild_id: string,
user_id: string,
days: number,
+1 -1
View File
@@ -105,7 +105,7 @@ router.post(
},
);
export function getStickerFormat(mime_type: string) {
function getStickerFormat(mime_type: string) {
switch (mime_type) {
case "image/apng":
return StickerFormatType.APNG;