chore(api): orval 재생성 — 채널 5종(tiktok·instagram_en·facebook_en·kakao_talk·naver_cafe) 추가, clinic list 엔드포인트 제거, missing→N/A
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>main
parent
046d36302a
commit
2db78e6bec
|
|
@ -27,9 +27,7 @@ import type {
|
||||||
ClinicCreate,
|
ClinicCreate,
|
||||||
ClinicCreateResponse,
|
ClinicCreateResponse,
|
||||||
ClinicHistoryResponse,
|
ClinicHistoryResponse,
|
||||||
ClinicListResponse,
|
|
||||||
ClinicResponse,
|
ClinicResponse,
|
||||||
GetClinicsParams,
|
|
||||||
HTTPValidationError
|
HTTPValidationError
|
||||||
} from '../../model';
|
} from '../../model';
|
||||||
|
|
||||||
|
|
@ -40,132 +38,6 @@ type SecondParameter<T extends (...args: never) => unknown> = Parameters<T>[1];
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @summary Get Clinics
|
|
||||||
*/
|
|
||||||
export type getClinicsResponse200 = {
|
|
||||||
data: ClinicListResponse
|
|
||||||
status: 200
|
|
||||||
}
|
|
||||||
|
|
||||||
export type getClinicsResponse422 = {
|
|
||||||
data: HTTPValidationError
|
|
||||||
status: 422
|
|
||||||
}
|
|
||||||
|
|
||||||
export type getClinicsResponseSuccess = (getClinicsResponse200) & {
|
|
||||||
headers: Headers;
|
|
||||||
};
|
|
||||||
export type getClinicsResponseError = (getClinicsResponse422) & {
|
|
||||||
headers: Headers;
|
|
||||||
};
|
|
||||||
|
|
||||||
export type getClinicsResponse = (getClinicsResponseSuccess | getClinicsResponseError)
|
|
||||||
|
|
||||||
export const getGetClinicsUrl = (params?: GetClinicsParams,) => {
|
|
||||||
const normalizedParams = new URLSearchParams();
|
|
||||||
|
|
||||||
Object.entries(params || {}).forEach(([key, value]) => {
|
|
||||||
|
|
||||||
if (value !== undefined) {
|
|
||||||
normalizedParams.append(key, value === null ? 'null' : value.toString())
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
const stringifiedParams = normalizedParams.toString();
|
|
||||||
|
|
||||||
return stringifiedParams.length > 0 ? `/api/clinics?${stringifiedParams}` : `/api/clinics`
|
|
||||||
}
|
|
||||||
|
|
||||||
export const getClinics = async (params?: GetClinicsParams, options?: RequestInit): Promise<getClinicsResponse> => {
|
|
||||||
|
|
||||||
return customFetcher<getClinicsResponse>(getGetClinicsUrl(params),
|
|
||||||
{
|
|
||||||
...options,
|
|
||||||
method: 'GET'
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
);}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
export const getGetClinicsQueryKey = (params?: GetClinicsParams,) => {
|
|
||||||
return [
|
|
||||||
`/api/clinics`, ...(params ? [params]: [])
|
|
||||||
] as const;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
export const getGetClinicsQueryOptions = <TData = Awaited<ReturnType<typeof getClinics>>, TError = HTTPValidationError>(params?: GetClinicsParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getClinics>>, TError, TData>>, request?: SecondParameter<typeof customFetcher>}
|
|
||||||
) => {
|
|
||||||
|
|
||||||
const {query: queryOptions, request: requestOptions} = options ?? {};
|
|
||||||
|
|
||||||
const queryKey = queryOptions?.queryKey ?? getGetClinicsQueryKey(params);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
const queryFn: QueryFunction<Awaited<ReturnType<typeof getClinics>>> = () => getClinics(params, requestOptions);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
return { queryKey, queryFn, staleTime: 60000, ...queryOptions} as UseQueryOptions<Awaited<ReturnType<typeof getClinics>>, TError, TData> & { queryKey: DataTag<QueryKey, TData> }
|
|
||||||
}
|
|
||||||
|
|
||||||
export type GetClinicsQueryResult = NonNullable<Awaited<ReturnType<typeof getClinics>>>
|
|
||||||
export type GetClinicsQueryError = HTTPValidationError
|
|
||||||
|
|
||||||
|
|
||||||
export function useGetClinics<TData = Awaited<ReturnType<typeof getClinics>>, TError = HTTPValidationError>(
|
|
||||||
params: undefined | GetClinicsParams, options: { query:Partial<UseQueryOptions<Awaited<ReturnType<typeof getClinics>>, TError, TData>> & Pick<
|
|
||||||
DefinedInitialDataOptions<
|
|
||||||
Awaited<ReturnType<typeof getClinics>>,
|
|
||||||
TError,
|
|
||||||
Awaited<ReturnType<typeof getClinics>>
|
|
||||||
> , 'initialData'
|
|
||||||
>, request?: SecondParameter<typeof customFetcher>}
|
|
||||||
, queryClient?: QueryClient
|
|
||||||
): DefinedUseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData> }
|
|
||||||
export function useGetClinics<TData = Awaited<ReturnType<typeof getClinics>>, TError = HTTPValidationError>(
|
|
||||||
params?: GetClinicsParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getClinics>>, TError, TData>> & Pick<
|
|
||||||
UndefinedInitialDataOptions<
|
|
||||||
Awaited<ReturnType<typeof getClinics>>,
|
|
||||||
TError,
|
|
||||||
Awaited<ReturnType<typeof getClinics>>
|
|
||||||
> , 'initialData'
|
|
||||||
>, request?: SecondParameter<typeof customFetcher>}
|
|
||||||
, queryClient?: QueryClient
|
|
||||||
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData> }
|
|
||||||
export function useGetClinics<TData = Awaited<ReturnType<typeof getClinics>>, TError = HTTPValidationError>(
|
|
||||||
params?: GetClinicsParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getClinics>>, TError, TData>>, request?: SecondParameter<typeof customFetcher>}
|
|
||||||
, queryClient?: QueryClient
|
|
||||||
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData> }
|
|
||||||
/**
|
|
||||||
* @summary Get Clinics
|
|
||||||
*/
|
|
||||||
|
|
||||||
export function useGetClinics<TData = Awaited<ReturnType<typeof getClinics>>, TError = HTTPValidationError>(
|
|
||||||
params?: GetClinicsParams, options?: { query?:Partial<UseQueryOptions<Awaited<ReturnType<typeof getClinics>>, TError, TData>>, request?: SecondParameter<typeof customFetcher>}
|
|
||||||
, queryClient?: QueryClient
|
|
||||||
): UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData> } {
|
|
||||||
|
|
||||||
const queryOptions = getGetClinicsQueryOptions(params,options)
|
|
||||||
|
|
||||||
const query = useQuery(queryOptions, queryClient) as UseQueryResult<TData, TError> & { queryKey: DataTag<QueryKey, TData> };
|
|
||||||
|
|
||||||
query.queryKey = queryOptions.queryKey ;
|
|
||||||
|
|
||||||
return query;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @summary Create Clinic
|
* @summary Create Clinic
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -12,5 +12,5 @@ export type ChannelBrandingRuleCurrentStatus = typeof ChannelBrandingRuleCurrent
|
||||||
export const ChannelBrandingRuleCurrentStatus = {
|
export const ChannelBrandingRuleCurrentStatus = {
|
||||||
correct: 'correct',
|
correct: 'correct',
|
||||||
incorrect: 'incorrect',
|
incorrect: 'incorrect',
|
||||||
missing: 'missing',
|
'N/A': 'N/A',
|
||||||
} as const;
|
} as const;
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,11 @@ import type { ChannelsInstagram } from './channelsInstagram';
|
||||||
import type { ChannelsFacebook } from './channelsFacebook';
|
import type { ChannelsFacebook } from './channelsFacebook';
|
||||||
import type { ChannelsNaverBlog } from './channelsNaverBlog';
|
import type { ChannelsNaverBlog } from './channelsNaverBlog';
|
||||||
import type { ChannelsGangnamUnni } from './channelsGangnamUnni';
|
import type { ChannelsGangnamUnni } from './channelsGangnamUnni';
|
||||||
|
import type { ChannelsTiktok } from './channelsTiktok';
|
||||||
|
import type { ChannelsInstagramEn } from './channelsInstagramEn';
|
||||||
|
import type { ChannelsFacebookEn } from './channelsFacebookEn';
|
||||||
|
import type { ChannelsKakaoTalk } from './channelsKakaoTalk';
|
||||||
|
import type { ChannelsNaverCafe } from './channelsNaverCafe';
|
||||||
|
|
||||||
export interface Channels {
|
export interface Channels {
|
||||||
youtube?: ChannelsYoutube;
|
youtube?: ChannelsYoutube;
|
||||||
|
|
@ -16,4 +21,9 @@ export interface Channels {
|
||||||
facebook?: ChannelsFacebook;
|
facebook?: ChannelsFacebook;
|
||||||
naver_blog?: ChannelsNaverBlog;
|
naver_blog?: ChannelsNaverBlog;
|
||||||
gangnam_unni?: ChannelsGangnamUnni;
|
gangnam_unni?: ChannelsGangnamUnni;
|
||||||
|
tiktok?: ChannelsTiktok;
|
||||||
|
instagram_en?: ChannelsInstagramEn;
|
||||||
|
facebook_en?: ChannelsFacebookEn;
|
||||||
|
kakao_talk?: ChannelsKakaoTalk;
|
||||||
|
naver_cafe?: ChannelsNaverCafe;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -5,4 +5,4 @@
|
||||||
* OpenAPI spec version: 0.1.0
|
* OpenAPI spec version: 0.1.0
|
||||||
*/
|
*/
|
||||||
|
|
||||||
export type ClinicListItemRoadAddress = string | null;
|
export type ChannelsFacebookEn = string | null;
|
||||||
|
|
@ -5,4 +5,4 @@
|
||||||
* OpenAPI spec version: 0.1.0
|
* OpenAPI spec version: 0.1.0
|
||||||
*/
|
*/
|
||||||
|
|
||||||
export type ClinicListItemHospitalNameEn = string | null;
|
export type ChannelsInstagramEn = string | null;
|
||||||
|
|
@ -5,4 +5,4 @@
|
||||||
* OpenAPI spec version: 0.1.0
|
* OpenAPI spec version: 0.1.0
|
||||||
*/
|
*/
|
||||||
|
|
||||||
export type ClinicListItemUrl = string | null;
|
export type ChannelsKakaoTalk = string | null;
|
||||||
|
|
@ -5,7 +5,4 @@
|
||||||
* OpenAPI spec version: 0.1.0
|
* OpenAPI spec version: 0.1.0
|
||||||
*/
|
*/
|
||||||
|
|
||||||
export type GetClinicsParams = {
|
export type ChannelsNaverCafe = string | null;
|
||||||
limit?: number;
|
|
||||||
offset?: number;
|
|
||||||
};
|
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
/**
|
||||||
|
* Generated by orval v7.21.0 🍺
|
||||||
|
* Do not edit manually.
|
||||||
|
* FastAPI
|
||||||
|
* OpenAPI spec version: 0.1.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
export type ChannelsTiktok = string | null;
|
||||||
|
|
@ -1,20 +0,0 @@
|
||||||
/**
|
|
||||||
* Generated by orval v7.21.0 🍺
|
|
||||||
* Do not edit manually.
|
|
||||||
* FastAPI
|
|
||||||
* OpenAPI spec version: 0.1.0
|
|
||||||
*/
|
|
||||||
import type { ClinicListItemHospitalNameEn } from './clinicListItemHospitalNameEn';
|
|
||||||
import type { ClinicListItemRoadAddress } from './clinicListItemRoadAddress';
|
|
||||||
import type { ClinicListItemUrl } from './clinicListItemUrl';
|
|
||||||
|
|
||||||
export interface ClinicListItem {
|
|
||||||
hospital_id: string;
|
|
||||||
hospital_name: string;
|
|
||||||
hospital_name_en: ClinicListItemHospitalNameEn;
|
|
||||||
road_address: ClinicListItemRoadAddress;
|
|
||||||
url: ClinicListItemUrl;
|
|
||||||
status: string;
|
|
||||||
created_at: string;
|
|
||||||
updated_at: string;
|
|
||||||
}
|
|
||||||
|
|
@ -1,12 +0,0 @@
|
||||||
/**
|
|
||||||
* Generated by orval v7.21.0 🍺
|
|
||||||
* Do not edit manually.
|
|
||||||
* FastAPI
|
|
||||||
* OpenAPI spec version: 0.1.0
|
|
||||||
*/
|
|
||||||
import type { ClinicListItem } from './clinicListItem';
|
|
||||||
|
|
||||||
export interface ClinicListResponse {
|
|
||||||
items: ClinicListItem[];
|
|
||||||
total: number;
|
|
||||||
}
|
|
||||||
|
|
@ -46,19 +46,19 @@ export * from './channelStrategyCardCustomerJourneyStage';
|
||||||
export * from './channelStrategyCardPriority';
|
export * from './channelStrategyCardPriority';
|
||||||
export * from './channels';
|
export * from './channels';
|
||||||
export * from './channelsFacebook';
|
export * from './channelsFacebook';
|
||||||
|
export * from './channelsFacebookEn';
|
||||||
export * from './channelsGangnamUnni';
|
export * from './channelsGangnamUnni';
|
||||||
export * from './channelsInstagram';
|
export * from './channelsInstagram';
|
||||||
|
export * from './channelsInstagramEn';
|
||||||
|
export * from './channelsKakaoTalk';
|
||||||
export * from './channelsNaverBlog';
|
export * from './channelsNaverBlog';
|
||||||
|
export * from './channelsNaverCafe';
|
||||||
|
export * from './channelsTiktok';
|
||||||
export * from './channelsYoutube';
|
export * from './channelsYoutube';
|
||||||
export * from './clinicCreate';
|
export * from './clinicCreate';
|
||||||
export * from './clinicCreateResponse';
|
export * from './clinicCreateResponse';
|
||||||
export * from './clinicHistoryResponse';
|
export * from './clinicHistoryResponse';
|
||||||
export * from './clinicHistoryResponseMetricsTimeseries';
|
export * from './clinicHistoryResponseMetricsTimeseries';
|
||||||
export * from './clinicListItem';
|
|
||||||
export * from './clinicListItemHospitalNameEn';
|
|
||||||
export * from './clinicListItemRoadAddress';
|
|
||||||
export * from './clinicListItemUrl';
|
|
||||||
export * from './clinicListResponse';
|
|
||||||
export * from './clinicResponse';
|
export * from './clinicResponse';
|
||||||
export * from './clinicResponseHospitalNameEn';
|
export * from './clinicResponseHospitalNameEn';
|
||||||
export * from './clinicResponseRawData';
|
export * from './clinicResponseRawData';
|
||||||
|
|
@ -91,7 +91,6 @@ export * from './fileType';
|
||||||
export * from './fileUploadResponse';
|
export * from './fileUploadResponse';
|
||||||
export * from './fileUploadResponseSizeBytes';
|
export * from './fileUploadResponseSizeBytes';
|
||||||
export * from './fontSpec';
|
export * from './fontSpec';
|
||||||
export * from './getClinicsParams';
|
|
||||||
export * from './hTTPValidationError';
|
export * from './hTTPValidationError';
|
||||||
export * from './instagramAccount';
|
export * from './instagramAccount';
|
||||||
export * from './instagramAudit';
|
export * from './instagramAudit';
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue