mirror of
https://github.com/hanzoai/swift-sdk.git
synced 2026-10-30 18:20:19 +00:00
The projection these were generated from predated the compute migration, so they described /v1/visor — which the API serves at zero paths now. No /v1/visor path survives here.
56 lines
2.1 KiB
Swift
56 lines
2.1 KiB
Swift
//
|
|
// SeoMetric.swift
|
|
//
|
|
// Generated by openapi-generator
|
|
// https://openapi-generator.tech
|
|
//
|
|
|
|
import Foundation
|
|
|
|
public struct SeoMetric: Sendable, Codable, ParameterConvertible, Hashable {
|
|
|
|
/** Competition is how contested the advertising is, from 0 to 1. The upstream reports it as an index out of a hundred on one endpoint and as this fraction on another; it is the fraction here in both cases. */
|
|
public var competition: Double?
|
|
/** CPC is the average cost of one advertising click, in USD. It is a reported statistic about somebody else's auction, not an amount this API moves. */
|
|
public var cpc: Double?
|
|
/** Difficulty is how hard the first page is to reach organically, 0 to 100. Present on seoIdea, which measures it; absent on seoKeyword, which does not. */
|
|
public var difficulty: Int64?
|
|
/** Keyword is the phrase. */
|
|
public var keyword: String?
|
|
/** Level is the same fact as a word: low, medium or high. */
|
|
public var level: String?
|
|
/** Volume is the average monthly searches. */
|
|
public var volume: Int64?
|
|
|
|
public init(competition: Double? = nil, cpc: Double? = nil, difficulty: Int64? = nil, keyword: String? = nil, level: String? = nil, volume: Int64? = nil) {
|
|
self.competition = competition
|
|
self.cpc = cpc
|
|
self.difficulty = difficulty
|
|
self.keyword = keyword
|
|
self.level = level
|
|
self.volume = volume
|
|
}
|
|
|
|
public enum CodingKeys: String, CodingKey, CaseIterable {
|
|
case competition
|
|
case cpc
|
|
case difficulty
|
|
case keyword
|
|
case level
|
|
case volume
|
|
}
|
|
|
|
// Encodable protocol methods
|
|
|
|
public func encode(to encoder: Encoder) throws {
|
|
var container = encoder.container(keyedBy: CodingKeys.self)
|
|
try container.encodeIfPresent(competition, forKey: .competition)
|
|
try container.encodeIfPresent(cpc, forKey: .cpc)
|
|
try container.encodeIfPresent(difficulty, forKey: .difficulty)
|
|
try container.encodeIfPresent(keyword, forKey: .keyword)
|
|
try container.encodeIfPresent(level, forKey: .level)
|
|
try container.encodeIfPresent(volume, forKey: .volume)
|
|
}
|
|
}
|
|
|