refactor: remove accessToken from parameters in API requests for cleaner handling

This commit is contained in:
Ardeman 2025-03-09 10:34:25 +08:00
parent d38bf3a705
commit 9976626f97
7 changed files with 33 additions and 38 deletions

View File

@ -15,9 +15,9 @@ type TParameters = {
} }
export const createCategoryRequest = async (parameters: TParameters) => { export const createCategoryRequest = async (parameters: TParameters) => {
const { accessToken, payload } = parameters const { payload, ...restParameters } = parameters
try { try {
const { data } = await HttpServer({ accessToken }).post( const { data } = await HttpServer(restParameters).post(
'/api/category/create', '/api/category/create',
payload, payload,
) )

View File

@ -15,16 +15,16 @@ type TParameter = {
} }
export const createNewsRequest = async (parameters: TParameter) => { export const createNewsRequest = async (parameters: TParameter) => {
const { accessToken, payload } = parameters const { payload, ...restParameters } = parameters
try { const { categories, tags, live_at, ...restPayload } = payload
const { categories, tags, ...restPayload } = payload
const transformedPayload = { const transformedPayload = {
...restPayload, ...restPayload,
categories: categories.map((category) => category?.id), categories: categories.map((category) => category?.id),
tags: tags?.map((tag) => tag?.id) || [], tags: tags?.map((tag) => tag?.id) || [],
live_at: new Date(payload?.live_at).toISOString(), live_at: new Date(live_at).toISOString(),
} }
const { data } = await HttpServer({ accessToken }).post( try {
const { data } = await HttpServer(restParameters).post(
'/api/news/create', '/api/news/create',
transformedPayload, transformedPayload,
) )

View File

@ -15,16 +15,11 @@ type TParameters = {
} }
export const createTagsRequest = async (parameters: TParameters) => { export const createTagsRequest = async (parameters: TParameters) => {
const { accessToken, payload } = parameters const { payload, ...restParameters } = parameters
try { try {
const { ...restPayload } = payload const { data } = await HttpServer(restParameters).post(
const transformedPayload = {
...restPayload,
}
const { data } = await HttpServer({ accessToken }).post(
'/api/tag/create', '/api/tag/create',
transformedPayload, payload,
) )
return tagsResponseSchema.parse(data) return tagsResponseSchema.parse(data)
} catch (error) { } catch (error) {

View File

@ -15,10 +15,10 @@ type TParameters = {
} }
export const updateCategoryRequest = async (parameters: TParameters) => { export const updateCategoryRequest = async (parameters: TParameters) => {
const { accessToken, payload } = parameters const { payload, ...restParameters } = parameters
try {
const { id, ...restPayload } = payload const { id, ...restPayload } = payload
const { data } = await HttpServer({ accessToken }).put( try {
const { data } = await HttpServer(restParameters).put(
`/api/category/${id}/update`, `/api/category/${id}/update`,
restPayload, restPayload,
) )

View File

@ -15,16 +15,16 @@ type TParameter = {
} }
export const updateNewsRequest = async (parameters: TParameter) => { export const updateNewsRequest = async (parameters: TParameter) => {
const { accessToken, payload } = parameters const { payload, ...restParameters } = parameters
try { const { categories, tags, id, live_at, ...restPayload } = payload
const { categories, tags, id, ...restPayload } = payload
const transformedPayload = { const transformedPayload = {
...restPayload, ...restPayload,
categories: categories.map((category) => category?.id), categories: categories.map((category) => category?.id),
tags: tags?.map((tag) => tag?.id) || [], tags: tags?.map((tag) => tag?.id) || [],
live_at: new Date(payload?.live_at).toISOString(), live_at: new Date(live_at).toISOString(),
} }
const { data } = await HttpServer({ accessToken }).put( try {
const { data } = await HttpServer(restParameters).put(
`/api/news/${id}/update`, `/api/news/${id}/update`,
transformedPayload, transformedPayload,
) )

View File

@ -12,9 +12,9 @@ type TParameters = {
} & THttpServer } & THttpServer
export const getNewsBySlug = async (parameters: TParameters) => { export const getNewsBySlug = async (parameters: TParameters) => {
const { slug, accessToken } = parameters const { slug, ...restParameters } = parameters
try { try {
const { data } = await HttpServer({ accessToken }).get(`/api/news/${slug}`) const { data } = await HttpServer(restParameters).get(`/api/news/${slug}`)
return dataResponseSchema.parse(data) return dataResponseSchema.parse(data)
} catch (error) { } catch (error) {
// eslint-disable-next-line unicorn/no-useless-promise-resolve-reject // eslint-disable-next-line unicorn/no-useless-promise-resolve-reject

View File

@ -4,12 +4,12 @@ import { HttpServer } from '~/libs/http-server'
import { loginResponseSchema } from './login-user' import { loginResponseSchema } from './login-user'
export const userRegisterRequest = async (payload: TRegisterSchema) => { export const userRegisterRequest = async (payload: TRegisterSchema) => {
try {
const { subscribe_plan, ...restPayload } = payload const { subscribe_plan, ...restPayload } = payload
const transformedPayload = { const transformedPayload = {
...restPayload, ...restPayload,
subscribe_plan_id: subscribe_plan.id, subscribe_plan_id: subscribe_plan.id,
} }
try {
const { data } = await HttpServer().post( const { data } = await HttpServer().post(
'/api/user/register', '/api/user/register',
transformedPayload, transformedPayload,