chore: orval 재생성 + report 정합 + /test fixture 정리
- orval: youtube/instagram/facebook 의 split 타입을 inline 으로 복귀, facebookPageEngagement·postFrequency 추가 - report: mainCTA → mainCta 로 백엔드 명세 정합 (transformer 가 항상 빈 문자열로 떨어지던 버그) - report: additionalDomains 의 purpose 비면 ' — ' 표시 안 함 - /test fixture 에서 나나성형외과 제거 (10 → 9) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>main
parent
ea7b21dee3
commit
5839001e82
|
|
@ -81,18 +81,6 @@ export const CLINICS: ClinicFixture[] = [
|
|||
gangnamUnni: 'https://www.gangnamunni.com/hospitals/2500',
|
||||
},
|
||||
},
|
||||
{
|
||||
label: '나나성형외과',
|
||||
urls: {
|
||||
homepage: 'https://www.nanaprs.com',
|
||||
youtube: 'https://www.youtube.com/@Nanaprstv',
|
||||
instagram: 'https://www.instagram.com/nanaprs/',
|
||||
facebook: 'https://www.facebook.com/nanaprs2',
|
||||
naverPlace: 'https://m.place.naver.com/hospital/1518147116',
|
||||
naverBlog: 'https://blog.naver.com/nanaprs1',
|
||||
gangnamUnni: 'https://www.gangnamunni.com/hospitals/938',
|
||||
},
|
||||
},
|
||||
{
|
||||
label: '디에이성형외과',
|
||||
urls: {
|
||||
|
|
|
|||
|
|
@ -86,13 +86,14 @@ export default function OtherChannels({ channels, website }: OtherChannelsProps)
|
|||
<div className="mt-2 space-y-1">
|
||||
{website.additionalDomains.map((d) => (
|
||||
<p key={d.domain} className="text-sm text-slate-600">
|
||||
{d.domain} — <span className="text-slate-400">{d.purpose}</span>
|
||||
{d.domain}
|
||||
{d.purpose && <> — <span className="text-slate-400">{d.purpose}</span></>}
|
||||
</p>
|
||||
))}
|
||||
</div>
|
||||
)}
|
||||
<p className="text-sm text-slate-500 mt-2">
|
||||
주요 CTA: <span className="font-medium text-[#0A1128]">{website.mainCTA}</span>
|
||||
주요 CTA: <span className="font-medium text-[#0A1128]">{website.mainCta}</span>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -206,7 +206,7 @@ function buildReportCsv(report: MarketingReport): string {
|
|||
title: 'Website Audit',
|
||||
rows: [
|
||||
['Primary Domain', 'Main CTA', 'SNS Links On Site'],
|
||||
[w.primaryDomain, w.mainCTA, w.snsLinksOnSite ? 'Y' : 'N'],
|
||||
[w.primaryDomain, w.mainCta, w.snsLinksOnSite ? 'Y' : 'N'],
|
||||
],
|
||||
});
|
||||
if (w.trackingPixels?.length) {
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ interface ApiReport {
|
|||
trackingPixels?: { name: string; installed: boolean }[];
|
||||
snsLinksOnSite?: boolean;
|
||||
additionalDomains?: { domain: string; purpose: string }[];
|
||||
mainCTA?: string;
|
||||
mainCta?: string;
|
||||
}>;
|
||||
competitors?: {
|
||||
name: string;
|
||||
|
|
@ -663,7 +663,7 @@ export function transformApiReport(
|
|||
name: (p as { name?: string }).name || '',
|
||||
installed: (p as { installed?: boolean }).installed ?? false,
|
||||
})),
|
||||
mainCTA: r.channelAnalysis?.website?.mainCTA || '',
|
||||
mainCta: r.channelAnalysis?.website?.mainCta || '',
|
||||
},
|
||||
|
||||
problemDiagnosis: buildDiagnosis(r),
|
||||
|
|
|
|||
|
|
@ -174,7 +174,7 @@ export interface WebsiteAudit {
|
|||
snsLinksOnSite: boolean;
|
||||
snsLinksDetail?: { platform: string; url: string; location: string }[];
|
||||
trackingPixels: TrackingPixel[];
|
||||
mainCTA: string;
|
||||
mainCta: string;
|
||||
}
|
||||
|
||||
export interface AsIsToBeItem {
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ export interface ChannelScore {
|
|||
channel: string;
|
||||
icon: string;
|
||||
score: number;
|
||||
maxScore: number;
|
||||
maxScore?: number;
|
||||
status: Severity;
|
||||
headline: string;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,42 +4,27 @@
|
|||
* FastAPI
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
import type { FacebookPageUrl } from './facebookPageUrl';
|
||||
import type { FacebookPagePageName } from './facebookPagePageName';
|
||||
import type { FacebookPageLanguage } from './facebookPageLanguage';
|
||||
import type { FacebookPageLabel } from './facebookPageLabel';
|
||||
import type { FacebookPageFollowers } from './facebookPageFollowers';
|
||||
import type { FacebookPageFollowing } from './facebookPageFollowing';
|
||||
import type { FacebookPageCategory } from './facebookPageCategory';
|
||||
import type { FacebookPageBio } from './facebookPageBio';
|
||||
import type { FacebookPageLogo } from './facebookPageLogo';
|
||||
import type { FacebookPageLogoDescription } from './facebookPageLogoDescription';
|
||||
import type { FacebookPageLink } from './facebookPageLink';
|
||||
import type { FacebookPageLinkedDomain } from './facebookPageLinkedDomain';
|
||||
import type { FacebookPageReviews } from './facebookPageReviews';
|
||||
import type { FacebookPageRecentPostAge } from './facebookPageRecentPostAge';
|
||||
import type { Language } from './language';
|
||||
import type { FacebookPageHasWhatsapp } from './facebookPageHasWhatsapp';
|
||||
import type { FacebookPagePostFrequency } from './facebookPagePostFrequency';
|
||||
import type { FacebookPageTopContentType } from './facebookPageTopContentType';
|
||||
import type { FacebookPageEngagement } from './facebookPageEngagement';
|
||||
|
||||
export interface FacebookPage {
|
||||
url?: FacebookPageUrl;
|
||||
pageName?: FacebookPagePageName;
|
||||
language?: FacebookPageLanguage;
|
||||
label?: FacebookPageLabel;
|
||||
followers?: FacebookPageFollowers;
|
||||
following?: FacebookPageFollowing;
|
||||
category?: FacebookPageCategory;
|
||||
bio?: FacebookPageBio;
|
||||
logo?: FacebookPageLogo;
|
||||
logoDescription?: FacebookPageLogoDescription;
|
||||
link?: FacebookPageLink;
|
||||
linkedDomain?: FacebookPageLinkedDomain;
|
||||
reviews?: FacebookPageReviews;
|
||||
recentPostAge?: FacebookPageRecentPostAge;
|
||||
url: string;
|
||||
pageName: string;
|
||||
language: Language;
|
||||
label: string;
|
||||
followers: number;
|
||||
following: number;
|
||||
category: string;
|
||||
bio: string;
|
||||
logo: string;
|
||||
logoDescription: string;
|
||||
link: string;
|
||||
linkedDomain: string;
|
||||
reviews: number;
|
||||
recentPostAge: string;
|
||||
hasWhatsapp?: FacebookPageHasWhatsapp;
|
||||
postFrequency?: FacebookPagePostFrequency;
|
||||
postFrequency: string;
|
||||
topContentType?: FacebookPageTopContentType;
|
||||
engagement?: FacebookPageEngagement;
|
||||
engagement: string;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,8 +0,0 @@
|
|||
/**
|
||||
* Generated by orval v7.21.0 🍺
|
||||
* Do not edit manually.
|
||||
* FastAPI
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
|
||||
export type FacebookPageBio = string | null;
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
/**
|
||||
* Generated by orval v7.21.0 🍺
|
||||
* Do not edit manually.
|
||||
* FastAPI
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
|
||||
export type FacebookPageCategory = string | null;
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
/**
|
||||
* Generated by orval v7.21.0 🍺
|
||||
* Do not edit manually.
|
||||
* FastAPI
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
|
||||
export type FacebookPageEngagement = string | null;
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
/**
|
||||
* Generated by orval v7.21.0 🍺
|
||||
* Do not edit manually.
|
||||
* FastAPI
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
|
||||
export type FacebookPageFollowers = number | null;
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
/**
|
||||
* Generated by orval v7.21.0 🍺
|
||||
* Do not edit manually.
|
||||
* FastAPI
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
|
||||
export type FacebookPageFollowing = number | null;
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
/**
|
||||
* Generated by orval v7.21.0 🍺
|
||||
* Do not edit manually.
|
||||
* FastAPI
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
|
||||
export type FacebookPageLabel = string | null;
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
/**
|
||||
* Generated by orval v7.21.0 🍺
|
||||
* Do not edit manually.
|
||||
* FastAPI
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
import type { Language } from './language';
|
||||
|
||||
export type FacebookPageLanguage = Language | null;
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
/**
|
||||
* Generated by orval v7.21.0 🍺
|
||||
* Do not edit manually.
|
||||
* FastAPI
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
|
||||
export type FacebookPageLink = string | null;
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
/**
|
||||
* Generated by orval v7.21.0 🍺
|
||||
* Do not edit manually.
|
||||
* FastAPI
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
|
||||
export type FacebookPageLinkedDomain = string | null;
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
/**
|
||||
* Generated by orval v7.21.0 🍺
|
||||
* Do not edit manually.
|
||||
* FastAPI
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
|
||||
export type FacebookPageLogo = string | null;
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
/**
|
||||
* Generated by orval v7.21.0 🍺
|
||||
* Do not edit manually.
|
||||
* FastAPI
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
|
||||
export type FacebookPageLogoDescription = string | null;
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
/**
|
||||
* Generated by orval v7.21.0 🍺
|
||||
* Do not edit manually.
|
||||
* FastAPI
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
|
||||
export type FacebookPagePageName = string | null;
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
/**
|
||||
* Generated by orval v7.21.0 🍺
|
||||
* Do not edit manually.
|
||||
* FastAPI
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
|
||||
export type FacebookPagePostFrequency = string | null;
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
/**
|
||||
* Generated by orval v7.21.0 🍺
|
||||
* Do not edit manually.
|
||||
* FastAPI
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
|
||||
export type FacebookPageRecentPostAge = string | null;
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
/**
|
||||
* Generated by orval v7.21.0 🍺
|
||||
* Do not edit manually.
|
||||
* FastAPI
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
|
||||
export type FacebookPageReviews = number | null;
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
/**
|
||||
* Generated by orval v7.21.0 🍺
|
||||
* Do not edit manually.
|
||||
* FastAPI
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
|
||||
export type FacebookPageUrl = string | null;
|
||||
|
|
@ -89,24 +89,8 @@ export * from './estimatedRevenue';
|
|||
export * from './facebookAudit';
|
||||
export * from './facebookAuditConsolidationRecommendation';
|
||||
export * from './facebookPage';
|
||||
export * from './facebookPageBio';
|
||||
export * from './facebookPageCategory';
|
||||
export * from './facebookPageEngagement';
|
||||
export * from './facebookPageFollowers';
|
||||
export * from './facebookPageFollowing';
|
||||
export * from './facebookPageHasWhatsapp';
|
||||
export * from './facebookPageLabel';
|
||||
export * from './facebookPageLanguage';
|
||||
export * from './facebookPageLink';
|
||||
export * from './facebookPageLinkedDomain';
|
||||
export * from './facebookPageLogo';
|
||||
export * from './facebookPageLogoDescription';
|
||||
export * from './facebookPagePageName';
|
||||
export * from './facebookPagePostFrequency';
|
||||
export * from './facebookPageRecentPostAge';
|
||||
export * from './facebookPageReviews';
|
||||
export * from './facebookPageTopContentType';
|
||||
export * from './facebookPageUrl';
|
||||
export * from './fileListItem';
|
||||
export * from './fileListItemSizeBytes';
|
||||
export * from './fileType';
|
||||
|
|
@ -115,18 +99,6 @@ export * from './fileUploadResponseSizeBytes';
|
|||
export * from './fontSpec';
|
||||
export * from './hTTPValidationError';
|
||||
export * from './instagramAccount';
|
||||
export * from './instagramAccountBio';
|
||||
export * from './instagramAccountCategory';
|
||||
export * from './instagramAccountContentFormat';
|
||||
export * from './instagramAccountFollowers';
|
||||
export * from './instagramAccountFollowing';
|
||||
export * from './instagramAccountHandle';
|
||||
export * from './instagramAccountLabel';
|
||||
export * from './instagramAccountLanguage';
|
||||
export * from './instagramAccountPosts';
|
||||
export * from './instagramAccountProfileLink';
|
||||
export * from './instagramAccountProfilePhoto';
|
||||
export * from './instagramAccountReelsCount';
|
||||
export * from './instagramAudit';
|
||||
export * from './kPIMetric';
|
||||
export * from './language';
|
||||
|
|
@ -192,16 +164,5 @@ export * from './websiteAuditSnsLinksDetail';
|
|||
export * from './weeklyViewGrowth';
|
||||
export * from './workflowStep';
|
||||
export * from './youTubeAudit';
|
||||
export * from './youTubeAuditAvgVideoLength';
|
||||
export * from './youTubeAuditChannelCreatedDate';
|
||||
export * from './youTubeAuditChannelDescription';
|
||||
export * from './youTubeAuditChannelName';
|
||||
export * from './youTubeAuditEstimatedMonthlyRevenue';
|
||||
export * from './youTubeAuditHandle';
|
||||
export * from './youTubeAuditSubscribers';
|
||||
export * from './youTubeAuditTotalVideos';
|
||||
export * from './youTubeAuditTotalViews';
|
||||
export * from './youTubeAuditUploadFrequency';
|
||||
export * from './youTubeAuditWeeklyViewGrowth';
|
||||
export * from './youTubeRepurposeItem';
|
||||
export * from './youTubeRepurposeItemType';
|
||||
|
|
@ -4,31 +4,20 @@
|
|||
* FastAPI
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
import type { InstagramAccountHandle } from './instagramAccountHandle';
|
||||
import type { InstagramAccountLanguage } from './instagramAccountLanguage';
|
||||
import type { InstagramAccountLabel } from './instagramAccountLabel';
|
||||
import type { InstagramAccountPosts } from './instagramAccountPosts';
|
||||
import type { InstagramAccountFollowers } from './instagramAccountFollowers';
|
||||
import type { InstagramAccountFollowing } from './instagramAccountFollowing';
|
||||
import type { InstagramAccountCategory } from './instagramAccountCategory';
|
||||
import type { InstagramAccountProfileLink } from './instagramAccountProfileLink';
|
||||
import type { InstagramAccountReelsCount } from './instagramAccountReelsCount';
|
||||
import type { InstagramAccountContentFormat } from './instagramAccountContentFormat';
|
||||
import type { InstagramAccountProfilePhoto } from './instagramAccountProfilePhoto';
|
||||
import type { InstagramAccountBio } from './instagramAccountBio';
|
||||
import type { Language } from './language';
|
||||
|
||||
export interface InstagramAccount {
|
||||
handle?: InstagramAccountHandle;
|
||||
language?: InstagramAccountLanguage;
|
||||
label?: InstagramAccountLabel;
|
||||
posts?: InstagramAccountPosts;
|
||||
followers?: InstagramAccountFollowers;
|
||||
following?: InstagramAccountFollowing;
|
||||
category?: InstagramAccountCategory;
|
||||
profileLink?: InstagramAccountProfileLink;
|
||||
highlights?: string[];
|
||||
reelsCount?: InstagramAccountReelsCount;
|
||||
contentFormat?: InstagramAccountContentFormat;
|
||||
profilePhoto?: InstagramAccountProfilePhoto;
|
||||
bio?: InstagramAccountBio;
|
||||
handle: string;
|
||||
language: Language;
|
||||
label: string;
|
||||
posts: number;
|
||||
followers: number;
|
||||
following: number;
|
||||
category: string;
|
||||
profileLink: string;
|
||||
highlights: string[];
|
||||
reelsCount: number;
|
||||
contentFormat: string;
|
||||
profilePhoto: string;
|
||||
bio: string;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,8 +0,0 @@
|
|||
/**
|
||||
* Generated by orval v7.21.0 🍺
|
||||
* Do not edit manually.
|
||||
* FastAPI
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
|
||||
export type InstagramAccountBio = string | null;
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
/**
|
||||
* Generated by orval v7.21.0 🍺
|
||||
* Do not edit manually.
|
||||
* FastAPI
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
|
||||
export type InstagramAccountCategory = string | null;
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
/**
|
||||
* Generated by orval v7.21.0 🍺
|
||||
* Do not edit manually.
|
||||
* FastAPI
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
|
||||
export type InstagramAccountContentFormat = string | null;
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
/**
|
||||
* Generated by orval v7.21.0 🍺
|
||||
* Do not edit manually.
|
||||
* FastAPI
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
|
||||
export type InstagramAccountFollowers = number | null;
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
/**
|
||||
* Generated by orval v7.21.0 🍺
|
||||
* Do not edit manually.
|
||||
* FastAPI
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
|
||||
export type InstagramAccountFollowing = number | null;
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
/**
|
||||
* Generated by orval v7.21.0 🍺
|
||||
* Do not edit manually.
|
||||
* FastAPI
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
|
||||
export type InstagramAccountHandle = string | null;
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
/**
|
||||
* Generated by orval v7.21.0 🍺
|
||||
* Do not edit manually.
|
||||
* FastAPI
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
|
||||
export type InstagramAccountLabel = string | null;
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
/**
|
||||
* Generated by orval v7.21.0 🍺
|
||||
* Do not edit manually.
|
||||
* FastAPI
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
import type { Language } from './language';
|
||||
|
||||
export type InstagramAccountLanguage = Language | null;
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
/**
|
||||
* Generated by orval v7.21.0 🍺
|
||||
* Do not edit manually.
|
||||
* FastAPI
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
|
||||
export type InstagramAccountPosts = number | null;
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
/**
|
||||
* Generated by orval v7.21.0 🍺
|
||||
* Do not edit manually.
|
||||
* FastAPI
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
|
||||
export type InstagramAccountProfileLink = string | null;
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
/**
|
||||
* Generated by orval v7.21.0 🍺
|
||||
* Do not edit manually.
|
||||
* FastAPI
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
|
||||
export type InstagramAccountProfilePhoto = string | null;
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
/**
|
||||
* Generated by orval v7.21.0 🍺
|
||||
* Do not edit manually.
|
||||
* FastAPI
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
|
||||
export type InstagramAccountReelsCount = number | null;
|
||||
|
|
@ -10,7 +10,7 @@ import type { TrackingPixel } from './trackingPixel';
|
|||
|
||||
export interface WebsiteAudit {
|
||||
primaryDomain: string;
|
||||
additionalDomains: AdditionalDomain[];
|
||||
additionalDomains?: AdditionalDomain[];
|
||||
snsLinksOnSite: boolean;
|
||||
snsLinksDetail?: WebsiteAuditSnsLinksDetail;
|
||||
trackingPixels: TrackingPixel[];
|
||||
|
|
|
|||
|
|
@ -4,35 +4,26 @@
|
|||
* FastAPI
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
import type { YouTubeAuditChannelName } from './youTubeAuditChannelName';
|
||||
import type { YouTubeAuditHandle } from './youTubeAuditHandle';
|
||||
import type { YouTubeAuditSubscribers } from './youTubeAuditSubscribers';
|
||||
import type { YouTubeAuditTotalVideos } from './youTubeAuditTotalVideos';
|
||||
import type { YouTubeAuditTotalViews } from './youTubeAuditTotalViews';
|
||||
import type { YouTubeAuditWeeklyViewGrowth } from './youTubeAuditWeeklyViewGrowth';
|
||||
import type { YouTubeAuditEstimatedMonthlyRevenue } from './youTubeAuditEstimatedMonthlyRevenue';
|
||||
import type { YouTubeAuditAvgVideoLength } from './youTubeAuditAvgVideoLength';
|
||||
import type { YouTubeAuditUploadFrequency } from './youTubeAuditUploadFrequency';
|
||||
import type { YouTubeAuditChannelCreatedDate } from './youTubeAuditChannelCreatedDate';
|
||||
import type { YouTubeAuditChannelDescription } from './youTubeAuditChannelDescription';
|
||||
import type { WeeklyViewGrowth } from './weeklyViewGrowth';
|
||||
import type { EstimatedRevenue } from './estimatedRevenue';
|
||||
import type { LinkedUrl } from './linkedUrl';
|
||||
import type { TopVideo } from './topVideo';
|
||||
import type { DiagnosisItem } from './diagnosisItem';
|
||||
|
||||
export interface YouTubeAudit {
|
||||
channelName?: YouTubeAuditChannelName;
|
||||
handle?: YouTubeAuditHandle;
|
||||
subscribers?: YouTubeAuditSubscribers;
|
||||
totalVideos?: YouTubeAuditTotalVideos;
|
||||
totalViews?: YouTubeAuditTotalViews;
|
||||
weeklyViewGrowth?: YouTubeAuditWeeklyViewGrowth;
|
||||
estimatedMonthlyRevenue?: YouTubeAuditEstimatedMonthlyRevenue;
|
||||
avgVideoLength?: YouTubeAuditAvgVideoLength;
|
||||
uploadFrequency?: YouTubeAuditUploadFrequency;
|
||||
channelCreatedDate?: YouTubeAuditChannelCreatedDate;
|
||||
channelDescription?: YouTubeAuditChannelDescription;
|
||||
linkedUrls?: LinkedUrl[];
|
||||
playlists?: string[];
|
||||
channelName: string;
|
||||
handle: string;
|
||||
subscribers: number;
|
||||
totalVideos: number;
|
||||
totalViews: number;
|
||||
weeklyViewGrowth: WeeklyViewGrowth;
|
||||
estimatedMonthlyRevenue: EstimatedRevenue;
|
||||
avgVideoLength: string;
|
||||
uploadFrequency: string;
|
||||
channelCreatedDate: string;
|
||||
channelDescription: string;
|
||||
linkedUrls: LinkedUrl[];
|
||||
playlists: string[];
|
||||
topVideos?: TopVideo[];
|
||||
diagnosis?: DiagnosisItem[];
|
||||
diagnosis: DiagnosisItem[];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,8 +0,0 @@
|
|||
/**
|
||||
* Generated by orval v7.21.0 🍺
|
||||
* Do not edit manually.
|
||||
* FastAPI
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
|
||||
export type YouTubeAuditAvgVideoLength = string | null;
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
/**
|
||||
* Generated by orval v7.21.0 🍺
|
||||
* Do not edit manually.
|
||||
* FastAPI
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
|
||||
export type YouTubeAuditChannelCreatedDate = string | null;
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
/**
|
||||
* Generated by orval v7.21.0 🍺
|
||||
* Do not edit manually.
|
||||
* FastAPI
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
|
||||
export type YouTubeAuditChannelDescription = string | null;
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
/**
|
||||
* Generated by orval v7.21.0 🍺
|
||||
* Do not edit manually.
|
||||
* FastAPI
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
|
||||
export type YouTubeAuditChannelName = string | null;
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
/**
|
||||
* Generated by orval v7.21.0 🍺
|
||||
* Do not edit manually.
|
||||
* FastAPI
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
import type { EstimatedRevenue } from './estimatedRevenue';
|
||||
|
||||
export type YouTubeAuditEstimatedMonthlyRevenue = EstimatedRevenue | null;
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
/**
|
||||
* Generated by orval v7.21.0 🍺
|
||||
* Do not edit manually.
|
||||
* FastAPI
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
|
||||
export type YouTubeAuditHandle = string | null;
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
/**
|
||||
* Generated by orval v7.21.0 🍺
|
||||
* Do not edit manually.
|
||||
* FastAPI
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
|
||||
export type YouTubeAuditSubscribers = number | null;
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
/**
|
||||
* Generated by orval v7.21.0 🍺
|
||||
* Do not edit manually.
|
||||
* FastAPI
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
|
||||
export type YouTubeAuditTotalVideos = number | null;
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
/**
|
||||
* Generated by orval v7.21.0 🍺
|
||||
* Do not edit manually.
|
||||
* FastAPI
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
|
||||
export type YouTubeAuditTotalViews = number | null;
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
/**
|
||||
* Generated by orval v7.21.0 🍺
|
||||
* Do not edit manually.
|
||||
* FastAPI
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
|
||||
export type YouTubeAuditUploadFrequency = string | null;
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
/**
|
||||
* Generated by orval v7.21.0 🍺
|
||||
* Do not edit manually.
|
||||
* FastAPI
|
||||
* OpenAPI spec version: 0.1.0
|
||||
*/
|
||||
import type { WeeklyViewGrowth } from './weeklyViewGrowth';
|
||||
|
||||
export type YouTubeAuditWeeklyViewGrowth = WeeklyViewGrowth | null;
|
||||
Loading…
Reference in New Issue