type MoneyhubRevenueByRecording {
    accountId: ID!
    accountPayeeCurrency: String!
    artist: String!
    contractId: ID
    grossRevenuePayeeCurrency: Float!
    isrc: String
    netSharePayeeCurrency: Float!
    recordingId: ID!
    recordingTitle: String!
    version: String
}

type Pagination {
    totalRecords: Int
}

type MoneyhubRevenueByRecordingList {
    items: [MoneyhubRevenueByRecording!]!
    totalRecords: Int!
}

type MoneyhubRecording {
    isrc: String
    recordingId: ID!
    recordingTitle: String!
}

extend type Query {
    moneyhubRecordingsByAccount(
        accountId: ID!
        contractId: ID
        searchTerm: String
        limit: Int
    ): [MoneyhubRecording!]!
    moneyhubRevenueByRecording(
        accountId: ID!
        artistId: ID
        contractId: ID
        limit: Int
        offset: Int
        orderBy: String
        orderDir: String
        recordingTitle: String
        statementPeriodIdStart: ID
        statementPeriodIdEnd: ID
        activityPeriodIdStart: ID
        activityPeriodIdEnd: ID
        storeIds: [ID!]
        imprintIds: [ID!]
        transactionTypeIds: [ID!]
        countryCodes: [String!]
    ): MoneyhubRevenueByRecordingList!
}
