import Foundation

public struct HooksRecommendationMetadata: Equatable {
    public let contextType: String?
    public let hookId: String?
    public let recommendationItemId: String?

    public init(
        contextType: String? = nil,
        hookId: String? = nil,
        recommendationItemId: String? = nil
    ) {
        self.contextType = contextType
        self.hookId = hookId
        self.recommendationItemId = recommendationItemId
    }
}

public extension HooksRecommendationMetadata {
    func toSchema() -> RecommendationMetadataSchema {
        RecommendationMetadataSchema(
            contextType: contextType,
            hookId: hookId,
            recommendationItemId: recommendationItemId
        )
    }

    func toMetadata() -> RecommendationMetadata {
        RecommendationMetadata(
            recommendationItemId: recommendationItemId
        )
    }
}
