package io.delphiplatform.api.v3.bigtable.reader;

import java.util.Set;

public abstract class BigtableColumns {

    public static final String ARTIST_ID = "artist_id";
    public static final String CONTENT_TYPE = "content_type";
    public static final String COMMENTS = "comments";
    public static final String CURRENT = "current";
    public static final String PREVIOUS = "previous";
    public static final String DATE = "report_date";
    public static final String DATE_SIMPLE = "date";
    public static final String DEMOGRAPHICS = "demographics";
    public static final String NEW_LISTENERS_DEMOGRAPHICS = "new_listeners_demographics";
    public static final String DSP = "dsp";
    public static final String FANS = "fans";
    public static final String FOLLOWERS = "followers";
    public static final String ISRC = "isrc";
    public static final String LIKES = "likes";
    public static final String LISTENERS = "listeners";
    public static final String PLAYLIST_ID = "playlist_id";
    public static final String POPULARITY = "popularity";
    public static final String POSITION = "position";
    public static final String PRODUCT_ID = "product_id";
    public static final String PROJECT_NUMBER = "project_number";
    public static final String STREAMS = "streams";
    public static final String NEW_LISTENERS_STREAMS = "new_listeners_streams";
    public static final String SUBSCRIBERS = "subscribers";
    public static final String TALKS = "talks";
    public static final String TRACKFAMILY_ID = "trackfamily_id";
    public static final String TRACK_ID = "track_id";
    public static final String VIDEO_ID = "video_id";
    public static final String VIEWS = "views";
    public static final String PRODUCT_FAMILY_ID = "product_family_id";
    public static final String PLAYLIST_TRACK = "playlist_track";
    public static final String PLAYLIST_ISRC_TRACK_POSITIONS = "track_positions";
    public static final String COUNTRY_CODE = "country_code";
    public static final String COUNTRIES = "countries";
    public static final String NUMBER_OF_TRACKS = "number_of_tracks";
    public static final String DSP_SYNC_DATE_TIME = "dsp_sync_date_time";
    public static final String UPC = "upc";
    public static final String BRAND = "brand";
    public static final String IS_DELETED = "is_deleted";
    public static final String TOP_SOUNDS = "top_sounds";

    public static final Set<String> ALL_COLUMNS = Set.of(
        ARTIST_ID,
        COMMENTS,
        CURRENT,
        DATE,
        DEMOGRAPHICS,
        NEW_LISTENERS_DEMOGRAPHICS,
        DSP,
        FANS,
        FOLLOWERS,
        ISRC,
        LIKES,
        LISTENERS,
        PLAYLIST_ID,
        POPULARITY,
        POSITION,
        PRODUCT_ID,
        STREAMS,
        NEW_LISTENERS_STREAMS,
        SUBSCRIBERS,
        TALKS,
        TRACKFAMILY_ID,
        TRACK_ID,
        VIDEO_ID,
        VIEWS,
        PROJECT_NUMBER,
        PRODUCT_FAMILY_ID,
        PLAYLIST_TRACK,
        PLAYLIST_ISRC_TRACK_POSITIONS,
        COUNTRY_CODE,
        COUNTRIES,
        NUMBER_OF_TRACKS,
        DSP_SYNC_DATE_TIME,
        UPC,
        BRAND,
        IS_DELETED,
        TOP_SOUNDS
    );

}
