import Foundation

struct PageFile {

    let isDraft: Bool

    let externalLink: String?

    let tags: [String]

    let hideDate: Bool?

    let createdDate: Date

    let startDate: Date

    let endDate: Date?

    let german: LocalizedPageFile

    let english: LocalizedPageFile

    /**
     Specifies additional files which should be copied to the destination when generating the content.
     - Note: This property defaults to an empty set.
     */
    let requiredFiles: [String]?
}

extension PageFile: Codable {

}

/**
 The structure to store the metadata of a localized page
 */
struct LocalizedPageFile {

    let url: String

    let title: String

    let linkPreviewImage: String?

    let linkPreviewTitle: String?

    let linkPreviewDescription: String?

    let lastModifiedDate: Date?

    let originalURL: String?

    let hideTitle: Bool?
}

extension LocalizedPageFile: Codable {

}
