feat: implement logging for ad interactions with new API and update banner component

This commit is contained in:
Ardeman
2025-03-18 16:42:18 +08:00
parent 87616ef6bd
commit d32eb2e7ed
4 changed files with 93 additions and 16 deletions
+30
View File
@@ -0,0 +1,30 @@
import { z } from 'zod'
import { HttpServer, type THttpServer } from '~/libs/http-server'
import type { TAdsSchema } from '~/pages/form-advertisements'
const logAdsResponseSchema = z.object({
data: z.object({
Message: z.string(),
}),
})
type TParameters = {
id: TAdsSchema['id']
} & THttpServer
export const createLogAdsRequest = async (parameters: TParameters) => {
const { id, ...restParameters } = parameters
const payload = {
ads_id: id,
}
try {
const { data } = await HttpServer(restParameters).post(
'/api/logs/ads',
payload,
)
return logAdsResponseSchema.parse(data)
} catch (error) {
// eslint-disable-next-line unicorn/no-useless-promise-resolve-reject
return Promise.reject(error)
}
}