// TODO Move this helper to utils and inject CATEGORIES_VALUES into areValidCategories
// on demand. We currently have a circular dependency if we import utils here.
const getValues = obj => {
    return Object.keys(obj).map(key => {
        return obj[key];
    });
};

const STATUS = {
    PENDING: "pending",
    CHANGED: "changed",
    COMPLETE: "complete"
};

// TODO Convert the values to objects to be able to be more
// granular when choosing categories.
// e.g: ANALYTICS: { name: "analytics", useEcid: false }
const CATEGORIES = {
    AAM: "aam",
    ADCLOUD: "adcloud",
    ANALYTICS: "aa",
    CAMPAIGN: "campaign",
    ECID: "ecid",
    LIVEFYRE: "livefyre",
    TARGET: "target",
    VIDEO_ANALYTICS: "videoaa"
};

const VENDOR_IDS = {
    [CATEGORIES.AAM]: 565, // TODO: Get the final Vendor ID.
    [CATEGORIES.ECID]: 565 // NOTE: We are using the same ID for ECID because it follows the same buckets.
};

const CATEGORY_PURPOSES = {
    [CATEGORIES.AAM]: [1, 2, 5],
    [CATEGORIES.ECID]: [1, 2, 5] // TODO: Confirm this!
};

const CATEGORIES_VALUES = getValues(CATEGORIES);

export {
    STATUS,
    CATEGORIES,
    CATEGORIES_VALUES,
    VENDOR_IDS,
    CATEGORY_PURPOSES
};
