This commit is contained in:
Alex Frantz
2024-04-18 02:32:20 -04:00
parent 4b23ee7444
commit 2a63fd119c
21 changed files with 358 additions and 592 deletions
+2 -2
View File
@@ -1,6 +1,6 @@
import { postRouter } from "@/server/api/routers/post";
import { linksRouter } from "./routers/links";
import { miscRouter } from "./routers/misc";
import { socialRouter } from "./routers/social";
import { blogRouter } from "./routers/blog";
import { createTRPCRouter } from "@/server/api/trpc";
@@ -12,7 +12,7 @@ import { createTRPCRouter } from "@/server/api/trpc";
export const appRouter = createTRPCRouter({
post: postRouter,
links: linksRouter,
misc: miscRouter,
social: socialRouter,
blog: blogRouter
});
-43
View File
@@ -1,43 +0,0 @@
import axios from 'axios';
import {
createTRPCRouter,
publicProcedure
} from '@/server/api/trpc';
type ImageListType = {
"size": string,
"#text": string
}
type TrackResponseType = {
status: number,
track: LastTrackType[]
}
type LastTrackType = {
"@attr": {
"nowplaying": string
},
"album": {
"mbid": string,
"#text": string
},
"artist": {
"mbid": string,
"#text": string,
},
"image": ImageListType[],
"mbid": string,
"name": string,
"streamable": number,
"url": string
}
export const miscRouter = createTRPCRouter({
song: publicProcedure
.query(async () => {
const response = await axios.get<TrackResponseType>("https://api.thatalex.dev/v3/music/last-track")
return response.data
}),
})
+31
View File
@@ -0,0 +1,31 @@
import {z} from 'zod';
import axios from 'axios';
import {
createTRPCRouter,
publicProcedure
} from '@/server/api/trpc';
import type {
MedalApiObject,
MusicApiObject,
SteamApiObject
} from '@/utils/types'
const base_url = "https://api.thatalex.dev/v4/social/"
export const socialRouter = createTRPCRouter({
getMedalData: publicProcedure
.query(async ({input}) => {
const response = await axios.get(base_url + "medal")
return response.data as MedalApiObject
}),
getSteamData: publicProcedure
.query(async ({input}) => {
const response = await axios.get(base_url + "steam")
return response.data as SteamApiObject
}),
getMusicData: publicProcedure
.query(async ({input}) => {
const response = await axios.get(base_url + "music")
return response.data as MusicApiObject
})
})