fix: api type
This commit is contained in:
parent
f4c561b478
commit
38d90e2161
|
|
@ -2,39 +2,14 @@ import { ApiError } from "@/lib/types"
|
||||||
import { useState } from "react"
|
import { useState } from "react"
|
||||||
import { OWNER_ID } from "@/hooks/constants"
|
import { OWNER_ID } from "@/hooks/constants"
|
||||||
import { root } from '@repo/core';
|
import { root } from '@repo/core';
|
||||||
import { ActivityController } from "@repo/sdk";
|
import { ActivityController, ListActivitiesResult, ListActivitiesInput } from "@repo/sdk";
|
||||||
import { useError } from "./use-error";
|
import { useError } from "./use-error";
|
||||||
export const useActivities = () => {
|
export const useActivities = () => {
|
||||||
const [loading, setLoading] = useState(false)
|
const [loading, setLoading] = useState(false)
|
||||||
const [error, setError] = useState<ApiError | null>(null)
|
const [error, setError] = useState<ApiError | null>(null)
|
||||||
const [data, setData] = useState<{
|
const [data, setData] = useState<ListActivitiesResult>()
|
||||||
activities: {
|
|
||||||
title: string
|
|
||||||
titleEn: string
|
|
||||||
desc: string
|
|
||||||
descEn: string
|
|
||||||
coverUrl: string
|
|
||||||
link: string
|
|
||||||
createdAt: Date
|
|
||||||
updatedAt: Date
|
|
||||||
id: string
|
|
||||||
videoUrl?: string | null
|
|
||||||
ownerId?: string | null
|
|
||||||
isActive?: boolean | null
|
|
||||||
sortOrder?: number | null
|
|
||||||
}[]
|
|
||||||
total: number
|
|
||||||
page: number
|
|
||||||
limit: number
|
|
||||||
totalPages: number
|
|
||||||
}>()
|
|
||||||
|
|
||||||
const load = async (params: {
|
const load = async (params: ListActivitiesInput = { page: 1, limit: 10, orderBy: 'createdAt', order: 'desc' }) => {
|
||||||
page: number;
|
|
||||||
limit: number;
|
|
||||||
orderBy: string;
|
|
||||||
order: string;
|
|
||||||
} = { page: 1, limit: 10, orderBy: 'createdAt', order: 'desc' }) => {
|
|
||||||
try {
|
try {
|
||||||
setLoading(true)
|
setLoading(true)
|
||||||
const activity = root.get(ActivityController)
|
const activity = root.get(ActivityController)
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ import { ApiError } from "@/lib/types"
|
||||||
import { useState } from "react"
|
import { useState } from "react"
|
||||||
import { OWNER_ID } from "@/hooks/constants"
|
import { OWNER_ID } from "@/hooks/constants"
|
||||||
import { root } from '@repo/core'
|
import { root } from '@repo/core'
|
||||||
import { CategoryController, ListCategoriesResult } from "@repo/sdk"
|
import { CategoryController, ListCategoriesResult, ListCategoriesInput } from "@repo/sdk"
|
||||||
import { useError } from "./use-error"
|
import { useError } from "./use-error"
|
||||||
|
|
||||||
export const useCategories = () => {
|
export const useCategories = () => {
|
||||||
|
|
@ -10,15 +10,7 @@ export const useCategories = () => {
|
||||||
const [error, setError] = useState<ApiError | null>(null)
|
const [error, setError] = useState<ApiError | null>(null)
|
||||||
const [data, setData] = useState<ListCategoriesResult>()
|
const [data, setData] = useState<ListCategoriesResult>()
|
||||||
|
|
||||||
const load = async (params?: {
|
const load = async (params?: ListCategoriesInput) => {
|
||||||
page?: number
|
|
||||||
limit?: number
|
|
||||||
isActive?: boolean
|
|
||||||
search?: string
|
|
||||||
categoryIds?: string[]
|
|
||||||
withChildren?: boolean
|
|
||||||
ownerId?: string
|
|
||||||
}) => {
|
|
||||||
try {
|
try {
|
||||||
setLoading(true)
|
setLoading(true)
|
||||||
const category = root.get(CategoryController)
|
const category = root.get(CategoryController)
|
||||||
|
|
|
||||||
|
|
@ -1,20 +1,15 @@
|
||||||
import { ApiError } from "@/lib/types"
|
import { ApiError } from "@/lib/types"
|
||||||
import { useState, useCallback } from "react"
|
import { useState, useCallback } from "react"
|
||||||
import { root } from '@repo/core'
|
import { root } from '@repo/core'
|
||||||
import { TemplateSocialController, GetUserFavoritesResponse } from "@repo/sdk"
|
import { TemplateSocialController, GetUserFavoritesInput, GetUserFavoritesResponse } from "@repo/sdk"
|
||||||
import { useError } from "./use-error"
|
import { useError } from "./use-error"
|
||||||
|
|
||||||
interface UseFavoriteTemplatesParams {
|
|
||||||
page?: number
|
|
||||||
limit?: number
|
|
||||||
}
|
|
||||||
|
|
||||||
export const useFavoriteTemplates = () => {
|
export const useFavoriteTemplates = () => {
|
||||||
const [loading, setLoading] = useState(false)
|
const [loading, setLoading] = useState(false)
|
||||||
const [error, setError] = useState<ApiError | null>(null)
|
const [error, setError] = useState<ApiError | null>(null)
|
||||||
const [data, setData] = useState<GetUserFavoritesResponse | undefined>()
|
const [data, setData] = useState<GetUserFavoritesResponse | undefined>()
|
||||||
|
|
||||||
const execute = useCallback(async (params?: UseFavoriteTemplatesParams) => {
|
const execute = useCallback(async (params?: GetUserFavoritesInput) => {
|
||||||
setLoading(true)
|
setLoading(true)
|
||||||
setError(null)
|
setError(null)
|
||||||
|
|
||||||
|
|
@ -35,7 +30,7 @@ export const useFavoriteTemplates = () => {
|
||||||
return { data, error: null }
|
return { data, error: null }
|
||||||
}, [])
|
}, [])
|
||||||
|
|
||||||
const refetch = useCallback((params?: UseFavoriteTemplatesParams) => {
|
const refetch = useCallback((params?: GetUserFavoritesInput) => {
|
||||||
return execute(params)
|
return execute(params)
|
||||||
}, [execute])
|
}, [execute])
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,24 +1,15 @@
|
||||||
import { ApiError } from "@/lib/types"
|
import { ApiError } from "@/lib/types"
|
||||||
import { useState, useCallback } from "react"
|
import { useState, useCallback } from "react"
|
||||||
import { root } from '@repo/core'
|
import { root } from '@repo/core'
|
||||||
import { RecommendedTemplateController } from "@repo/sdk"
|
import { RecommendedTemplateController, ListPublicRecommendedTemplatesInput, ListPublicRecommendedTemplatesResult } from "@repo/sdk"
|
||||||
import { useError } from "./use-error"
|
import { useError } from "./use-error"
|
||||||
|
|
||||||
type ApiListResult = Awaited<ReturnType<RecommendedTemplateController['listPublic']>>
|
|
||||||
type ListPublicRecommendedTemplatesResult = NonNullable<ApiListResult>
|
|
||||||
|
|
||||||
interface UsePublicTemplatesParams {
|
|
||||||
limit?: number
|
|
||||||
sortBy?: 'sortOrder' | 'likeCount' | 'viewCount' | 'createdAt' | 'updatedAt'
|
|
||||||
sortOrder?: 'asc' | 'desc'
|
|
||||||
}
|
|
||||||
|
|
||||||
export const usePublicTemplates = () => {
|
export const usePublicTemplates = () => {
|
||||||
const [loading, setLoading] = useState(false)
|
const [loading, setLoading] = useState(false)
|
||||||
const [error, setError] = useState<ApiError | null>(null)
|
const [error, setError] = useState<ApiError | null>(null)
|
||||||
const [data, setData] = useState<ListPublicRecommendedTemplatesResult | undefined>()
|
const [data, setData] = useState<ListPublicRecommendedTemplatesResult | undefined>()
|
||||||
|
|
||||||
const execute = useCallback(async (params?: UsePublicTemplatesParams) => {
|
const execute = useCallback(async (params?: ListPublicRecommendedTemplatesInput) => {
|
||||||
setLoading(true)
|
setLoading(true)
|
||||||
setError(null)
|
setError(null)
|
||||||
|
|
||||||
|
|
@ -40,7 +31,7 @@ export const usePublicTemplates = () => {
|
||||||
return { data, error: null }
|
return { data, error: null }
|
||||||
}, [])
|
}, [])
|
||||||
|
|
||||||
const refetch = useCallback((params?: UsePublicTemplatesParams) => {
|
const refetch = useCallback((params?: ListPublicRecommendedTemplatesInput) => {
|
||||||
return execute(params)
|
return execute(params)
|
||||||
}, [execute])
|
}, [execute])
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,25 +1,15 @@
|
||||||
import { ApiError, PaginationParams } from "@/lib/types"
|
import { ApiError } from "@/lib/types"
|
||||||
import { useState, useCallback } from "react"
|
import { useState, useCallback } from "react"
|
||||||
import { root } from '@repo/core'
|
import { root } from '@repo/core'
|
||||||
import { RecommendedTemplateController } from "@repo/sdk"
|
import { RecommendedTemplateController, ListPublicRecommendedTemplatesInput, ListPublicRecommendedTemplatesResult } from "@repo/sdk"
|
||||||
import { useError } from "./use-error"
|
import { useError } from "./use-error"
|
||||||
|
|
||||||
interface UseRecommendedTemplatesParams extends PaginationParams {
|
|
||||||
isActive?: boolean
|
|
||||||
}
|
|
||||||
|
|
||||||
type ApiListResult = Awaited<ReturnType<RecommendedTemplateController['listPublic']>>
|
|
||||||
type ApiData = NonNullable<ApiListResult>
|
|
||||||
|
|
||||||
export type RecommendedTemplate = ApiData['templates'][number]
|
|
||||||
type UseRecommendedTemplatesResponse = ApiData
|
|
||||||
|
|
||||||
export const useRecommendedTemplates = () => {
|
export const useRecommendedTemplates = () => {
|
||||||
const [loading, setLoading] = useState(false)
|
const [loading, setLoading] = useState(false)
|
||||||
const [error, setError] = useState<ApiError | null>(null)
|
const [error, setError] = useState<ApiError | null>(null)
|
||||||
const [data, setData] = useState<UseRecommendedTemplatesResponse | undefined>()
|
const [data, setData] = useState<ListPublicRecommendedTemplatesResult | undefined>()
|
||||||
|
|
||||||
const execute = useCallback(async (params?: UseRecommendedTemplatesParams) => {
|
const execute = useCallback(async (params?: ListPublicRecommendedTemplatesInput) => {
|
||||||
setLoading(true)
|
setLoading(true)
|
||||||
setError(null)
|
setError(null)
|
||||||
|
|
||||||
|
|
@ -41,7 +31,7 @@ export const useRecommendedTemplates = () => {
|
||||||
return { data, error: null }
|
return { data, error: null }
|
||||||
}, [])
|
}, [])
|
||||||
|
|
||||||
const refetch = useCallback((params?: UseRecommendedTemplatesParams) => {
|
const refetch = useCallback((params?: ListPublicRecommendedTemplatesInput) => {
|
||||||
return execute(params)
|
return execute(params)
|
||||||
}, [execute])
|
}, [execute])
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,20 +2,14 @@ import { ApiError } from "@/lib/types"
|
||||||
import { useState } from "react"
|
import { useState } from "react"
|
||||||
import { OWNER_ID } from '@/hooks/constants'
|
import { OWNER_ID } from '@/hooks/constants'
|
||||||
import { root } from '@repo/core'
|
import { root } from '@repo/core'
|
||||||
import { TagController, ListTagsResult } from "@repo/sdk"
|
import { TagController, ListTagsResult, ListTagsInput } from "@repo/sdk"
|
||||||
import { useError } from "./use-error"
|
import { useError } from "./use-error"
|
||||||
export const useTags = () => {
|
export const useTags = () => {
|
||||||
const [loading, setLoading] = useState(false)
|
const [loading, setLoading] = useState(false)
|
||||||
const [error, setError] = useState<ApiError | null>(null)
|
const [error, setError] = useState<ApiError | null>(null)
|
||||||
const [data, setData] = useState<ListTagsResult>()
|
const [data, setData] = useState<ListTagsResult>()
|
||||||
|
|
||||||
const load = async (params?: {
|
const load = async (params?: ListTagsInput) => {
|
||||||
page?: number
|
|
||||||
limit?: number
|
|
||||||
search?: string
|
|
||||||
ownerId?: string
|
|
||||||
categoryIds?: string[]
|
|
||||||
}) => {
|
|
||||||
try {
|
try {
|
||||||
setLoading(true)
|
setLoading(true)
|
||||||
const tag = root.get(TagController)
|
const tag = root.get(TagController)
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,7 @@
|
||||||
import { ApiError } from "@/lib/types"
|
import { ApiError } from "@/lib/types"
|
||||||
import { useState, useCallback } from "react"
|
import { useState, useCallback } from "react"
|
||||||
import type { TemplateGeneration } from "./use-template-generations"
|
|
||||||
import { root } from '@repo/core'
|
import { root } from '@repo/core'
|
||||||
import { TemplateGenerationController } from "@repo/sdk"
|
import { TemplateGenerationController, TemplateGeneration } from "@repo/sdk"
|
||||||
import { useError } from "./use-error"
|
import { useError } from "./use-error"
|
||||||
|
|
||||||
interface GetParams {
|
interface GetParams {
|
||||||
|
|
|
||||||
|
|
@ -1,28 +1,15 @@
|
||||||
import { ApiError, PaginationParams } from "@/lib/types"
|
import { ApiError } from "@/lib/types"
|
||||||
import { useState, useCallback } from "react"
|
import { useState, useCallback } from "react"
|
||||||
import { root } from '@repo/core'
|
import { root } from '@repo/core'
|
||||||
import { TemplateGenerationController } from "@repo/sdk"
|
import { TemplateGenerationController, ListTemplateGenerationsInput, ListTemplateGenerationsResult } from "@repo/sdk"
|
||||||
import { useError } from "./use-error"
|
import { useError } from "./use-error"
|
||||||
|
|
||||||
type ApiListResult = Awaited<ReturnType<TemplateGenerationController['list']>>
|
|
||||||
type ApiData = NonNullable<ApiListResult>
|
|
||||||
|
|
||||||
export type TemplateGeneration = ApiData['data'][number]
|
|
||||||
type ListResponse = ApiData
|
|
||||||
|
|
||||||
interface ListParams extends PaginationParams {
|
|
||||||
userId?: string
|
|
||||||
templateId?: string
|
|
||||||
status?: "pending" | "processing" | "completed" | "failed"
|
|
||||||
search?: string
|
|
||||||
}
|
|
||||||
|
|
||||||
export const useTemplateGenerations = () => {
|
export const useTemplateGenerations = () => {
|
||||||
const [loading, setLoading] = useState(false)
|
const [loading, setLoading] = useState(false)
|
||||||
const [error, setError] = useState<ApiError | null>(null)
|
const [error, setError] = useState<ApiError | null>(null)
|
||||||
const [data, setData] = useState<ListResponse | undefined>()
|
const [data, setData] = useState<ListTemplateGenerationsResult | undefined>()
|
||||||
|
|
||||||
const load = useCallback(async (params?: ListParams) => {
|
const load = useCallback(async (params?: ListTemplateGenerationsInput) => {
|
||||||
setLoading(true)
|
setLoading(true)
|
||||||
setError(null)
|
setError(null)
|
||||||
|
|
||||||
|
|
@ -44,7 +31,7 @@ export const useTemplateGenerations = () => {
|
||||||
return { data, error: null }
|
return { data, error: null }
|
||||||
}, [])
|
}, [])
|
||||||
|
|
||||||
const refetch = useCallback((params?: ListParams) => {
|
const refetch = useCallback((params?: ListTemplateGenerationsInput) => {
|
||||||
return load(params)
|
return load(params)
|
||||||
}, [load])
|
}, [load])
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,26 +1,16 @@
|
||||||
import { ApiError, PaginationParams } from "@/lib/types"
|
import { ApiError } from "@/lib/types"
|
||||||
import { useState, useCallback } from "react"
|
import { useState, useCallback } from "react"
|
||||||
import { OWNER_ID } from "@/hooks/constants"
|
import { OWNER_ID } from "@/hooks/constants"
|
||||||
import { root } from '@repo/core'
|
import { root } from '@repo/core'
|
||||||
import { TemplateController, ListTemplatesInput, ListTemplatesResult } from "@repo/sdk"
|
import { TemplateController, ListTemplatesInput, ListTemplatesResult } from "@repo/sdk"
|
||||||
import { useError } from "./use-error"
|
import { useError } from "./use-error"
|
||||||
|
|
||||||
interface UseTemplatesParams extends PaginationParams {
|
|
||||||
search?: string
|
|
||||||
categoryId?: string
|
|
||||||
isActive?: boolean
|
|
||||||
status?: string
|
|
||||||
ownerId?: string
|
|
||||||
sortBy?: 'sortOrder' | 'likeCount' | 'viewCount' | 'createdAt' | 'updatedAt'
|
|
||||||
sortOrder?: 'asc' | 'desc'
|
|
||||||
}
|
|
||||||
|
|
||||||
export const useTemplates = () => {
|
export const useTemplates = () => {
|
||||||
const [loading, setLoading] = useState(false)
|
const [loading, setLoading] = useState(false)
|
||||||
const [error, setError] = useState<ApiError | null>(null)
|
const [error, setError] = useState<ApiError | null>(null)
|
||||||
const [data, setData] = useState<ListTemplatesResult | undefined>()
|
const [data, setData] = useState<ListTemplatesResult | undefined>()
|
||||||
|
|
||||||
const execute = useCallback(async (params?: UseTemplatesParams) => {
|
const execute = useCallback(async (params?: ListTemplatesInput) => {
|
||||||
setLoading(true)
|
setLoading(true)
|
||||||
setError(null)
|
setError(null)
|
||||||
|
|
||||||
|
|
@ -44,7 +34,7 @@ export const useTemplates = () => {
|
||||||
return { data, error: null }
|
return { data, error: null }
|
||||||
}, [])
|
}, [])
|
||||||
|
|
||||||
const refetch = useCallback((params?: UseTemplatesParams) => {
|
const refetch = useCallback((params?: ListTemplatesInput) => {
|
||||||
return execute(params)
|
return execute(params)
|
||||||
}, [execute])
|
}, [execute])
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue