Commit bac1bd7d authored by Phạm Quang Bảo's avatar Phạm Quang Bảo

[tag]0.1-vcci

parents 3dbf9c1a 5e53e38c
Pipeline #53873 canceled with stages
in 0 seconds
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* VietProDev CMS Backend API
* Generated API documentation
* OpenAPI spec version: 1.0.0
*/
import {
useInfiniteQuery,
useMutation,
useQuery
} from '@tanstack/react-query';
import type {
DataTag,
DefinedInitialDataOptions,
DefinedUseInfiniteQueryResult,
DefinedUseQueryResult,
InfiniteData,
MutationFunction,
QueryClient,
QueryFunction,
QueryKey,
UndefinedInitialDataOptions,
UseInfiniteQueryOptions,
UseInfiniteQueryResult,
UseMutationOptions,
UseMutationResult,
UseQueryOptions,
UseQueryResult
} from '@tanstack/react-query';
import type {
GetApiV10PageConfigParams,
PostApiV10PageConfigBody,
PutApiV10PageConfigIdBody
} from '../models';
import { useCustomClient } from '../mutator/custom-client';
import type { ErrorType , BodyType } from '../mutator/custom-client';
type SecondParameter<T extends (...args: never) => unknown> = Parameters<T>[1];
/**
* Retrieve hierarchical page config by its ID
* @summary Get hierarchical pageConfig by ID
*/
export const getApiV10PageConfigId = (
id: string,
options?: SecondParameter<typeof useCustomClient>,signal?: AbortSignal
) => {
return useCustomClient<void>(
{url: `/api/v1.0/pageConfig/${id}`, method: 'GET', signal
},
options);
}
export const getGetApiV10PageConfigIdInfiniteQueryKey = (id?: string,) => {
return [
'infinite', `/api/v1.0/pageConfig/${id}`
] as const;
}
export const getGetApiV10PageConfigIdQueryKey = (id?: string,) => {
return [
`/api/v1.0/pageConfig/${id}`
] as const;
}
export const getGetApiV10PageConfigIdInfiniteQueryOptions = <TData = InfiniteData<Awaited<ReturnType<typeof getApiV10PageConfigId>>>, TError = ErrorType<void>>(id: string, options?: { query?:Partial<UseInfiniteQueryOptions<Awaited<ReturnType<typeof getApiV10PageConfigId>>, TError, TData>>, request?: SecondParameter<typeof useCustomClient>}
) => {
const {query: queryOptions, request: requestOptions} = options ?? {};
const queryKey = queryOptions?.queryKey ?? getGetApiV10PageConfigIdInfiniteQueryKey(id);
const queryFn: QueryFunction<Awaited<ReturnType<typeof getApiV10PageConfigId>>> = ({ signal }) => getApiV10PageConfigId(id, requestOptions, signal);
return { queryKey, queryFn, enabled: !!(id), retry: 3, retryDelay: 1000, ...queryOptions} as UseInfiniteQueryOptions<Awaited<ReturnType<typeof getApiV10PageConfigId>>, TError, TData> & { queryKey: DataTag<QueryKey, TData, TError> }
}
export type GetApiV10PageConfigIdInfiniteQueryResult = NonNullable<Awaited<ReturnType<typeof getApiV10PageConfigId>>>
export type GetApiV10PageConfigIdInfiniteQueryError = ErrorType<void>
export function useGetApiV10PageConfigIdInfinite<TData = InfiniteData<Awaited<ReturnType<typeof getApiV10PageConfigId>>>, TError = ErrorType<void>>(
id: string, options: { query:Partial<UseInfiniteQueryOptions<Awaited<ReturnType<typeof getApiV10PageConfigId>>, TError, TData>> & Pick<
DefinedInitialDataOptions<
Awaited<ReturnType<typeof getApiV10PageConfigId>>,
TError,
Awaited<ReturnType<typeof getApiV10PageConfigId>>
> , 'initialData'
>, request?: SecondParameter<typeof useCustomClient>}
, queryClient?: QueryClient
): DefinedUseInfiniteQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
export function useGetApiV10PageConfigIdInfinite<TData = InfiniteData<Awaited<ReturnType<typeof getApiV10PageConfigId>>>, TError = ErrorType<void>>(
id: string, options?: { query?:Partial<UseInfiniteQueryOptions<Awaited<ReturnType<typeof getApiV10PageConfigId>>, TError, TData>> & Pick<
UndefinedInitialDataOptions<
Awaited<ReturnType<typeof getApiV10PageConfigId>>,
TError,
Awaited<ReturnType<typeof getApiV10PageConfigId>>
> , 'initialData'
>, request?: SecondParameter<typeof useCustomClient>}
, queryClient?: QueryClient
): UseInfiniteQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
export function useGetApiV10PageConfigIdInfinite<TData = InfiniteData<Awaited<ReturnType<typeof getApiV10PageConfigId>>>, TError = ErrorType<void>>(
id: string, options?: { query?:Partial<UseInfiniteQueryOptions<Awaited<ReturnType<typeof getApiV10PageConfigId>>, TError, TData>>, request?: SecondParameter<typeof useCustomClient>}
, queryClient?: QueryClient
): UseInfiniteQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
/**
* @summary Get hierarchical pageConfig by ID
*/
export function useGetApiV10PageConfigIdInfinite<TData = InfiniteData<Awaited<ReturnType<typeof getApiV10PageConfigId>>>, TError = ErrorType<void>>(
id: string, options?: { query?:Partial<UseInfiniteQueryOptions<Awaited<ReturnType<typeof getApiV10PageConfigId>>, TError, TData>>, request?: SecondParameter<typeof useCustomClient>}
, queryClient?: QueryClient
): UseInfiniteQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> } {
const queryOptions = getGetApiV10PageConfigIdInfiniteQueryOptions(id,options)
const query = useInfiniteQuery(queryOptions, queryClient) as UseInfiniteQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> };
query.queryKey = queryOptions.queryKey ;
return query;
}
/**
* @summary Get hierarchical pageConfig by ID
*/
export const prefetchGetApiV10PageConfigIdInfiniteQuery = async <TData = Awaited<ReturnType<typeof getApiV10PageConfigId>>, TError = ErrorType<void>>(
queryClient: QueryClient, id: string, options?: { query?:Partial<UseInfiniteQueryOptions<Awaited<ReturnType<typeof getApiV10PageConfigId>>, TError, TData>>, request?: SecondParameter<typeof useCustomClient>}
): Promise<QueryClient> => {
const queryOptions = getGetApiV10PageConfigIdInfiniteQueryOptions(id,options)
await queryClient.prefetchInfiniteQuery(queryOptions);
return queryClient;
}
export const getGetApiV10PageConfigIdQueryOptions = <TData = Awaited<ReturnType<typeof getApiV10PageConfigId>>, TError = ErrorType<void>>(id: string, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getApiV10PageConfigId>>, TError, TData>>, request?: SecondParameter<typeof useCustomClient>}
) => {
const {query: queryOptions, request: requestOptions} = options ?? {};
const queryKey = queryOptions?.queryKey ?? getGetApiV10PageConfigIdQueryKey(id);
const queryFn: QueryFunction<Awaited<ReturnType<typeof getApiV10PageConfigId>>> = ({ signal }) => getApiV10PageConfigId(id, requestOptions, signal);
return { queryKey, queryFn, enabled: !!(id), retry: 3, retryDelay: 1000, ...queryOptions} as UseQueryOptions<Awaited<ReturnType<typeof getApiV10PageConfigId>>, TError, TData> & { queryKey: DataTag<QueryKey, TData, TError> }
}
export type GetApiV10PageConfigIdQueryResult = NonNullable<Awaited<ReturnType<typeof getApiV10PageConfigId>>>
export type GetApiV10PageConfigIdQueryError = ErrorType<void>
export function useGetApiV10PageConfigId<TData = Awaited<ReturnType<typeof getApiV10PageConfigId>>, TError = ErrorType<void>>(
id: string, options: { query:Partial<UseQueryOptions<Awaited<ReturnType<typeof getApiV10PageConfigId>>, TError, TData>> & Pick<
DefinedInitialDataOptions<
Awaited<ReturnType<typeof getApiV10PageConfigId>>,
TError,
Awaited<ReturnType<typeof getApiV10PageConfigId>>
> , 'initialData'
>, request?: SecondParameter<typeof useCustomClient>}
, queryClient?: QueryClient
): DefinedUseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
export function useGetApiV10PageConfigId<TData = Awaited<ReturnType<typeof getApiV10PageConfigId>>, TError = ErrorType<void>>(
id: string, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getApiV10PageConfigId>>, TError, TData>> & Pick<
UndefinedInitialDataOptions<
Awaited<ReturnType<typeof getApiV10PageConfigId>>,
TError,
Awaited<ReturnType<typeof getApiV10PageConfigId>>
> , 'initialData'
>, request?: SecondParameter<typeof useCustomClient>}
, queryClient?: QueryClient
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
export function useGetApiV10PageConfigId<TData = Awaited<ReturnType<typeof getApiV10PageConfigId>>, TError = ErrorType<void>>(
id: string, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getApiV10PageConfigId>>, TError, TData>>, request?: SecondParameter<typeof useCustomClient>}
, queryClient?: QueryClient
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
/**
* @summary Get hierarchical pageConfig by ID
*/
export function useGetApiV10PageConfigId<TData = Awaited<ReturnType<typeof getApiV10PageConfigId>>, TError = ErrorType<void>>(
id: string, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getApiV10PageConfigId>>, TError, TData>>, request?: SecondParameter<typeof useCustomClient>}
, queryClient?: QueryClient
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> } {
const queryOptions = getGetApiV10PageConfigIdQueryOptions(id,options)
const query = useQuery(queryOptions, queryClient) as UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> };
query.queryKey = queryOptions.queryKey ;
return query;
}
/**
* @summary Get hierarchical pageConfig by ID
*/
export const prefetchGetApiV10PageConfigIdQuery = async <TData = Awaited<ReturnType<typeof getApiV10PageConfigId>>, TError = ErrorType<void>>(
queryClient: QueryClient, id: string, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getApiV10PageConfigId>>, TError, TData>>, request?: SecondParameter<typeof useCustomClient>}
): Promise<QueryClient> => {
const queryOptions = getGetApiV10PageConfigIdQueryOptions(id,options)
await queryClient.prefetchQuery(queryOptions);
return queryClient;
}
/**
* Update a single pageConfig record by its ID. level is computed if parent_id changes and must not be sent.
* @summary Update pageConfig by ID
*/
export const putApiV10PageConfigId = (
id: string,
putApiV10PageConfigIdBody: BodyType<PutApiV10PageConfigIdBody>,
options?: SecondParameter<typeof useCustomClient>,) => {
return useCustomClient<void>(
{url: `/api/v1.0/pageConfig/${id}`, method: 'PUT',
headers: {'Content-Type': 'application/json', },
data: putApiV10PageConfigIdBody
},
options);
}
export const getPutApiV10PageConfigIdMutationOptions = <TError = ErrorType<void>,
TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof putApiV10PageConfigId>>, TError,{id: string;data: BodyType<PutApiV10PageConfigIdBody>}, TContext>, request?: SecondParameter<typeof useCustomClient>}
): UseMutationOptions<Awaited<ReturnType<typeof putApiV10PageConfigId>>, TError,{id: string;data: BodyType<PutApiV10PageConfigIdBody>}, TContext> => {
const mutationKey = ['putApiV10PageConfigId'];
const {mutation: mutationOptions, request: requestOptions} = options ?
options.mutation && 'mutationKey' in options.mutation && options.mutation.mutationKey ?
options
: {...options, mutation: {...options.mutation, mutationKey}}
: {mutation: { mutationKey, }, request: undefined};
const mutationFn: MutationFunction<Awaited<ReturnType<typeof putApiV10PageConfigId>>, {id: string;data: BodyType<PutApiV10PageConfigIdBody>}> = (props) => {
const {id,data} = props ?? {};
return putApiV10PageConfigId(id,data,requestOptions)
}
return { mutationFn, ...mutationOptions }}
export type PutApiV10PageConfigIdMutationResult = NonNullable<Awaited<ReturnType<typeof putApiV10PageConfigId>>>
export type PutApiV10PageConfigIdMutationBody = BodyType<PutApiV10PageConfigIdBody>
export type PutApiV10PageConfigIdMutationError = ErrorType<void>
/**
* @summary Update pageConfig by ID
*/
export const usePutApiV10PageConfigId = <TError = ErrorType<void>,
TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof putApiV10PageConfigId>>, TError,{id: string;data: BodyType<PutApiV10PageConfigIdBody>}, TContext>, request?: SecondParameter<typeof useCustomClient>}
, queryClient?: QueryClient): UseMutationResult<
Awaited<ReturnType<typeof putApiV10PageConfigId>>,
TError,
{id: string;data: BodyType<PutApiV10PageConfigIdBody>},
TContext
> => {
const mutationOptions = getPutApiV10PageConfigIdMutationOptions(options);
return useMutation(mutationOptions, queryClient);
}
/**
* Delete a single pageConfig record by its ID
* @summary Delete pageConfig by ID
*/
export const deleteApiV10PageConfigId = (
id: string,
options?: SecondParameter<typeof useCustomClient>,) => {
return useCustomClient<void>(
{url: `/api/v1.0/pageConfig/${id}`, method: 'DELETE'
},
options);
}
export const getDeleteApiV10PageConfigIdMutationOptions = <TError = ErrorType<void>,
TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof deleteApiV10PageConfigId>>, TError,{id: string}, TContext>, request?: SecondParameter<typeof useCustomClient>}
): UseMutationOptions<Awaited<ReturnType<typeof deleteApiV10PageConfigId>>, TError,{id: string}, TContext> => {
const mutationKey = ['deleteApiV10PageConfigId'];
const {mutation: mutationOptions, request: requestOptions} = options ?
options.mutation && 'mutationKey' in options.mutation && options.mutation.mutationKey ?
options
: {...options, mutation: {...options.mutation, mutationKey}}
: {mutation: { mutationKey, }, request: undefined};
const mutationFn: MutationFunction<Awaited<ReturnType<typeof deleteApiV10PageConfigId>>, {id: string}> = (props) => {
const {id} = props ?? {};
return deleteApiV10PageConfigId(id,requestOptions)
}
return { mutationFn, ...mutationOptions }}
export type DeleteApiV10PageConfigIdMutationResult = NonNullable<Awaited<ReturnType<typeof deleteApiV10PageConfigId>>>
export type DeleteApiV10PageConfigIdMutationError = ErrorType<void>
/**
* @summary Delete pageConfig by ID
*/
export const useDeleteApiV10PageConfigId = <TError = ErrorType<void>,
TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof deleteApiV10PageConfigId>>, TError,{id: string}, TContext>, request?: SecondParameter<typeof useCustomClient>}
, queryClient?: QueryClient): UseMutationResult<
Awaited<ReturnType<typeof deleteApiV10PageConfigId>>,
TError,
{id: string},
TContext
> => {
const mutationOptions = getDeleteApiV10PageConfigIdMutationOptions(options);
return useMutation(mutationOptions, queryClient);
}
/**
* Retrieve hierarchical page config by id, static_link, or code. If no parameters are provided, returns the root hierarchical structure.
* @summary Get hierarchical pageConfig
*/
export const getApiV10PageConfig = (
params?: GetApiV10PageConfigParams,
options?: SecondParameter<typeof useCustomClient>,signal?: AbortSignal
) => {
return useCustomClient<void>(
{url: `/api/v1.0/pageConfig`, method: 'GET',
params, signal
},
options);
}
export const getGetApiV10PageConfigInfiniteQueryKey = (params?: GetApiV10PageConfigParams,) => {
return [
'infinite', `/api/v1.0/pageConfig`, ...(params ? [params]: [])
] as const;
}
export const getGetApiV10PageConfigQueryKey = (params?: GetApiV10PageConfigParams,) => {
return [
`/api/v1.0/pageConfig`, ...(params ? [params]: [])
] as const;
}
export const getGetApiV10PageConfigInfiniteQueryOptions = <TData = InfiniteData<Awaited<ReturnType<typeof getApiV10PageConfig>>>, TError = ErrorType<unknown>>(params?: GetApiV10PageConfigParams, options?: { query?:Partial<UseInfiniteQueryOptions<Awaited<ReturnType<typeof getApiV10PageConfig>>, TError, TData>>, request?: SecondParameter<typeof useCustomClient>}
) => {
const {query: queryOptions, request: requestOptions} = options ?? {};
const queryKey = queryOptions?.queryKey ?? getGetApiV10PageConfigInfiniteQueryKey(params);
const queryFn: QueryFunction<Awaited<ReturnType<typeof getApiV10PageConfig>>> = ({ signal }) => getApiV10PageConfig(params, requestOptions, signal);
return { queryKey, queryFn, retry: 3, retryDelay: 1000, ...queryOptions} as UseInfiniteQueryOptions<Awaited<ReturnType<typeof getApiV10PageConfig>>, TError, TData> & { queryKey: DataTag<QueryKey, TData, TError> }
}
export type GetApiV10PageConfigInfiniteQueryResult = NonNullable<Awaited<ReturnType<typeof getApiV10PageConfig>>>
export type GetApiV10PageConfigInfiniteQueryError = ErrorType<unknown>
export function useGetApiV10PageConfigInfinite<TData = InfiniteData<Awaited<ReturnType<typeof getApiV10PageConfig>>>, TError = ErrorType<unknown>>(
params: undefined | GetApiV10PageConfigParams, options: { query:Partial<UseInfiniteQueryOptions<Awaited<ReturnType<typeof getApiV10PageConfig>>, TError, TData>> & Pick<
DefinedInitialDataOptions<
Awaited<ReturnType<typeof getApiV10PageConfig>>,
TError,
Awaited<ReturnType<typeof getApiV10PageConfig>>
> , 'initialData'
>, request?: SecondParameter<typeof useCustomClient>}
, queryClient?: QueryClient
): DefinedUseInfiniteQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
export function useGetApiV10PageConfigInfinite<TData = InfiniteData<Awaited<ReturnType<typeof getApiV10PageConfig>>>, TError = ErrorType<unknown>>(
params?: GetApiV10PageConfigParams, options?: { query?:Partial<UseInfiniteQueryOptions<Awaited<ReturnType<typeof getApiV10PageConfig>>, TError, TData>> & Pick<
UndefinedInitialDataOptions<
Awaited<ReturnType<typeof getApiV10PageConfig>>,
TError,
Awaited<ReturnType<typeof getApiV10PageConfig>>
> , 'initialData'
>, request?: SecondParameter<typeof useCustomClient>}
, queryClient?: QueryClient
): UseInfiniteQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
export function useGetApiV10PageConfigInfinite<TData = InfiniteData<Awaited<ReturnType<typeof getApiV10PageConfig>>>, TError = ErrorType<unknown>>(
params?: GetApiV10PageConfigParams, options?: { query?:Partial<UseInfiniteQueryOptions<Awaited<ReturnType<typeof getApiV10PageConfig>>, TError, TData>>, request?: SecondParameter<typeof useCustomClient>}
, queryClient?: QueryClient
): UseInfiniteQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
/**
* @summary Get hierarchical pageConfig
*/
export function useGetApiV10PageConfigInfinite<TData = InfiniteData<Awaited<ReturnType<typeof getApiV10PageConfig>>>, TError = ErrorType<unknown>>(
params?: GetApiV10PageConfigParams, options?: { query?:Partial<UseInfiniteQueryOptions<Awaited<ReturnType<typeof getApiV10PageConfig>>, TError, TData>>, request?: SecondParameter<typeof useCustomClient>}
, queryClient?: QueryClient
): UseInfiniteQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> } {
const queryOptions = getGetApiV10PageConfigInfiniteQueryOptions(params,options)
const query = useInfiniteQuery(queryOptions, queryClient) as UseInfiniteQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> };
query.queryKey = queryOptions.queryKey ;
return query;
}
/**
* @summary Get hierarchical pageConfig
*/
export const prefetchGetApiV10PageConfigInfiniteQuery = async <TData = Awaited<ReturnType<typeof getApiV10PageConfig>>, TError = ErrorType<unknown>>(
queryClient: QueryClient, params?: GetApiV10PageConfigParams, options?: { query?:Partial<UseInfiniteQueryOptions<Awaited<ReturnType<typeof getApiV10PageConfig>>, TError, TData>>, request?: SecondParameter<typeof useCustomClient>}
): Promise<QueryClient> => {
const queryOptions = getGetApiV10PageConfigInfiniteQueryOptions(params,options)
await queryClient.prefetchInfiniteQuery(queryOptions);
return queryClient;
}
export const getGetApiV10PageConfigQueryOptions = <TData = Awaited<ReturnType<typeof getApiV10PageConfig>>, TError = ErrorType<unknown>>(params?: GetApiV10PageConfigParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getApiV10PageConfig>>, TError, TData>>, request?: SecondParameter<typeof useCustomClient>}
) => {
const {query: queryOptions, request: requestOptions} = options ?? {};
const queryKey = queryOptions?.queryKey ?? getGetApiV10PageConfigQueryKey(params);
const queryFn: QueryFunction<Awaited<ReturnType<typeof getApiV10PageConfig>>> = ({ signal }) => getApiV10PageConfig(params, requestOptions, signal);
return { queryKey, queryFn, retry: 3, retryDelay: 1000, ...queryOptions} as UseQueryOptions<Awaited<ReturnType<typeof getApiV10PageConfig>>, TError, TData> & { queryKey: DataTag<QueryKey, TData, TError> }
}
export type GetApiV10PageConfigQueryResult = NonNullable<Awaited<ReturnType<typeof getApiV10PageConfig>>>
export type GetApiV10PageConfigQueryError = ErrorType<unknown>
export function useGetApiV10PageConfig<TData = Awaited<ReturnType<typeof getApiV10PageConfig>>, TError = ErrorType<unknown>>(
params: undefined | GetApiV10PageConfigParams, options: { query:Partial<UseQueryOptions<Awaited<ReturnType<typeof getApiV10PageConfig>>, TError, TData>> & Pick<
DefinedInitialDataOptions<
Awaited<ReturnType<typeof getApiV10PageConfig>>,
TError,
Awaited<ReturnType<typeof getApiV10PageConfig>>
> , 'initialData'
>, request?: SecondParameter<typeof useCustomClient>}
, queryClient?: QueryClient
): DefinedUseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
export function useGetApiV10PageConfig<TData = Awaited<ReturnType<typeof getApiV10PageConfig>>, TError = ErrorType<unknown>>(
params?: GetApiV10PageConfigParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getApiV10PageConfig>>, TError, TData>> & Pick<
UndefinedInitialDataOptions<
Awaited<ReturnType<typeof getApiV10PageConfig>>,
TError,
Awaited<ReturnType<typeof getApiV10PageConfig>>
> , 'initialData'
>, request?: SecondParameter<typeof useCustomClient>}
, queryClient?: QueryClient
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
export function useGetApiV10PageConfig<TData = Awaited<ReturnType<typeof getApiV10PageConfig>>, TError = ErrorType<unknown>>(
params?: GetApiV10PageConfigParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getApiV10PageConfig>>, TError, TData>>, request?: SecondParameter<typeof useCustomClient>}
, queryClient?: QueryClient
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> }
/**
* @summary Get hierarchical pageConfig
*/
export function useGetApiV10PageConfig<TData = Awaited<ReturnType<typeof getApiV10PageConfig>>, TError = ErrorType<unknown>>(
params?: GetApiV10PageConfigParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getApiV10PageConfig>>, TError, TData>>, request?: SecondParameter<typeof useCustomClient>}
, queryClient?: QueryClient
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> } {
const queryOptions = getGetApiV10PageConfigQueryOptions(params,options)
const query = useQuery(queryOptions, queryClient) as UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData, TError> };
query.queryKey = queryOptions.queryKey ;
return query;
}
/**
* @summary Get hierarchical pageConfig
*/
export const prefetchGetApiV10PageConfigQuery = async <TData = Awaited<ReturnType<typeof getApiV10PageConfig>>, TError = ErrorType<unknown>>(
queryClient: QueryClient, params?: GetApiV10PageConfigParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getApiV10PageConfig>>, TError, TData>>, request?: SecondParameter<typeof useCustomClient>}
): Promise<QueryClient> => {
const queryOptions = getGetApiV10PageConfigQueryOptions(params,options)
await queryClient.prefetchQuery(queryOptions);
return queryClient;
}
/**
* Create a new pageConfig record. parent_id is required. level is computed from parent and must not be sent.
* @summary Create a pageConfig
*/
export const postApiV10PageConfig = (
postApiV10PageConfigBody: BodyType<PostApiV10PageConfigBody>,
options?: SecondParameter<typeof useCustomClient>,signal?: AbortSignal
) => {
return useCustomClient<void>(
{url: `/api/v1.0/pageConfig`, method: 'POST',
headers: {'Content-Type': 'application/json', },
data: postApiV10PageConfigBody, signal
},
options);
}
export const getPostApiV10PageConfigMutationOptions = <TError = ErrorType<unknown>,
TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof postApiV10PageConfig>>, TError,{data: BodyType<PostApiV10PageConfigBody>}, TContext>, request?: SecondParameter<typeof useCustomClient>}
): UseMutationOptions<Awaited<ReturnType<typeof postApiV10PageConfig>>, TError,{data: BodyType<PostApiV10PageConfigBody>}, TContext> => {
const mutationKey = ['postApiV10PageConfig'];
const {mutation: mutationOptions, request: requestOptions} = options ?
options.mutation && 'mutationKey' in options.mutation && options.mutation.mutationKey ?
options
: {...options, mutation: {...options.mutation, mutationKey}}
: {mutation: { mutationKey, }, request: undefined};
const mutationFn: MutationFunction<Awaited<ReturnType<typeof postApiV10PageConfig>>, {data: BodyType<PostApiV10PageConfigBody>}> = (props) => {
const {data} = props ?? {};
return postApiV10PageConfig(data,requestOptions)
}
return { mutationFn, ...mutationOptions }}
export type PostApiV10PageConfigMutationResult = NonNullable<Awaited<ReturnType<typeof postApiV10PageConfig>>>
export type PostApiV10PageConfigMutationBody = BodyType<PostApiV10PageConfigBody>
export type PostApiV10PageConfigMutationError = ErrorType<unknown>
/**
* @summary Create a pageConfig
*/
export const usePostApiV10PageConfig = <TError = ErrorType<unknown>,
TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof postApiV10PageConfig>>, TError,{data: BodyType<PostApiV10PageConfigBody>}, TContext>, request?: SecondParameter<typeof useCustomClient>}
, queryClient?: QueryClient): UseMutationResult<
Awaited<ReturnType<typeof postApiV10PageConfig>>,
TError,
{data: BodyType<PostApiV10PageConfigBody>},
TContext
> => {
const mutationOptions = getPostApiV10PageConfigMutationOptions(options);
return useMutation(mutationOptions, queryClient);
}
\ No newline at end of file
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { ApiResponse } from './apiResponse';
import type { DeleteAdvertisementId200AllOf } from './deleteAdvertisementId200AllOf';
export type DeleteAdvertisementId200 = ApiResponse & DeleteAdvertisementId200AllOf;
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
export type DeleteAdvertisementId200AllOf = {
responseData?: boolean;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { ApiResponse } from './apiResponse';
import type { DeleteBannerId200AllOf } from './deleteBannerId200AllOf';
export type DeleteBannerId200 = ApiResponse & DeleteBannerId200AllOf;
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
export type DeleteBannerId200AllOf = {
responseData?: boolean;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { ApiResponse } from './apiResponse';
import type { DeleteCategoryId200AllOf } from './deleteCategoryId200AllOf';
export type DeleteCategoryId200 = ApiResponse & DeleteCategoryId200AllOf;
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
export type DeleteCategoryId200AllOf = {
responseData?: boolean;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { ApiResponse } from './apiResponse';
import type { DeleteContactId200AllOf } from './deleteContactId200AllOf';
export type DeleteContactId200 = ApiResponse & DeleteContactId200AllOf;
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
export type DeleteContactId200AllOf = {
responseData?: boolean;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { ApiResponse } from './apiResponse';
import type { DeleteFileId200AllOf } from './deleteFileId200AllOf';
export type DeleteFileId200 = ApiResponse & DeleteFileId200AllOf;
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
export type DeleteFileId200AllOf = {
responseData?: boolean;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { ApiResponse } from './apiResponse';
import type { DeleteLogoId200AllOf } from './deleteLogoId200AllOf';
export type DeleteLogoId200 = ApiResponse & DeleteLogoId200AllOf;
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
export type DeleteLogoId200AllOf = {
responseData?: boolean;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { ApiResponse } from './apiResponse';
import type { DeletePermissionBulk200AllOf } from './deletePermissionBulk200AllOf';
export type DeletePermissionBulk200 = ApiResponse & DeletePermissionBulk200AllOf;
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { DeletePermissionBulk200AllOfResponseData } from './deletePermissionBulk200AllOfResponseData';
export type DeletePermissionBulk200AllOf = {
responseData?: DeletePermissionBulk200AllOfResponseData;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
export type DeletePermissionBulk200AllOfResponseData = {
deletedCount?: number;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { ApiResponse } from './apiResponse';
import type { DeletePositionId200AllOf } from './deletePositionId200AllOf';
export type DeletePositionId200 = ApiResponse & DeletePositionId200AllOf;
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
export type DeletePositionId200AllOf = {
responseData?: boolean;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
export type DeletePostCategoryPostIdParams = {
category_id: string;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { ApiResponse } from './apiResponse';
import type { DeletePostId200AllOf } from './deletePostId200AllOf';
export type DeletePostId200 = ApiResponse & DeletePostId200AllOf;
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
export type DeletePostId200AllOf = {
responseData?: boolean;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
export type DeletePostTagPostIdParams = {
tag_id: string;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { ApiResponse } from './apiResponse';
import type { DeleteRoleBulk200AllOf } from './deleteRoleBulk200AllOf';
export type DeleteRoleBulk200 = ApiResponse & DeleteRoleBulk200AllOf;
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { DeleteRoleBulk200AllOfResponseData } from './deleteRoleBulk200AllOfResponseData';
export type DeleteRoleBulk200AllOf = {
responseData?: DeleteRoleBulk200AllOfResponseData;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
export type DeleteRoleBulk200AllOfResponseData = {
deletedCount?: number;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { ApiResponse } from './apiResponse';
import type { DeleteRolePermissionBulk200AllOf } from './deleteRolePermissionBulk200AllOf';
export type DeleteRolePermissionBulk200 = ApiResponse & DeleteRolePermissionBulk200AllOf;
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { DeleteRolePermissionBulk200AllOfResponseData } from './deleteRolePermissionBulk200AllOfResponseData';
export type DeleteRolePermissionBulk200AllOf = {
responseData?: DeleteRolePermissionBulk200AllOfResponseData;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
export type DeleteRolePermissionBulk200AllOfResponseData = {
deletedCount?: number;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { ApiResponse } from './apiResponse';
import type { DeleteRolePermissionRoleRoleId200AllOf } from './deleteRolePermissionRoleRoleId200AllOf';
export type DeleteRolePermissionRoleRoleId200 = ApiResponse & DeleteRolePermissionRoleRoleId200AllOf;
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { DeleteRolePermissionRoleRoleId200AllOfResponseData } from './deleteRolePermissionRoleRoleId200AllOfResponseData';
export type DeleteRolePermissionRoleRoleId200AllOf = {
responseData?: DeleteRolePermissionRoleRoleId200AllOfResponseData;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
export type DeleteRolePermissionRoleRoleId200AllOfResponseData = {
deletedCount?: number;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { ApiResponse } from './apiResponse';
import type { DeleteTermId200AllOf } from './deleteTermId200AllOf';
export type DeleteTermId200 = ApiResponse & DeleteTermId200AllOf;
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
export type DeleteTermId200AllOf = {
responseData?: boolean;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
export type DeleteUserIdRoleBody = {
/** Role ID to remove */
role_id?: string;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { ApiResponse } from './apiResponse';
import type { DeleteUserRoleId200AllOf } from './deleteUserRoleId200AllOf';
export type DeleteUserRoleId200 = ApiResponse & DeleteUserRoleId200AllOf;
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { DeleteUserRoleId200AllOfResponseData } from './deleteUserRoleId200AllOfResponseData';
export type DeleteUserRoleId200AllOf = {
responseData?: DeleteUserRoleId200AllOfResponseData;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
export type DeleteUserRoleId200AllOfResponseData = {
id?: string;
deleted?: boolean;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { ApiResponse } from './apiResponse';
import type { GetAdvertisementId200AllOf } from './getAdvertisementId200AllOf';
export type GetAdvertisementId200 = ApiResponse & GetAdvertisementId200AllOf;
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { Advertisement } from './advertisement';
export type GetAdvertisementId200AllOf = {
responseData?: Advertisement;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { FiltersParameter } from './filtersParameter';
import type { SortFieldParameter } from './sortFieldParameter';
import type { SortOrderParameter } from './sortOrderParameter';
import type { PageParameter } from './pageParameter';
import type { PageSizeParameter } from './pageSizeParameter';
export type GetAdvertisementParams = {
/**
* filter, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
*/
filters?: FiltersParameter;
/**
* sortField, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
*/
sortField?: SortFieldParameter;
/**
* sort order, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
*/
sortOrder?: SortOrderParameter;
/**
* page, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
* @minimum 1
*/
page?: PageParameter;
/**
* pageSize, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
* @minimum 1
*/
pageSize?: PageSizeParameter;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { ApiResponse } from './apiResponse';
import type { GetAdvertisementPublic200AllOf } from './getAdvertisementPublic200AllOf';
export type GetAdvertisementPublic200 = ApiResponse & GetAdvertisementPublic200AllOf;
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { Advertisement } from './advertisement';
export type GetAdvertisementPublic200AllOf = {
responseData?: Advertisement[];
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { GetAdvertisementPublicType } from './getAdvertisementPublicType';
export type GetAdvertisementPublicParams = {
/**
* Advertisement type (square or horizontal). If omitted, returns all active.
*/
type?: GetAdvertisementPublicType;
/**
* Max number of records to return (default 20)
* @minimum 1
* @maximum 100
*/
limit?: number;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
export type GetAdvertisementPublicType = typeof GetAdvertisementPublicType[keyof typeof GetAdvertisementPublicType];
// eslint-disable-next-line @typescript-eslint/no-redeclare
export const GetAdvertisementPublicType = {
square: 'square',
horizontal: 'horizontal',
} as const;
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* VietProDev CMS Backend API
* Generated API documentation
* OpenAPI spec version: 1.0.0
*/
export type GetApiV10PageConfigParams = {
/**
* ID of the page config to retrieve
*/
id?: string;
/**
* Static link of the page config to retrieve
*/
static_link?: string;
/**
* Code of the page config to retrieve
*/
code?: string;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { ApiResponse } from './apiResponse';
import type { GetAuthMe200AllOf } from './getAuthMe200AllOf';
export type GetAuthMe200 = ApiResponse & GetAuthMe200AllOf;
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { UserMeResponse } from './userMeResponse';
export type GetAuthMe200AllOf = {
responseData?: UserMeResponse;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { GetAuthProfile200Data } from './getAuthProfile200Data';
export type GetAuthProfile200 = {
success?: boolean;
data?: GetAuthProfile200Data;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { GetAuthProfile200DataRole } from './getAuthProfile200DataRole';
export type GetAuthProfile200Data = {
id?: string;
email?: string;
username?: string;
role?: GetAuthProfile200DataRole;
permissions?: string[];
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
export type GetAuthProfile200DataRole = typeof GetAuthProfile200DataRole[keyof typeof GetAuthProfile200DataRole];
// eslint-disable-next-line @typescript-eslint/no-redeclare
export const GetAuthProfile200DataRole = {
user: 'user',
admin: 'admin',
system_admin: 'system_admin',
} as const;
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { ApiResponse } from './apiResponse';
import type { GetBannerId200AllOf } from './getBannerId200AllOf';
export type GetBannerId200 = ApiResponse & GetBannerId200AllOf;
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { Banner } from './banner';
export type GetBannerId200AllOf = {
responseData?: Banner;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { FiltersParameter } from './filtersParameter';
import type { SortFieldParameter } from './sortFieldParameter';
import type { SortOrderParameter } from './sortOrderParameter';
import type { PageParameter } from './pageParameter';
import type { PageSizeParameter } from './pageSizeParameter';
export type GetBannerParams = {
/**
* filter, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
*/
filters?: FiltersParameter;
/**
* sortField, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
*/
sortField?: SortFieldParameter;
/**
* sort order, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
*/
sortOrder?: SortOrderParameter;
/**
* page, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
* @minimum 1
*/
page?: PageParameter;
/**
* pageSize, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
* @minimum 1
*/
pageSize?: PageSizeParameter;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { FiltersParameter } from './filtersParameter';
import type { SortFieldParameter } from './sortFieldParameter';
import type { SortOrderParameter } from './sortOrderParameter';
import type { PageParameter } from './pageParameter';
import type { PageSizeParameter } from './pageSizeParameter';
export type GetBusinessParams = {
/**
* filter, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
*/
filters?: FiltersParameter;
/**
* sortField, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
*/
sortField?: SortFieldParameter;
/**
* sort order, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
*/
sortOrder?: SortOrderParameter;
/**
* page, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
* @minimum 1
*/
page?: PageParameter;
/**
* pageSize, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
* @minimum 1
*/
pageSize?: PageSizeParameter;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { ApiResponse } from './apiResponse';
import type { GetCategoryId200AllOf } from './getCategoryId200AllOf';
export type GetCategoryId200 = ApiResponse & GetCategoryId200AllOf;
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { Category } from './category';
export type GetCategoryId200AllOf = {
responseData?: Category;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { FiltersParameter } from './filtersParameter';
import type { SortFieldParameter } from './sortFieldParameter';
import type { SortOrderParameter } from './sortOrderParameter';
import type { PageParameter } from './pageParameter';
import type { PageSizeParameter } from './pageSizeParameter';
export type GetCategoryParams = {
/**
* filter, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
*/
filters?: FiltersParameter;
/**
* sortField, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
*/
sortField?: SortFieldParameter;
/**
* sort order, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
*/
sortOrder?: SortOrderParameter;
/**
* page, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
* @minimum 1
*/
page?: PageParameter;
/**
* pageSize, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
* @minimum 1
*/
pageSize?: PageSizeParameter;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { FiltersParameter } from './filtersParameter';
import type { SortFieldParameter } from './sortFieldParameter';
import type { SortOrderParameter } from './sortOrderParameter';
import type { PageParameter } from './pageParameter';
import type { PageSizeParameter } from './pageSizeParameter';
export type GetCategoryTagParams = {
/**
* filter, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
*/
filters?: FiltersParameter;
/**
* sortField, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
*/
sortField?: SortFieldParameter;
/**
* sort order, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
*/
sortOrder?: SortOrderParameter;
/**
* page, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
* @minimum 1
*/
page?: PageParameter;
/**
* pageSize, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
* @minimum 1
*/
pageSize?: PageSizeParameter;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { ApiResponse } from './apiResponse';
import type { GetContactId200AllOf } from './getContactId200AllOf';
export type GetContactId200 = ApiResponse & GetContactId200AllOf;
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { Contact } from './contact';
export type GetContactId200AllOf = {
responseData?: Contact;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { FiltersParameter } from './filtersParameter';
import type { SortFieldParameter } from './sortFieldParameter';
import type { SortOrderParameter } from './sortOrderParameter';
import type { PageParameter } from './pageParameter';
import type { PageSizeParameter } from './pageSizeParameter';
export type GetContactParams = {
/**
* filter, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
*/
filters?: FiltersParameter;
/**
* sortField, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
*/
sortField?: SortFieldParameter;
/**
* sort order, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
*/
sortOrder?: SortOrderParameter;
/**
* page, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
* @minimum 1
*/
page?: PageParameter;
/**
* pageSize, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
* @minimum 1
*/
pageSize?: PageSizeParameter;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { ApiResponse } from './apiResponse';
import type { GetFileId200AllOf } from './getFileId200AllOf';
export type GetFileId200 = ApiResponse & GetFileId200AllOf;
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { File } from './file';
export type GetFileId200AllOf = {
responseData?: File;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { FiltersParameter } from './filtersParameter';
import type { SortFieldParameter } from './sortFieldParameter';
import type { SortOrderParameter } from './sortOrderParameter';
import type { PageParameter } from './pageParameter';
import type { PageSizeParameter } from './pageSizeParameter';
export type GetFileParams = {
/**
* filter, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
*/
filters?: FiltersParameter;
/**
* sortField, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
*/
sortField?: SortFieldParameter;
/**
* sort order, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
*/
sortOrder?: SortOrderParameter;
/**
* page, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
* @minimum 1
*/
page?: PageParameter;
/**
* pageSize, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
* @minimum 1
*/
pageSize?: PageSizeParameter;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { ApiResponse } from './apiResponse';
import type { GetLogoId200AllOf } from './getLogoId200AllOf';
export type GetLogoId200 = ApiResponse & GetLogoId200AllOf;
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { Logo } from './logo';
export type GetLogoId200AllOf = {
responseData?: Logo;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { FiltersParameter } from './filtersParameter';
import type { SortFieldParameter } from './sortFieldParameter';
import type { SortOrderParameter } from './sortOrderParameter';
import type { PageParameter } from './pageParameter';
import type { PageSizeParameter } from './pageSizeParameter';
export type GetLogoParams = {
/**
* filter, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
*/
filters?: FiltersParameter;
/**
* sortField, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
*/
sortField?: SortFieldParameter;
/**
* sort order, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
*/
sortOrder?: SortOrderParameter;
/**
* page, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
* @minimum 1
*/
page?: PageParameter;
/**
* pageSize, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
* @minimum 1
*/
pageSize?: PageSizeParameter;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { FiltersParameter } from './filtersParameter';
import type { SortFieldParameter } from './sortFieldParameter';
import type { SortOrderParameter } from './sortOrderParameter';
import type { PageParameter } from './pageParameter';
import type { PageSizeParameter } from './pageSizeParameter';
export type GetMemberParams = {
/**
* filter, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
*/
filters?: FiltersParameter;
/**
* sortField, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
*/
sortField?: SortFieldParameter;
/**
* sort order, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
*/
sortOrder?: SortOrderParameter;
/**
* page, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
* @minimum 1
*/
page?: PageParameter;
/**
* pageSize, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
* @minimum 1
*/
pageSize?: PageSizeParameter;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { FiltersParameter } from './filtersParameter';
import type { SortFieldParameter } from './sortFieldParameter';
import type { SortOrderParameter } from './sortOrderParameter';
import type { PageParameter } from './pageParameter';
import type { PageSizeParameter } from './pageSizeParameter';
export type GetNewsletterSubscriptionParams = {
/**
* filter, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
*/
filters?: FiltersParameter;
/**
* sortField, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
*/
sortField?: SortFieldParameter;
/**
* sort order, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
*/
sortOrder?: SortOrderParameter;
/**
* page, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
* @minimum 1
*/
page?: PageParameter;
/**
* pageSize, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
* @minimum 1
*/
pageSize?: PageSizeParameter;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
export type GetPageConfigParams = {
/**
* ID of the page config to retrieve
*/
id?: string;
/**
* Static link of the page config to retrieve
*/
static_link?: string;
/**
* Code of the page config to retrieve
*/
code?: string;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { GetPasswordResetRequestStatus } from './getPasswordResetRequestStatus';
import type { GetPasswordResetRequestSortOrder } from './getPasswordResetRequestSortOrder';
export type GetPasswordResetRequestParams = {
page?: number;
pageSize?: number;
status?: GetPasswordResetRequestStatus;
sortField?: string;
sortOrder?: GetPasswordResetRequestSortOrder;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
export type GetPasswordResetRequestSortOrder = typeof GetPasswordResetRequestSortOrder[keyof typeof GetPasswordResetRequestSortOrder];
// eslint-disable-next-line @typescript-eslint/no-redeclare
export const GetPasswordResetRequestSortOrder = {
asc: 'asc',
desc: 'desc',
} as const;
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
export type GetPasswordResetRequestStatus = typeof GetPasswordResetRequestStatus[keyof typeof GetPasswordResetRequestStatus];
// eslint-disable-next-line @typescript-eslint/no-redeclare
export const GetPasswordResetRequestStatus = {
PENDING: 'PENDING',
RESOLVED: 'RESOLVED',
REJECTED: 'REJECTED',
all: 'all',
} as const;
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { ApiResponse } from './apiResponse';
import type { GetPermissionId200AllOf } from './getPermissionId200AllOf';
export type GetPermissionId200 = ApiResponse & GetPermissionId200AllOf;
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { Permission } from './permission';
export type GetPermissionId200AllOf = {
responseData?: Permission;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { FiltersParameter } from './filtersParameter';
import type { SortFieldParameter } from './sortFieldParameter';
import type { SortOrderParameter } from './sortOrderParameter';
import type { PageParameter } from './pageParameter';
import type { PageSizeParameter } from './pageSizeParameter';
export type GetPermissionParams = {
/**
* filter, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
*/
filters?: FiltersParameter;
/**
* sortField, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
*/
sortField?: SortFieldParameter;
/**
* sort order, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
*/
sortOrder?: SortOrderParameter;
/**
* page, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
* @minimum 1
*/
page?: PageParameter;
/**
* pageSize, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
* @minimum 1
*/
pageSize?: PageSizeParameter;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { ApiResponse } from './apiResponse';
import type { GetPositionId200AllOf } from './getPositionId200AllOf';
export type GetPositionId200 = ApiResponse & GetPositionId200AllOf;
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { Position } from './position';
export type GetPositionId200AllOf = {
responseData?: Position;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { FiltersParameter } from './filtersParameter';
import type { SortFieldParameter } from './sortFieldParameter';
import type { SortOrderParameter } from './sortOrderParameter';
import type { PageParameter } from './pageParameter';
import type { PageSizeParameter } from './pageSizeParameter';
export type GetPositionParams = {
/**
* filter, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
*/
filters?: FiltersParameter;
/**
* sortField, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
*/
sortField?: SortFieldParameter;
/**
* sort order, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
*/
sortOrder?: SortOrderParameter;
/**
* page, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
* @minimum 1
*/
page?: PageParameter;
/**
* pageSize, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
* @minimum 1
*/
pageSize?: PageSizeParameter;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { FiltersParameter } from './filtersParameter';
import type { SortFieldParameter } from './sortFieldParameter';
import type { SortOrderParameter } from './sortOrderParameter';
import type { PageParameter } from './pageParameter';
import type { PageSizeParameter } from './pageSizeParameter';
export type GetPostCategoryParams = {
/**
* filter, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
*/
filters?: FiltersParameter;
/**
* sortField, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
*/
sortField?: SortFieldParameter;
/**
* sort order, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
*/
sortOrder?: SortOrderParameter;
/**
* page, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
* @minimum 1
*/
page?: PageParameter;
/**
* pageSize, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
* @minimum 1
*/
pageSize?: PageSizeParameter;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { FiltersParameter } from './filtersParameter';
import type { SortFieldParameter } from './sortFieldParameter';
import type { SortOrderParameter } from './sortOrderParameter';
import type { PageParameter } from './pageParameter';
import type { PageSizeParameter } from './pageSizeParameter';
export type GetPostCategoryPostIdParams = {
/**
* filter, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
*/
filters?: FiltersParameter;
/**
* sortField, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
*/
sortField?: SortFieldParameter;
/**
* sort order, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
*/
sortOrder?: SortOrderParameter;
/**
* page, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
* @minimum 1
*/
page?: PageParameter;
/**
* pageSize, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
* @minimum 1
*/
pageSize?: PageSizeParameter;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { ApiResponse } from './apiResponse';
import type { GetPostId200AllOf } from './getPostId200AllOf';
export type GetPostId200 = ApiResponse & GetPostId200AllOf;
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { Post } from './post';
export type GetPostId200AllOf = {
responseData?: Post;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { ApiResponse } from './apiResponse';
import type { GetPostIdHistory200AllOf } from './getPostIdHistory200AllOf';
export type GetPostIdHistory200 = ApiResponse & GetPostIdHistory200AllOf;
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { GetPostIdHistory200AllOfResponseDataItem } from './getPostIdHistory200AllOfResponseDataItem';
export type GetPostIdHistory200AllOf = {
responseData?: GetPostIdHistory200AllOfResponseDataItem[];
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { GetPostIdHistory200AllOfResponseDataItemAction } from './getPostIdHistory200AllOfResponseDataItemAction';
import type { GetPostIdHistory200AllOfResponseDataItemActor } from './getPostIdHistory200AllOfResponseDataItemActor';
import type { GetPostIdHistory200AllOfResponseDataItemChanges } from './getPostIdHistory200AllOfResponseDataItemChanges';
import type { GetPostIdHistory200AllOfResponseDataItemSnapshot } from './getPostIdHistory200AllOfResponseDataItemSnapshot';
export type GetPostIdHistory200AllOfResponseDataItem = {
id?: string;
post_id?: string;
action?: GetPostIdHistory200AllOfResponseDataItemAction;
actor?: GetPostIdHistory200AllOfResponseDataItemActor;
/**
* { field: { old: x, new: y } }
* @nullable
*/
changes?: GetPostIdHistory200AllOfResponseDataItemChanges;
/** @nullable */
snapshot?: GetPostIdHistory200AllOfResponseDataItemSnapshot;
created_at?: string;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
export type GetPostIdHistory200AllOfResponseDataItemAction = typeof GetPostIdHistory200AllOfResponseDataItemAction[keyof typeof GetPostIdHistory200AllOfResponseDataItemAction];
// eslint-disable-next-line @typescript-eslint/no-redeclare
export const GetPostIdHistory200AllOfResponseDataItemAction = {
CREATE: 'CREATE',
UPDATE: 'UPDATE',
DELETE: 'DELETE',
} as const;
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
export type GetPostIdHistory200AllOfResponseDataItemActor = {
id?: string;
email?: string;
/** @nullable */
username?: string | null;
full_name?: string;
/** @nullable */
avatar_url?: string | null;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
/**
* { field: { old: x, new: y } }
* @nullable
*/
export type GetPostIdHistory200AllOfResponseDataItemChanges = { [key: string]: unknown } | null;
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
/**
* @nullable
*/
export type GetPostIdHistory200AllOfResponseDataItemSnapshot = { [key: string]: unknown } | null;
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { FiltersParameter } from './filtersParameter';
import type { SortFieldParameter } from './sortFieldParameter';
import type { SortOrderParameter } from './sortOrderParameter';
import type { PageParameter } from './pageParameter';
import type { PageSizeParameter } from './pageSizeParameter';
export type GetPostParams = {
/**
* filter, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
*/
filters?: FiltersParameter;
/**
* sortField, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
*/
sortField?: SortFieldParameter;
/**
* sort order, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
*/
sortOrder?: SortOrderParameter;
/**
* page, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
* @minimum 1
*/
page?: PageParameter;
/**
* pageSize, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
* @minimum 1
*/
pageSize?: PageSizeParameter;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { ApiResponse } from './apiResponse';
import type { GetPostStats200AllOf } from './getPostStats200AllOf';
export type GetPostStats200 = ApiResponse & GetPostStats200AllOf;
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { GetPostStats200AllOfResponseData } from './getPostStats200AllOfResponseData';
export type GetPostStats200AllOf = {
responseData?: GetPostStats200AllOfResponseData;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
export type GetPostStats200AllOfResponseData = {
/** Total posts matching filters */
total?: number;
/** Published posts matching filters (is_hidden == false) */
published?: number;
/** Featured posts matching filters (is_featured == true) */
featured?: number;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { FiltersParameter } from './filtersParameter';
export type GetPostStatsParams = {
/**
* filter, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
*/
filters?: FiltersParameter;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { FiltersParameter } from './filtersParameter';
import type { SortFieldParameter } from './sortFieldParameter';
import type { SortOrderParameter } from './sortOrderParameter';
import type { PageParameter } from './pageParameter';
import type { PageSizeParameter } from './pageSizeParameter';
export type GetPostTagParams = {
/**
* filter, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
*/
filters?: FiltersParameter;
/**
* sortField, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
*/
sortField?: SortFieldParameter;
/**
* sort order, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
*/
sortOrder?: SortOrderParameter;
/**
* page, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
* @minimum 1
*/
page?: PageParameter;
/**
* pageSize, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
* @minimum 1
*/
pageSize?: PageSizeParameter;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { FiltersParameter } from './filtersParameter';
import type { SortFieldParameter } from './sortFieldParameter';
import type { SortOrderParameter } from './sortOrderParameter';
import type { PageParameter } from './pageParameter';
import type { PageSizeParameter } from './pageSizeParameter';
export type GetPostTagPostIdParams = {
/**
* filter, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
*/
filters?: FiltersParameter;
/**
* sortField, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
*/
sortField?: SortFieldParameter;
/**
* sort order, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
*/
sortOrder?: SortOrderParameter;
/**
* page, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
* @minimum 1
*/
page?: PageParameter;
/**
* pageSize, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
* @minimum 1
*/
pageSize?: PageSizeParameter;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { FiltersParameter } from './filtersParameter';
import type { SortFieldParameter } from './sortFieldParameter';
import type { SortOrderParameter } from './sortOrderParameter';
import type { PageParameter } from './pageParameter';
import type { PageSizeParameter } from './pageSizeParameter';
export type GetRoleParams = {
/**
* filter, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
*/
filters?: FiltersParameter;
/**
* sortField, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
*/
sortField?: SortFieldParameter;
/**
* sort order, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
*/
sortOrder?: SortOrderParameter;
/**
* page, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
* @minimum 1
*/
page?: PageParameter;
/**
* pageSize, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
* @minimum 1
*/
pageSize?: PageSizeParameter;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { FiltersParameter } from './filtersParameter';
import type { SortFieldParameter } from './sortFieldParameter';
import type { SortOrderParameter } from './sortOrderParameter';
import type { PageParameter } from './pageParameter';
import type { PageSizeParameter } from './pageSizeParameter';
export type GetRolePermissionParams = {
/**
* filter, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
*/
filters?: FiltersParameter;
/**
* sortField, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
*/
sortField?: SortFieldParameter;
/**
* sort order, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
*/
sortOrder?: SortOrderParameter;
/**
* page, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
* @minimum 1
*/
page?: PageParameter;
/**
* pageSize, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
* @minimum 1
*/
pageSize?: PageSizeParameter;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { ApiResponse } from './apiResponse';
import type { GetSiteInformation200AllOf } from './getSiteInformation200AllOf';
export type GetSiteInformation200 = ApiResponse & GetSiteInformation200AllOf;
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { SiteInformationData } from './siteInformationData';
export type GetSiteInformation200AllOf = {
responseData?: SiteInformationData;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { FiltersParameter } from './filtersParameter';
import type { SortFieldParameter } from './sortFieldParameter';
import type { SortOrderParameter } from './sortOrderParameter';
import type { PageParameter } from './pageParameter';
import type { PageSizeParameter } from './pageSizeParameter';
export type GetSiteInformationParams = {
/**
* filter, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
*/
filters?: FiltersParameter;
/**
* sortField, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
*/
sortField?: SortFieldParameter;
/**
* sort order, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
*/
sortOrder?: SortOrderParameter;
/**
* page, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
* @minimum 1
*/
page?: PageParameter;
/**
* pageSize, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
* @minimum 1
*/
pageSize?: PageSizeParameter;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { ApiResponse } from './apiResponse';
import type { GetTagId200AllOf } from './getTagId200AllOf';
export type GetTagId200 = ApiResponse & GetTagId200AllOf;
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { Tag } from './tag';
export type GetTagId200AllOf = {
responseData?: Tag;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { FiltersParameter } from './filtersParameter';
import type { SortFieldParameter } from './sortFieldParameter';
import type { SortOrderParameter } from './sortOrderParameter';
import type { PageParameter } from './pageParameter';
import type { PageSizeParameter } from './pageSizeParameter';
export type GetTagParams = {
/**
* filter, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
*/
filters?: FiltersParameter;
/**
* sortField, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
*/
sortField?: SortFieldParameter;
/**
* sort order, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
*/
sortOrder?: SortOrderParameter;
/**
* page, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
* @minimum 1
*/
page?: PageParameter;
/**
* pageSize, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
* @minimum 1
*/
pageSize?: PageSizeParameter;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { ApiResponse } from './apiResponse';
import type { GetTerm200AllOf } from './getTerm200AllOf';
export type GetTerm200 = ApiResponse & GetTerm200AllOf;
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { GetTerm200AllOfResponseData } from './getTerm200AllOfResponseData';
export type GetTerm200AllOf = {
responseData?: GetTerm200AllOfResponseData;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { TermResponse } from './termResponse';
export type GetTerm200AllOfResponseData = {
rows?: TermResponse[];
count?: number;
page?: number;
pageSize?: number;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { ApiResponse } from './apiResponse';
import type { GetTermId200AllOf } from './getTermId200AllOf';
export type GetTermId200 = ApiResponse & GetTermId200AllOf;
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { TermResponse } from './termResponse';
export type GetTermId200AllOf = {
responseData?: TermResponse;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { FiltersParameter } from './filtersParameter';
import type { SortFieldParameter } from './sortFieldParameter';
import type { SortOrderParameter } from './sortOrderParameter';
import type { PageParameter } from './pageParameter';
import type { PageSizeParameter } from './pageSizeParameter';
export type GetTermParams = {
/**
* filter, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
*/
filters?: FiltersParameter;
/**
* sortField, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
*/
sortField?: SortFieldParameter;
/**
* sort order, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
*/
sortOrder?: SortOrderParameter;
/**
* page, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
* @minimum 1
*/
page?: PageParameter;
/**
* pageSize, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
* @minimum 1
*/
pageSize?: PageSizeParameter;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { FiltersParameter } from './filtersParameter';
import type { SortFieldParameter } from './sortFieldParameter';
import type { SortOrderParameter } from './sortOrderParameter';
import type { PageParameter } from './pageParameter';
import type { PageSizeParameter } from './pageSizeParameter';
export type GetUserParams = {
/**
* filter, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
*/
filters?: FiltersParameter;
/**
* sortField, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
*/
sortField?: SortFieldParameter;
/**
* sort order, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
*/
sortOrder?: SortOrderParameter;
/**
* page, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
* @minimum 1
*/
page?: PageParameter;
/**
* pageSize, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
* @minimum 1
*/
pageSize?: PageSizeParameter;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { ApiResponse } from './apiResponse';
import type { GetUserRole200AllOf } from './getUserRole200AllOf';
export type GetUserRole200 = ApiResponse & GetUserRole200AllOf;
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { UserRoleListData } from './userRoleListData';
export type GetUserRole200AllOf = {
responseData?: UserRoleListData;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { ApiResponse } from './apiResponse';
import type { GetUserRoleId200AllOf } from './getUserRoleId200AllOf';
export type GetUserRoleId200 = ApiResponse & GetUserRoleId200AllOf;
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { UserRole } from './userRole';
export type GetUserRoleId200AllOf = {
responseData?: UserRole;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { FiltersParameter } from './filtersParameter';
import type { SortFieldParameter } from './sortFieldParameter';
import type { SortOrderParameter } from './sortOrderParameter';
import type { PageParameter } from './pageParameter';
import type { PageSizeParameter } from './pageSizeParameter';
export type GetUserRoleParams = {
/**
* filter, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
*/
filters?: FiltersParameter;
/**
* sortField, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
*/
sortField?: SortFieldParameter;
/**
* sort order, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
*/
sortOrder?: SortOrderParameter;
/**
* page, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
* @minimum 1
*/
page?: PageParameter;
/**
* pageSize, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
* @minimum 1
*/
pageSize?: PageSizeParameter;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { ApiResponse } from './apiResponse';
import type { GetVideoId200AllOf } from './getVideoId200AllOf';
export type GetVideoId200 = ApiResponse & GetVideoId200AllOf;
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { Video } from './video';
export type GetVideoId200AllOf = {
responseData?: Video;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { FiltersParameter } from './filtersParameter';
import type { SortFieldParameter } from './sortFieldParameter';
import type { SortOrderParameter } from './sortOrderParameter';
import type { PageParameter } from './pageParameter';
import type { PageSizeParameter } from './pageSizeParameter';
export type GetVideoParams = {
/**
* filter, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
*/
filters?: FiltersParameter;
/**
* sortField, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
*/
sortField?: SortFieldParameter;
/**
* sort order, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
*/
sortOrder?: SortOrderParameter;
/**
* page, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
* @minimum 1
*/
page?: PageParameter;
/**
* pageSize, visit https://www.npmjs.com/package/sequelize-api-paginate for syntax
* @minimum 1
*/
pageSize?: PageSizeParameter;
};
......@@ -144,7 +144,6 @@ export * from './getApiV10LogoId200AllOf';
export * from './getApiV10LogoParams';
export * from './getApiV10MemberParams';
export * from './getApiV10NewsletterSubscriptionParams';
export * from './getApiV10PageConfigParams';
export * from './getApiV10PasswordResetRequestParams';
export * from './getApiV10PasswordResetRequestSortOrder';
export * from './getApiV10PasswordResetRequestStatus';
......@@ -221,12 +220,6 @@ export * from './migrationMappingMutateMetadata';
export * from './newsletterSubscription';
export * from './newsletterSubscriptionMutate';
export * from './newsletterSubscriptionUpdate';
export * from './pageConfig';
export * from './pageConfigCategory';
export * from './pageConfigCategoryMutate';
export * from './pageConfigMutate';
export * from './pageConfigTag';
export * from './pageConfigTagMutate';
export * from './pageParameter';
export * from './pageSizeParameter';
export * from './passwordResetRequest';
......@@ -286,7 +279,6 @@ export * from './postApiV10MemberImport200Violations';
export * from './postApiV10MemberImportBody';
export * from './postApiV10NewsletterSubscription200';
export * from './postApiV10NewsletterSubscription200AllOf';
export * from './postApiV10PageConfigBody';
export * from './postApiV10PasswordResetRequestIdRejectBody';
export * from './postApiV10PasswordResetRequestIdResolveBody';
export * from './postApiV10PermissionBulk200';
......@@ -358,7 +350,6 @@ export * from './putApiV10EventAddressId200';
export * from './putApiV10EventAddressId200AllOf';
export * from './putApiV10LogoId200';
export * from './putApiV10LogoId200AllOf';
export * from './putApiV10PageConfigIdBody';
export * from './putApiV10PermissionId200';
export * from './putApiV10PermissionId200AllOf';
export * from './putApiV10PositionId200';
......
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* VietProDev CMS Backend API
* Generated API documentation
* OpenAPI spec version: 1.0.0
*/
export interface PageConfig {
id?: string;
code?: string;
name?: string;
static_link?: string;
static_link_en?: string;
parent_id?: string;
level?: number;
sort_order?: number;
is_article?: boolean;
created_at?: string;
created_by?: string;
updated_at?: string;
updated_by?: string;
slug?: string;
description?: string;
type?: string;
}
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* VietProDev CMS Backend API
* Generated API documentation
* OpenAPI spec version: 1.0.0
*/
export interface PageConfigCategory {
page_config_id?: string;
category_id?: string;
created_at?: string;
created_by?: string;
}
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* VietProDev CMS Backend API
* Generated API documentation
* OpenAPI spec version: 1.0.0
*/
export interface PageConfigCategoryMutate {
page_config_id?: string;
category_id?: string;
}
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* VietProDev CMS Backend API
* Generated API documentation
* OpenAPI spec version: 1.0.0
*/
export interface PageConfigMutate {
code?: string;
name?: string;
static_link?: string;
static_link_en?: string;
parent_id?: string;
level?: number;
sort_order?: number;
is_article?: boolean;
slug?: string;
description?: string;
type?: string;
}
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* VietProDev CMS Backend API
* Generated API documentation
* OpenAPI spec version: 1.0.0
*/
export interface PageConfigTag {
page_config_id?: string;
tag_id?: string;
created_at?: string;
}
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* VietProDev CMS Backend API
* Generated API documentation
* OpenAPI spec version: 1.0.0
*/
export interface PageConfigTagMutate {
page_config_id?: string;
tag_id?: string;
}
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { ApiResponse } from './apiResponse';
import type { PatchNewsletterSubscriptionId200AllOf } from './patchNewsletterSubscriptionId200AllOf';
export type PatchNewsletterSubscriptionId200 = ApiResponse & PatchNewsletterSubscriptionId200AllOf;
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { NewsletterSubscription } from './newsletterSubscription';
export type PatchNewsletterSubscriptionId200AllOf = {
responseData?: NewsletterSubscription;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { ApiResponse } from './apiResponse';
import type { PatchTagId200AllOf } from './patchTagId200AllOf';
export type PatchTagId200 = ApiResponse & PatchTagId200AllOf;
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { Tag } from './tag';
export type PatchTagId200AllOf = {
responseData?: Tag;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { PatchUserIdStatusBodyStatus } from './patchUserIdStatusBodyStatus';
export type PatchUserIdStatusBody = {
/** Trạng thái mới của user */
status?: PatchUserIdStatusBodyStatus;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
/**
* Trạng thái mới của user
*/
export type PatchUserIdStatusBodyStatus = typeof PatchUserIdStatusBodyStatus[keyof typeof PatchUserIdStatusBodyStatus];
// eslint-disable-next-line @typescript-eslint/no-redeclare
export const PatchUserIdStatusBodyStatus = {
active: 'active',
inactive: 'inactive',
} as const;
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { ApiResponse } from './apiResponse';
import type { PatchVideoId200AllOf } from './patchVideoId200AllOf';
export type PatchVideoId200 = ApiResponse & PatchVideoId200AllOf;
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { Video } from './video';
export type PatchVideoId200AllOf = {
responseData?: Video;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { ApiResponse } from './apiResponse';
import type { PostAdvertisement200AllOf } from './postAdvertisement200AllOf';
export type PostAdvertisement200 = ApiResponse & PostAdvertisement200AllOf;
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { Advertisement } from './advertisement';
export type PostAdvertisement200AllOf = {
responseData?: Advertisement;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* VietProDev CMS Backend API
* Generated API documentation
* OpenAPI spec version: 1.0.0
*/
export type PostApiV10PageConfigBody = {
/** @maxLength 50 */
code: string;
/** @maxLength 255 */
name: string;
/** @maxLength 255 */
static_link: string;
/** @nullable */
static_link_en?: string | null;
parent_id: string;
/**
* @minimum 0
* @nullable
*/
sort_order?: number | null;
/** @nullable */
is_article?: boolean | null;
category_ids?: string[];
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
export type PostAuthForgotPasswordRequestBody = {
email: string;
/** Ghi chú thêm từ user (tên, lý do, etc.) */
note?: string;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { ForgotPasswordVerifyOtpResponse } from './forgotPasswordVerifyOtpResponse';
export type PostAuthForgotPasswordVerifyOtp200 = {
responseData?: ForgotPasswordVerifyOtpResponse;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { LoginResponse } from './loginResponse';
import type { PostAuthLogin200Message } from './postAuthLogin200Message';
export type PostAuthLogin200 = {
success?: boolean;
data?: LoginResponse;
message?: PostAuthLogin200Message;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
export type PostAuthLogin200Message = {
vi?: string;
en?: string;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { PostAuthLogin423Error } from './postAuthLogin423Error';
export type PostAuthLogin423 = {
success?: boolean;
error?: PostAuthLogin423Error;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { PostAuthLogin423ErrorMessage } from './postAuthLogin423ErrorMessage';
export type PostAuthLogin423Error = {
code?: string;
message?: PostAuthLogin423ErrorMessage;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
export type PostAuthLogin423ErrorMessage = {
vi?: string;
en?: string;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { PostAuthLogout200Message } from './postAuthLogout200Message';
export type PostAuthLogout200 = {
success?: boolean;
message?: PostAuthLogout200Message;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
export type PostAuthLogout200Message = {
vi?: string;
en?: string;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { LoginResponse } from './loginResponse';
import type { PostAuthRefresh200Message } from './postAuthRefresh200Message';
export type PostAuthRefresh200 = {
success?: boolean;
data?: LoginResponse;
message?: PostAuthRefresh200Message;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
export type PostAuthRefresh200Message = {
vi?: string;
en?: string;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { PostAuthRefreshBodyDeviceInfo } from './postAuthRefreshBodyDeviceInfo';
export type PostAuthRefreshBody = {
/** Refresh token (optional if sent via cookie) */
refresh_token?: string;
/** Device information */
device_info?: PostAuthRefreshBodyDeviceInfo;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
/**
* Device information
*/
export type PostAuthRefreshBodyDeviceInfo = { [key: string]: unknown };
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { ApiResponse } from './apiResponse';
import type { PostBanner200AllOf } from './postBanner200AllOf';
export type PostBanner200 = ApiResponse & PostBanner200AllOf;
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { Banner } from './banner';
export type PostBanner200AllOf = {
responseData?: Banner;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { ApiResponse } from './apiResponse';
import type { PostCategory200AllOf } from './postCategory200AllOf';
export type PostCategory200 = ApiResponse & PostCategory200AllOf;
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { Category } from './category';
export type PostCategory200AllOf = {
responseData?: Category;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { ApiResponse } from './apiResponse';
import type { PostCategoryTag200AllOf } from './postCategoryTag200AllOf';
export type PostCategoryTag200 = ApiResponse & PostCategoryTag200AllOf;
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { CategoryTag } from './categoryTag';
export type PostCategoryTag200AllOf = {
responseData?: CategoryTag;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { ApiResponse } from './apiResponse';
import type { PostCategoryTagCategoryIdBulk200AllOf } from './postCategoryTagCategoryIdBulk200AllOf';
export type PostCategoryTagCategoryIdBulk200 = ApiResponse & PostCategoryTagCategoryIdBulk200AllOf;
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { CategoryTag } from './categoryTag';
export type PostCategoryTagCategoryIdBulk200AllOf = {
responseData?: CategoryTag[];
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
export type PostCategoryTagCategoryIdBulkBody = {
tag_ids?: string[];
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { ApiResponse } from './apiResponse';
import type { PostContact200AllOf } from './postContact200AllOf';
export type PostContact200 = ApiResponse & PostContact200AllOf;
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { Contact } from './contact';
export type PostContact200AllOf = {
responseData?: Contact;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { ApiResponse } from './apiResponse';
import type { PostFileUpload200AllOf } from './postFileUpload200AllOf';
export type PostFileUpload200 = ApiResponse & PostFileUpload200AllOf;
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { File } from './file';
export type PostFileUpload200AllOf = {
responseData?: File;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
export type PostFileUploadBody = {
/** File to upload */
file?: Blob;
/** Custom path for file storage (optional) */
path?: string;
/** Original filename (optional) */
original?: string;
/** Whether to compress the file */
compress?: boolean;
/** Custom extension to append to filename (optional) */
extendName?: string;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { ApiResponse } from './apiResponse';
import type { PostLogo200AllOf } from './postLogo200AllOf';
export type PostLogo200 = ApiResponse & PostLogo200AllOf;
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { Logo } from './logo';
export type PostLogo200AllOf = {
responseData?: Logo;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { MemberImportResponse } from './memberImportResponse';
import type { PostMemberImport200Violations } from './postMemberImport200Violations';
export type PostMemberImport200 = {
message?: string;
message_en?: string;
responseData?: MemberImportResponse;
status?: string;
timeStamp?: string;
/** @nullable */
violations?: PostMemberImport200Violations;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
/**
* @nullable
*/
export type PostMemberImport200Violations = unknown | null;
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
export type PostMemberImportBody = {
/** File .xlsx or .csv */
file: Blob;
/** @nullable */
sheet_name?: string | null;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { ApiResponse } from './apiResponse';
import type { PostNewsletterSubscription200AllOf } from './postNewsletterSubscription200AllOf';
export type PostNewsletterSubscription200 = ApiResponse & PostNewsletterSubscription200AllOf;
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { NewsletterSubscription } from './newsletterSubscription';
export type PostNewsletterSubscription200AllOf = {
responseData?: NewsletterSubscription;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
export type PostPageConfigBody = {
/** @maxLength 50 */
code: string;
/** @maxLength 255 */
name: string;
/** @maxLength 255 */
static_link: string;
/** @nullable */
static_link_en?: string | null;
parent_id: string;
/**
* @minimum 0
* @nullable
*/
sort_order?: number | null;
/** @nullable */
is_article?: boolean | null;
category_ids?: string[];
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
export type PostPasswordResetRequestIdRejectBody = {
/** Lý do từ chối */
resolveNote?: string;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
export type PostPasswordResetRequestIdResolveBody = {
/** Mật khẩu mới (nếu bỏ trống sẽ dùng vcci@2026) */
newPassword?: string;
/** Ghi chú của admin */
resolveNote?: string;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { ApiResponse } from './apiResponse';
import type { PostPermissionBulk200AllOf } from './postPermissionBulk200AllOf';
export type PostPermissionBulk200 = ApiResponse & PostPermissionBulk200AllOf;
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { Permission } from './permission';
export type PostPermissionBulk200AllOf = {
responseData?: Permission[];
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { ApiResponse } from './apiResponse';
import type { PostPosition200AllOf } from './postPosition200AllOf';
export type PostPosition200 = ApiResponse & PostPosition200AllOf;
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { Position } from './position';
export type PostPosition200AllOf = {
responseData?: Position;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { ApiResponse } from './apiResponse';
import type { PostPost200AllOf } from './postPost200AllOf';
export type PostPost200 = ApiResponse & PostPost200AllOf;
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { Post } from './post';
export type PostPost200AllOf = {
responseData?: Post;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { ApiResponse } from './apiResponse';
import type { PostPostCategory200AllOf } from './postPostCategory200AllOf';
export type PostPostCategory200 = ApiResponse & PostPostCategory200AllOf;
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { PostPostCategory200AllOfResponseData } from './postPostCategory200AllOfResponseData';
export type PostPostCategory200AllOf = {
responseData?: PostPostCategory200AllOfResponseData;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
export type PostPostCategory200AllOfResponseData = {
post_id?: string;
category_id?: string;
created_at?: string;
created_by?: string;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
export type PostPostCategoryBody = {
post_id?: string;
category_id?: string;
created_by?: string;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { ApiResponse } from './apiResponse';
import type { PostPostCategoryPostIdBulk200AllOf } from './postPostCategoryPostIdBulk200AllOf';
export type PostPostCategoryPostIdBulk200 = ApiResponse & PostPostCategoryPostIdBulk200AllOf;
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { PostPostCategoryPostIdBulk200AllOfResponseDataItem } from './postPostCategoryPostIdBulk200AllOfResponseDataItem';
export type PostPostCategoryPostIdBulk200AllOf = {
responseData?: PostPostCategoryPostIdBulk200AllOfResponseDataItem[];
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
export type PostPostCategoryPostIdBulk200AllOfResponseDataItem = {
post_id?: string;
category_id?: string;
created_at?: string;
created_by?: string;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
export type PostPostCategoryPostIdBulkBody = {
category_ids?: string[];
created_by?: string;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { ApiResponse } from './apiResponse';
import type { PostPostTag200AllOf } from './postPostTag200AllOf';
export type PostPostTag200 = ApiResponse & PostPostTag200AllOf;
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { PostPostTag200AllOfResponseData } from './postPostTag200AllOfResponseData';
export type PostPostTag200AllOf = {
responseData?: PostPostTag200AllOfResponseData;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
export type PostPostTag200AllOfResponseData = {
post_id?: string;
tag_id?: string;
created_at?: string;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
export type PostPostTagBody = {
post_id?: string;
tag_id?: string;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { ApiResponse } from './apiResponse';
import type { PostPostTagPostIdBulk200AllOf } from './postPostTagPostIdBulk200AllOf';
export type PostPostTagPostIdBulk200 = ApiResponse & PostPostTagPostIdBulk200AllOf;
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { PostPostTagPostIdBulk200AllOfResponseDataItem } from './postPostTagPostIdBulk200AllOfResponseDataItem';
export type PostPostTagPostIdBulk200AllOf = {
responseData?: PostPostTagPostIdBulk200AllOfResponseDataItem[];
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
export type PostPostTagPostIdBulk200AllOfResponseDataItem = {
post_id?: string;
tag_id?: string;
created_at?: string;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
export type PostPostTagPostIdBulkBody = {
tag_ids?: string[];
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
export type PostRoleBody = {
name?: string;
description?: string;
permissions?: string[];
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { ApiResponse } from './apiResponse';
import type { PostRoleBulk200AllOf } from './postRoleBulk200AllOf';
export type PostRoleBulk200 = ApiResponse & PostRoleBulk200AllOf;
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { Role } from './role';
export type PostRoleBulk200AllOf = {
responseData?: Role[];
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { ApiResponse } from './apiResponse';
import type { PostRolePermissionRoleRoleIdBulk200AllOf } from './postRolePermissionRoleRoleIdBulk200AllOf';
export type PostRolePermissionRoleRoleIdBulk200 = ApiResponse & PostRolePermissionRoleRoleIdBulk200AllOf;
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { RolePermission } from './rolePermission';
export type PostRolePermissionRoleRoleIdBulk200AllOf = {
responseData?: RolePermission[];
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { ApiResponse } from './apiResponse';
import type { PostTag200AllOf } from './postTag200AllOf';
export type PostTag200 = ApiResponse & PostTag200AllOf;
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { Tag } from './tag';
export type PostTag200AllOf = {
responseData?: Tag;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { ApiResponse } from './apiResponse';
import type { PostTagIds200AllOf } from './postTagIds200AllOf';
export type PostTagIds200 = ApiResponse & PostTagIds200AllOf;
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { Tag } from './tag';
export type PostTagIds200AllOf = {
responseData?: Tag[];
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
export type PostTagIdsBody = {
tag_ids?: string[];
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { ApiResponse } from './apiResponse';
import type { PostTerm201AllOf } from './postTerm201AllOf';
export type PostTerm201 = ApiResponse & PostTerm201AllOf;
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { TermResponse } from './termResponse';
export type PostTerm201AllOf = {
responseData?: TermResponse;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
export type PostUserIdRoleBody = {
/** Role ID to assign */
role_id?: string;
/** Set as primary role */
is_primary?: boolean;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { ApiResponse } from './apiResponse';
import type { PostUserRole200AllOf } from './postUserRole200AllOf';
export type PostUserRole200 = ApiResponse & PostUserRole200AllOf;
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { UserRole } from './userRole';
export type PostUserRole200AllOf = {
responseData?: UserRole;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { ApiResponse } from './apiResponse';
import type { PostVideo200AllOf } from './postVideo200AllOf';
export type PostVideo200 = ApiResponse & PostVideo200AllOf;
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { Video } from './video';
export type PostVideo200AllOf = {
responseData?: Video;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { ApiResponse } from './apiResponse';
import type { PutAdvertisementId200AllOf } from './putAdvertisementId200AllOf';
export type PutAdvertisementId200 = ApiResponse & PutAdvertisementId200AllOf;
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { Advertisement } from './advertisement';
export type PutAdvertisementId200AllOf = {
responseData?: Advertisement;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* VietProDev CMS Backend API
* Generated API documentation
* OpenAPI spec version: 1.0.0
*/
export type PutApiV10PageConfigIdBody = {
/** @maxLength 50 */
code?: string;
/** @maxLength 255 */
name?: string;
/** @maxLength 255 */
static_link?: string;
/** @nullable */
static_link_en?: string | null;
parent_id?: string;
/**
* @minimum 0
* @nullable
*/
sort_order?: number | null;
/** @nullable */
is_article?: boolean | null;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { ApiResponse } from './apiResponse';
import type { PutBannerId200AllOf } from './putBannerId200AllOf';
export type PutBannerId200 = ApiResponse & PutBannerId200AllOf;
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { Banner } from './banner';
export type PutBannerId200AllOf = {
responseData?: Banner;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { ApiResponse } from './apiResponse';
import type { PutCategoryId200AllOf } from './putCategoryId200AllOf';
export type PutCategoryId200 = ApiResponse & PutCategoryId200AllOf;
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { Category } from './category';
export type PutCategoryId200AllOf = {
responseData?: Category;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { ApiResponse } from './apiResponse';
import type { PutContactId200AllOf } from './putContactId200AllOf';
export type PutContactId200 = ApiResponse & PutContactId200AllOf;
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { Contact } from './contact';
export type PutContactId200AllOf = {
responseData?: Contact;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { ApiResponse } from './apiResponse';
import type { PutLogoId200AllOf } from './putLogoId200AllOf';
export type PutLogoId200 = ApiResponse & PutLogoId200AllOf;
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { Logo } from './logo';
export type PutLogoId200AllOf = {
responseData?: Logo;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
export type PutPageConfigIdBody = {
/** @maxLength 50 */
code?: string;
/** @maxLength 255 */
name?: string;
/** @maxLength 255 */
static_link?: string;
/** @nullable */
static_link_en?: string | null;
parent_id?: string;
/**
* @minimum 0
* @nullable
*/
sort_order?: number | null;
/** @nullable */
is_article?: boolean | null;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { ApiResponse } from './apiResponse';
import type { PutPermissionId200AllOf } from './putPermissionId200AllOf';
export type PutPermissionId200 = ApiResponse & PutPermissionId200AllOf;
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { Permission } from './permission';
export type PutPermissionId200AllOf = {
responseData?: Permission;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { ApiResponse } from './apiResponse';
import type { PutPositionId200AllOf } from './putPositionId200AllOf';
export type PutPositionId200 = ApiResponse & PutPositionId200AllOf;
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { Position } from './position';
export type PutPositionId200AllOf = {
responseData?: Position;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { ApiResponse } from './apiResponse';
import type { PutPostId200AllOf } from './putPostId200AllOf';
export type PutPostId200 = ApiResponse & PutPostId200AllOf;
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { Post } from './post';
export type PutPostId200AllOf = {
responseData?: Post;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { ApiResponse } from './apiResponse';
import type { PutSiteInformation200AllOf } from './putSiteInformation200AllOf';
export type PutSiteInformation200 = ApiResponse & PutSiteInformation200AllOf;
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { SiteInformationData } from './siteInformationData';
export type PutSiteInformation200AllOf = {
responseData?: SiteInformationData;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { ApiResponse } from './apiResponse';
import type { PutTermId200AllOf } from './putTermId200AllOf';
export type PutTermId200 = ApiResponse & PutTermId200AllOf;
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { TermResponse } from './termResponse';
export type PutTermId200AllOf = {
responseData?: TermResponse;
};
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { ApiResponse } from './apiResponse';
import type { PutUserRoleId200AllOf } from './putUserRoleId200AllOf';
export type PutUserRoleId200 = ApiResponse & PutUserRoleId200AllOf;
/**
* Generated by orval v7.17.0 🍺
* Do not edit manually.
* Backend Template
* Coded by Meu TEAM
* OpenAPI spec version: 1.0.0
*/
import type { UserRole } from './userRole';
export type PutUserRoleId200AllOf = {
responseData?: UserRole;
};
......@@ -132,6 +132,65 @@ function mapPostRowToAdminNewsItem(item: any): AdminNewsItem {
};
}
type EventDateFieldKey = "started_at" | "ended_at" | "registration_deadline";
const EMPTY_EVENT_DATE_FIELD_FLAGS: Record<EventDateFieldKey, boolean> = {
started_at: false,
ended_at: false,
registration_deadline: false,
};
function getEventDateFieldFlags(
form: Pick<AdminNewsFormValues, EventDateFieldKey>,
): Record<EventDateFieldKey, boolean> {
return {
started_at: Boolean(form.started_at),
ended_at: Boolean(form.ended_at),
registration_deadline: Boolean(form.registration_deadline),
};
}
function OptionalEventDateField({
id,
label,
enabled,
value,
onChange,
onEnabledChange,
}: {
id: string;
label: string;
enabled: boolean;
value: string;
onChange: (value: string) => void;
onEnabledChange: (enabled: boolean) => void;
}) {
return (
<div>
<div className="mb-1.5 flex items-center gap-2">
<Checkbox
id={id}
checked={enabled}
onCheckedChange={(checked) => onEnabledChange(checked === true)}
className="border-[#063e8e]/30 data-[state=checked]:border-[#063e8e] data-[state=checked]:bg-[#063e8e]"
/>
<Label
htmlFor={id}
className={`cursor-pointer ${enabled ? "text-gray-700" : "text-gray-500"}`}
>
{label}
</Label>
</div>
<fieldset
disabled={!enabled}
className={`m-0 min-w-0 border-0 p-0 ${enabled ? "" : "opacity-50"}`}
>
<DateTimePicker value={value} onChange={onChange} />
</fieldset>
</div>
);
}
export function AdminNewsFormContent() {
const params = useParams();
const searchParams = useSearchParams();
......@@ -151,6 +210,9 @@ export function AdminNewsFormContent() {
const [isLoadingInitialData, setIsLoadingInitialData] = useState(true);
const [isMissingPost, setIsMissingPost] = useState(false);
const [useEventDates, setUseEventDates] = useState(false);
const [enabledEventDateFields, setEnabledEventDateFields] = useState<
Record<EventDateFieldKey, boolean>
>(EMPTY_EVENT_DATE_FIELD_FLAGS);
const [isAddressManagerOpen, setIsAddressManagerOpen] = useState(false);
const [isAddressSuggestOpen, setIsAddressSuggestOpen] = useState(false);
const [postTagNames, setPostTagNames] = useState<string[]>([]);
......@@ -284,6 +346,7 @@ export function AdminNewsFormContent() {
updated_at: now,
});
setUseEventDates(false);
setEnabledEventDateFields({ ...EMPTY_EVENT_DATE_FIELD_FLAGS });
setIsMissingPost(false);
setIsLoadingInitialData(false);
return;
......@@ -340,6 +403,7 @@ export function AdminNewsFormContent() {
const nextForm = cloneAdminNewsFormValues(currentItem);
setForm(nextForm);
setUseEventDates((nextForm.event_dates ?? []).length > 0);
setEnabledEventDateFields(getEventDateFieldFlags(nextForm));
setIsLoadingInitialData(false);
}, [isCreate, newsId, postDetailQuery.data, postDetailQuery.isLoading, postTagNames]);
......@@ -358,10 +422,10 @@ export function AdminNewsFormContent() {
useEffect(() => {
if (!isCreate || !form || showDraftDialog) return;
const timer = setTimeout(() => {
saveDraft({ form, useEventDates });
saveDraft({ form, useEventDates, eventDateFields: enabledEventDateFields });
}, 800);
return () => clearTimeout(timer);
}, [form, useEventDates, isCreate, showDraftDialog, saveDraft]);
}, [form, useEventDates, enabledEventDateFields, isCreate, showDraftDialog, saveDraft]);
const handleRestoreDraft = useCallback(() => {
if (!pendingDraft?.form) return;
......@@ -369,6 +433,10 @@ export function AdminNewsFormContent() {
const restored = JSON.parse(JSON.stringify(pendingDraft.form)) as AdminNewsFormValues;
setForm(restored);
setUseEventDates(pendingDraft.useEventDates ?? false);
setEnabledEventDateFields({
...getEventDateFieldFlags(restored),
...pendingDraft.eventDateFields,
});
setShowDraftDialog(false);
setPendingDraft(null);
toast.success("Đã khôi phục bản nháp");
......@@ -453,6 +521,13 @@ export function AdminNewsFormContent() {
});
};
const handleEventDateFieldToggle = (key: EventDateFieldKey, enabled: boolean) => {
setEnabledEventDateFields((current) => ({ ...current, [key]: enabled }));
if (!enabled) {
handleField(key, "");
}
};
const handleTitleChange = (value: string) => {
setForm((current) => {
if (!current) return current;
......@@ -609,9 +684,15 @@ export function AdminNewsFormContent() {
is_active: !form.is_hidden,
published_at: toIsoWithLocalOffset(form.published_at),
expired_at: toIsoWithLocalOffset(form.expired_at),
started_at: toIsoWithLocalOffset(form.started_at),
ended_at: toIsoWithLocalOffset(form.ended_at),
registration_deadline: toIsoWithLocalOffset(form.registration_deadline),
started_at: enabledEventDateFields.started_at
? toIsoWithLocalOffset(form.started_at)
: null,
ended_at: enabledEventDateFields.ended_at
? toIsoWithLocalOffset(form.ended_at)
: null,
registration_deadline: enabledEventDateFields.registration_deadline
? toIsoWithLocalOffset(form.registration_deadline)
: null,
location: form.location.trim() || null,
participation_fee: form.participation_fee.trim() || null,
event_dates: (form.event_dates ?? []).length > 0 ? form.event_dates : null,
......@@ -1028,32 +1109,43 @@ export function AdminNewsFormContent() {
</div>
)}
<p className="text-xs text-gray-500">
Bật các mốc thời gian cần dùng. Trường bỏ chọn sẽ không được lưu.
</p>
<div className="grid grid-cols-1 gap-4 md:grid-cols-2 xl:grid-cols-3">
<div>
<Label className="mb-1.5 block text-gray-700">Ngày bắt đầu</Label>
<DateTimePicker
<OptionalEventDateField
id="event-started-at-enabled"
label="Ngày bắt đầu"
enabled={enabledEventDateFields.started_at}
value={form.started_at}
onChange={(value) => handleField("started_at", value)}
onEnabledChange={(enabled) =>
handleEventDateFieldToggle("started_at", enabled)
}
/>
</div>
<div>
<Label className="mb-1.5 block text-gray-700">Ngày kết thúc</Label>
<DateTimePicker
<OptionalEventDateField
id="event-ended-at-enabled"
label="Ngày kết thúc"
enabled={enabledEventDateFields.ended_at}
value={form.ended_at}
onChange={(value) => handleField("ended_at", value)}
onEnabledChange={(enabled) =>
handleEventDateFieldToggle("ended_at", enabled)
}
/>
</div>
<div>
<Label className="mb-1.5 block text-gray-700">
Hạn đăng ký
</Label>
<DateTimePicker
<OptionalEventDateField
id="event-registration-deadline-enabled"
label="Hạn đăng ký"
enabled={enabledEventDateFields.registration_deadline}
value={form.registration_deadline}
onChange={(value) => handleField("registration_deadline", value)}
onEnabledChange={(enabled) =>
handleEventDateFieldToggle("registration_deadline", enabled)
}
/>
</div>
<div>
<div className="mb-1.5 flex items-center justify-between gap-2">
......
"use client";
import * as React from "react";
import { Image as ImageIcon, Pencil, Plus, Type, Upload, X } from "lucide-react";
import {
ChevronDown,
ChevronUp,
Image as ImageIcon,
Pencil,
Plus,
Type,
Upload,
X,
} from "lucide-react";
import Image from "next/image";
import { AdminImagePicker } from "@/components/admin/image-picker";
import { AdminRichTextEditor } from "@/components/shared/rich-text-editor";
......@@ -156,6 +165,32 @@ export function AdminPostContentEditor({
onChange(nextSections);
};
const moveSection = (sectionId: string, direction: -1 | 1) => {
const currentIndex = sections.findIndex((section) => section.id === sectionId);
const targetIndex = currentIndex + direction;
if (
currentIndex < 0 ||
targetIndex < 0 ||
targetIndex >= sections.length
) {
return;
}
const nextSections = [...sections];
[nextSections[currentIndex], nextSections[targetIndex]] = [
nextSections[targetIndex],
nextSections[currentIndex],
];
onChange(
nextSections.map((section, index) => ({
...section,
position: index + 1,
})),
);
};
const updateGrid = (sectionId: string, columns: number, rows: number) => {
updateSection(sectionId, (section) => {
const maxImages = columns * rows;
......@@ -244,8 +279,10 @@ export function AdminPostContentEditor({
</div>
) : null}
{sections.map((section) => {
{sections.map((section, sectionIndex) => {
const maxSlots = section.image_columns * section.image_rows;
const isFirstSection = sectionIndex === 0;
const isLastSection = sectionIndex === sections.length - 1;
return (
<div
......@@ -262,23 +299,51 @@ export function AdminPostContentEditor({
)}
</div>
<div>
<p className="text-sm font-medium text-gray-700">Section {section.position}</p>
<p className="text-sm font-medium text-gray-700">Section {sectionIndex + 1}</p>
<p className="text-base font-semibold text-black">
{section.type === "text" ? "Văn bản" : "Hình ảnh"}
</p>
</div>
</div>
<div className="flex items-center gap-1">
<Button
type="button"
variant="ghost"
size="icon"
onClick={() => moveSection(section.id, -1)}
disabled={isFirstSection}
title="Di chuyển section lên"
aria-label={`Di chuyển section ${sectionIndex + 1} lên`}
className="text-gray-700 hover:bg-[#063e8e]/10 hover:text-[#063e8e] disabled:opacity-30"
>
<ChevronUp className="h-4 w-4" />
</Button>
<Button
type="button"
variant="ghost"
size="icon"
onClick={() => moveSection(section.id, 1)}
disabled={isLastSection}
title="Di chuyển section xuống"
aria-label={`Di chuyển section ${sectionIndex + 1} xuống`}
className="text-gray-700 hover:bg-[#063e8e]/10 hover:text-[#063e8e] disabled:opacity-30"
>
<ChevronDown className="h-4 w-4" />
</Button>
<Button
type="button"
variant="ghost"
size="icon"
onClick={() => removeSection(section.id)}
title="Xóa section"
aria-label={`Xóa section ${sectionIndex + 1}`}
className="text-gray-700 hover:bg-red-50 hover:text-red-600"
>
<X className="h-4 w-4" />
</Button>
</div>
</div>
<div className="space-y-5 px-5 py-5">
{section.type === "text" ? (
......
......@@ -10,6 +10,9 @@ const MAX_DRAFT_AGE_MS = 1000 * 60 * 60 * 24 * 7; // 7 ngày
export interface NewsDraftData {
form: AdminNewsFormValues;
useEventDates: boolean;
eventDateFields?: Partial<
Record<"started_at" | "ended_at" | "registration_deadline", boolean>
>;
savedAt: string; // ISO timestamp
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment