feat(SW-550): added sync functionality and sitemap generation * feat(SW-550): added sync functionality and sitemap generation * feat(SW-550): Added support for splitting and saving multiple sitemaps when there are 50000+ urls * feat(SW-550): Updates after PR * feat(SW-550): Added locale to sitemap data * feat(SW-550): Added support for locale based sitemapData * feat(SW-550): Saving alternates of sitemap entries * feat(SW-550): Refactoring to use sitemap utils file * feat(SW-550): Using Netlify.env to get environment variables * feat(SW-550): clarify use of functions Approved-by: Michael Zetterberg
51 lines
973 B
TypeScript
51 lines
973 B
TypeScript
import type { SyncResult } from "contentstack"
|
|
|
|
import type { Lang } from "@/constants/languages"
|
|
|
|
export type ChangeFrequency =
|
|
| "always"
|
|
| "hourly"
|
|
| "daily"
|
|
| "weekly"
|
|
| "monthly"
|
|
| "yearly"
|
|
| "never"
|
|
|
|
export interface SitemapEntry {
|
|
url: string
|
|
lastModified: string
|
|
changeFrequency: ChangeFrequency
|
|
priority: number
|
|
alternates?: Partial<Record<Lang, string>>
|
|
}
|
|
|
|
export type SitemapData = SitemapEntry[]
|
|
|
|
export interface SyncItemData {
|
|
uid: string
|
|
locale: Lang
|
|
url?: string
|
|
updated_at: string
|
|
web?: {
|
|
seo_metadata?: {
|
|
noindex?: boolean | null
|
|
sitemap?: {
|
|
change_frequency: SitemapEntry["changeFrequency"]
|
|
priority: SitemapEntry["priority"]
|
|
} | null
|
|
}
|
|
}
|
|
}
|
|
export interface SyncItem {
|
|
type: string
|
|
data: SyncItemData
|
|
}
|
|
export interface SyncResponse extends Omit<SyncResult, "items"> {
|
|
items: SyncItem[]
|
|
}
|
|
|
|
export type SyncItemsByUid = {
|
|
mainEntry: SyncItem
|
|
alternates: SyncItem[]
|
|
}
|