feat: add data handling to EarnAndBurn

This commit is contained in:
Arvid Norlin
2024-05-14 16:35:44 +02:00
parent 7ad8726633
commit 9ef9de840c
10 changed files with 391 additions and 26 deletions

View File

@@ -93,3 +93,72 @@ export const getStaysSchema = z.object({
type GetStaysData = z.infer<typeof getStaysSchema>
export type Stay = GetStaysData["data"][number]
export const getFriendTransactionsSchema = z.object({
data: z.array(
z.object({
attributes: z.object({
hotelOperaId: z.string(),
confirmationNumber: z.string(),
checkInDate: z.string(),
checkOutDate: z.string(),
nights: z.number(),
awardPoints: z.number(),
pointsCalculated: z.boolean(),
hotelInformation: z.object({
hotelName: z.string(),
city: z.string(),
hotelContent: z.object({
images: z.object({
metaData: z.object({
title: z.string(),
altText: z.string(),
altText_En: z.string(),
copyRight: z.string(),
}),
imageSizes: z.object({
tiny: z.string(),
small: z.string(),
medium: z.string(),
large: z.string(),
}),
}),
}),
}),
}),
relationships: z.object({
hotel: z.object({
links: z.object({
related: z.string(),
}),
data: z.object({
id: z.string(),
type: z.string(),
}),
}),
booking: z.object({
links: z.object({
related: z.string(),
}),
data: z.object({
id: z.string(),
type: z.string(),
}),
}),
}),
type: z.string(),
})
),
links: z
.object({
self: z.string(),
offset: z.number(),
limit: z.number(),
totalCount: z.number(),
})
.nullable(),
})
type GetFriendTransactionsData = z.infer<typeof getFriendTransactionsSchema>
export type Transaction = GetFriendTransactionsData["data"][number]