24 lines
444 B
TypeScript
24 lines
444 B
TypeScript
import z from "zod"
|
|
|
|
const mojangApi = "https://api.mojang.com/users/profiles/minecraft"
|
|
|
|
const schema = z.object({
|
|
name: z.string().min(1),
|
|
id: z.string().min(1)
|
|
})
|
|
|
|
export async function getUuid(ign: string) {
|
|
const res = await fetch(`${mojangApi}/${ign}`)
|
|
|
|
if (!res.ok) return null
|
|
|
|
const data = await res.json()
|
|
|
|
const parsed = schema.safeParse(data)
|
|
|
|
if (!parsed.success) return null
|
|
|
|
return parsed.data
|
|
}
|
|
|