scalar TadasMarket

enum TADASStayingPower {
    HIGH
    LOW
    MEDIUM
}

enum TadasOrderBy {
    APPLE_STREAMS_1_DAY
    DAYS_TRENDING
    RELEASE_DATE
    SPOTIFY_STREAMS_1_DAY
    STAYING_POWER
    TRENDING_START_DATE
}

type RepOwner {
    code: String!
    labels: [Label!]
    name: String!
}

input RepOwnerFilter {
    code: String!
    name: String!
}

enum TadasTrendingFlagTier {
    ONE
    S
    THREE
    TWO
}

input TadasOrderInput {
    by: TadasOrderBy!
    order: OrderDir!
}

input TadasTrendsFilterInput {
    companyBrandUuids: [ID!]
    excludeParticipants: [String!]
    includeParticipants: [String!]
    markets: [TadasMarket!]
    parentCompanyUuids: [ID!]
    releaseEndDate: String
    releaseStartDate: String
    repOwners: [RepOwnerFilter!]
}

type TadasTrendAnalytics {
    appleMusicStreams1Day: Int!
    spotifyStreams1Day: Int!
}

type TadasTrendingFlag {
    lift: Float!
    market: TadasMarket!
    name: String!
    store: Store!
    tier: TadasTrendingFlagTier!
}

type GlobalSoundRecordingTadasTrend {
    analytics: TadasTrendAnalytics!
    companyBrands: [CompanyBrand!]!
    daysTrending: Int!
    globalSoundRecording: GlobalSoundRecording!
    market: TadasMarket!
    repOwner: RepOwner
    stayingPower: TADASStayingPower!
    stayingPowerScore: Float!
    trendingFlags: [TadasTrendingFlag!]!
    trendingStartDate: Date!
}

type GlobalSoundRecordingTadasTrendResults {
    totalCount: Int!
    trends: [GlobalSoundRecordingTadasTrend!]!
}

type TadasDataAvailability {
    byCountryTadasLastAvailableDate: Date!
    globalTadasLastAvailableDate: Date!
}

extend type Query {
    globalSoundRecordingTadasTrends(
        filter: TadasTrendsFilterInput! = { markets: [] }
        order: TadasOrderInput! = { by: DAYS_TRENDING, order: ASC }
        offset: Int! = 0
        limit: Int! = 200
    ): GlobalSoundRecordingTadasTrendResults!
    globalSoundRecordingTadasDataAvailability: TadasDataAvailability!
    repOwners: [RepOwner!]!
}

extend type GlobalSoundRecording {
    tadasTrends(
        markets: [TadasMarket!]!
    ): GlobalSoundRecordingTadasTrendResults!
}
