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
This commit is contained in:
50
types/sitemap.ts
Normal file
50
types/sitemap.ts
Normal file
@@ -0,0 +1,50 @@
|
||||
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[]
|
||||
}
|
||||
Reference in New Issue
Block a user