Files
web/types/sitemap.ts
Erik Tiekstra c93381ca80 Merged in feat/SW-550-sitemap (pull request #981)
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
2025-02-17 10:35:11 +00:00

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[]
}