/**
 *
 * This file has a hardcoded resource id mapper for some machine- can be changed
 * This would not be used once the PDR is implemented
 *
 */
#include <stdplus/print.hpp>
#include <util/common.hpp>

#include <cstdint>
#include <string>
#include <string_view>
#include <unordered_map>

std::unordered_map<std::string_view, uint32_t> resourceIdMap = {
    {"/redfish/v1/Chassis", 0x00000000},
    {"/redfish/v1/Chassis/Tray", 0x00010000},
    {"/redfish/v1/Chassis/SATA_0", 0x00010001},
    {"/redfish/v1/Chassis/SATA_1", 0x00010002},
    {"/redfish/v1/Chassis/SATA_2", 0x00010003},
    {"/redfish/v1/Chassis/SATA_3", 0x00010004},
    {"/redfish/v1/Chassis/SATA_4", 0x00010005},
    {"/redfish/v1/Chassis/SATA_5", 0x00010006},
    {"/redfish/v1/Chassis/SATA_6", 0x00010007},
    {"/redfish/v1/Chassis/SATA_7", 0x00010008},
    {"/redfish/v1/Chassis/SATA_8", 0x00010009},
    {"/redfish/v1/Chassis/SATA_9", 0x0001000a},
    {"/redfish/v1/Chassis/SATA_10", 0x0001000b},
    {"/redfish/v1/Chassis/SATA_11", 0x0001000c},
    {"/redfish/v1/Chassis/SATA_12", 0x0001000d},
    {"/redfish/v1/Chassis/SATA_13", 0x0001000e},
    {"/redfish/v1/Chassis/SATA_14", 0x0001000f},
    {"/redfish/v1/Chassis/SATA_15", 0x00010010},
    {"/redfish/v1/Chassis/SATA_16", 0x00010011},
    {"/redfish/v1/Chassis/SATA_17", 0x00010012},
    {"/redfish/v1/Chassis/SATA_18", 0x00010013},
    {"/redfish/v1/Chassis/SATA_19", 0x00010014},
    {"/redfish/v1/Chassis/SATA_20", 0x00010015},
    {"/redfish/v1/Chassis/SATA_21", 0x00010016},
    {"/redfish/v1/Chassis/SATA_22", 0x00010017},
    {"/redfish/v1/Chassis/SATA_23", 0x00010018},
    {"/redfish/v1/Chassis/Tray/Sensors", 0x00020000},
    {"/redfish/v1/Chassis/SATA_0/Sensors", 0x00020001},
    {"/redfish/v1/Chassis/SATA_1/Sensors", 0x00020002},
    {"/redfish/v1/Chassis/SATA_2/Sensors", 0x00020003},
    {"/redfish/v1/Chassis/SATA_3/Sensors", 0x00020004},
    {"/redfish/v1/Chassis/SATA_4/Sensors", 0x00020005},
    {"/redfish/v1/Chassis/SATA_5/Sensors", 0x00020006},
    {"/redfish/v1/Chassis/SATA_6/Sensors", 0x00020007},
    {"/redfish/v1/Chassis/SATA_7/Sensors", 0x00020008},
    {"/redfish/v1/Chassis/SATA_8/Sensors", 0x00020009},
    {"/redfish/v1/Chassis/SATA_9/Sensors", 0x0002000a},
    {"/redfish/v1/Chassis/SATA_10/Sensors", 0x0002000b},
    {"/redfish/v1/Chassis/SATA_11/Sensors", 0x0002000c},
    {"/redfish/v1/Chassis/SATA_12/Sensors", 0x0002000d},
    {"/redfish/v1/Chassis/SATA_13/Sensors", 0x0002000e},
    {"/redfish/v1/Chassis/SATA_14/Sensors", 0x0002000f},
    {"/redfish/v1/Chassis/SATA_15/Sensors", 0x00020010},
    {"/redfish/v1/Chassis/SATA_16/Sensors", 0x00020011},
    {"/redfish/v1/Chassis/SATA_17/Sensors", 0x00020012},
    {"/redfish/v1/Chassis/SATA_18/Sensors", 0x00020013},
    {"/redfish/v1/Chassis/SATA_19/Sensors", 0x00020014},
    {"/redfish/v1/Chassis/SATA_20/Sensors", 0x00020015},
    {"/redfish/v1/Chassis/SATA_21/Sensors", 0x00020016},
    {"/redfish/v1/Chassis/SATA_22/Sensors", 0x00020017},
    {"/redfish/v1/Chassis/SATA_23/Sensors", 0x00020018},
    {"/redfish/v1/Chassis/Tray/Sensors/vol_p12v_scaled", 0x00030000},
    {"/redfish/v1/Chassis/Tray/Sensors/vol_p5v1_scaled", 0x00030001},
    {"/redfish/v1/Chassis/Tray/Sensors/vol_p5v2_scaled", 0x00030002},
    {"/redfish/v1/Chassis/Tray/Sensors/vol_p3v3_aux_scaled", 0x00030003},
    {"/redfish/v1/Chassis/Tray/Sensors/vol_p1v8_scaled", 0x00030004},
    {"/redfish/v1/Chassis/Tray/Sensors/vol_p0v86_scaled", 0x00030005},
    {"/redfish/v1/Chassis/Tray/Sensors/vol_p1v45_scaled", 0x00030006},
    {"/redfish/v1/Chassis/Tray/Sensors/temp_i2tang", 0x00030007},
    {"/redfish/v1/Chassis/Tray/Sensors/hsc_temp", 0x00030008},
    {"/redfish/v1/Chassis/Tray/Sensors/hsc_vin", 0x00030009},
    {"/redfish/v1/Chassis/Tray/Sensors/hsc_vout", 0x0003000a},
    {"/redfish/v1/Chassis/Tray/Sensors/hsc_pin", 0x0003000b},
    {"/redfish/v1/Chassis/Tray/Sensors/hsc_iout", 0x0003000c},
    {"/redfish/v1/Chassis/Tray/Sensors/hsc_peak_iout", 0x0003000d},
    {"/redfish/v1/Chassis/Tray/Sensors/hsc_peak_vin", 0x0003000e},
    {"/redfish/v1/Chassis/Tray/Sensors/hsc_peak_temp", 0x0003000f},
    {"/redfish/v1/Chassis/Tray/Sensors/hsc_peak_pin", 0x00030010},
    {"/redfish/v1/Chassis/Tray/Sensors/brick_p12v_temp", 0x00030011},
    {"/redfish/v1/Chassis/Tray/Sensors/brick_p12v_vin", 0x00030012},
    {"/redfish/v1/Chassis/Tray/Sensors/brick_p12v_vout", 0x00030013},
    {"/redfish/v1/Chassis/Tray/Sensors/brick_p12v_iout", 0x00030014},
    {"/redfish/v1/Chassis/Tray/Sensors/brick_p12v_pout", 0x00030015},
    {"/redfish/v1/Chassis/Tray/Sensors/p5v_1_vin", 0x00030016},
    {"/redfish/v1/Chassis/Tray/Sensors/p5v_1_vout", 0x00030017},
    {"/redfish/v1/Chassis/Tray/Sensors/p5v_1_iout", 0x00030018},
    {"/redfish/v1/Chassis/Tray/Sensors/p5v_1_temp", 0x00030019},
    {"/redfish/v1/Chassis/Tray/Sensors/p5v_2_vin", 0x0003001a},
    {"/redfish/v1/Chassis/Tray/Sensors/p5v_2_vout", 0x0003001b},
    {"/redfish/v1/Chassis/Tray/Sensors/p5v_2_iout", 0x0003001c},
    {"/redfish/v1/Chassis/Tray/Sensors/p5v_2_temp", 0x0003001d},
    {"/redfish/v1/Chassis/Tray/Sensors/p0v86_vin", 0x0003001e},
    {"/redfish/v1/Chassis/Tray/Sensors/p0v86_vout", 0x0003001f},
    {"/redfish/v1/Chassis/Tray/Sensors/p0v86_iout", 0x00030020},
    {"/redfish/v1/Chassis/Tray/Sensors/p0v86_temp", 0x00030021},
    {"/redfish/v1/Chassis/Tray/Sensors/fan0_tach", 0x00030022},
    {"/redfish/v1/Chassis/Tray/Sensors/fan1_tach", 0x00030023},
    {"/redfish/v1/Chassis/Tray/Sensors/fan0_duty", 0x00030024},
    {"/redfish/v1/Chassis/Tray/Sensors/fan1_duty", 0x00030025},
    {"/redfish/v1/Chassis/Tray/Sensors/ioc_temp", 0x00030026},
    {"/redfish/v1/Chassis/SATA_0/Sensors/Drive_0t", 0x00030027},
    {"/redfish/v1/Chassis/SATA_1/Sensors/Drive_0t", 0x00030028},
    {"/redfish/v1/Chassis/SATA_2/Sensors/Drive_0t", 0x00030029},
    {"/redfish/v1/Chassis/SATA_3/Sensors/Drive_0t", 0x0003002a},
    {"/redfish/v1/Chassis/SATA_4/Sensors/Drive_0t", 0x0003002b},
    {"/redfish/v1/Chassis/SATA_5/Sensors/Drive_0t", 0x0003002c},
    {"/redfish/v1/Chassis/SATA_6/Sensors/Drive_0t", 0x0003002d},
    {"/redfish/v1/Chassis/SATA_7/Sensors/Drive_0t", 0x0003002e},
    {"/redfish/v1/Chassis/SATA_8/Sensors/Drive_0t", 0x0003002f},
    {"/redfish/v1/Chassis/SATA_9/Sensors/Drive_0t", 0x00030030},
    {"/redfish/v1/Chassis/SATA_10/Sensors/Drive_0t", 0x00030031},
    {"/redfish/v1/Chassis/SATA_11/Sensors/Drive_0t", 0x00030032},
    {"/redfish/v1/Chassis/SATA_12/Sensors/Drive_0t", 0x00030033},
    {"/redfish/v1/Chassis/SATA_13/Sensors/Drive_0t", 0x00030034},
    {"/redfish/v1/Chassis/SATA_14/Sensors/Drive_0t", 0x00030035},
    {"/redfish/v1/Chassis/SATA_15/Sensors/Drive_0t", 0x00030036},
    {"/redfish/v1/Chassis/SATA_16/Sensors/Drive_0t", 0x00030037},
    {"/redfish/v1/Chassis/SATA_17/Sensors/Drive_0t", 0x00030038},
    {"/redfish/v1/Chassis/SATA_18/Sensors/Drive_0t", 0x00030039},
    {"/redfish/v1/Chassis/SATA_19/Sensors/Drive_0t", 0x0003003a},
    {"/redfish/v1/Chassis/SATA_20/Sensors/Drive_0t", 0x0003003b},
    {"/redfish/v1/Chassis/SATA_21/Sensors/Drive_0t", 0x0003003c},
    {"/redfish/v1/Chassis/SATA_22/Sensors/Drive_0t", 0x0003003d},
    {"/redfish/v1/Chassis/SATA_23/Sensors/Drive_0t", 0x0003003e},
    {"/redfish/v1/Chassis/Tray/Sensors/host_fan0_pwm", 0x0003003f},
    {"/redfish/v1/Managers", 0x00040000},
    {"/redfish/v1/Managers/mbmc", 0x00050000},
    {"/redfish/v1/Chassis/SATA_0/Drives", 0x00060001},
    {"/redfish/v1/Chassis/SATA_1/Drives", 0x00060002},
    {"/redfish/v1/Chassis/SATA_2/Drives", 0x00060003},
    {"/redfish/v1/Chassis/SATA_3/Drives", 0x00060004},
    {"/redfish/v1/Chassis/SATA_4/Drives", 0x00060005},
    {"/redfish/v1/Chassis/SATA_5/Drives", 0x00060006},
    {"/redfish/v1/Chassis/SATA_6/Drives", 0x00060007},
    {"/redfish/v1/Chassis/SATA_7/Drives", 0x00060008},
    {"/redfish/v1/Chassis/SATA_8/Drives", 0x00060009},
    {"/redfish/v1/Chassis/SATA_9/Drives", 0x0006000a},
    {"/redfish/v1/Chassis/SATA_10/Drives", 0x0006000b},
    {"/redfish/v1/Chassis/SATA_11/Drives", 0x0006000c},
    {"/redfish/v1/Chassis/SATA_12/Drives", 0x0006000d},
    {"/redfish/v1/Chassis/SATA_13/Drives", 0x0006000e},
    {"/redfish/v1/Chassis/SATA_14/Drives", 0x0006000f},
    {"/redfish/v1/Chassis/SATA_15/Drives", 0x00060010},
    {"/redfish/v1/Chassis/SATA_16/Drives", 0x00060011},
    {"/redfish/v1/Chassis/SATA_17/Drives", 0x00060012},
    {"/redfish/v1/Chassis/SATA_18/Drives", 0x00060013},
    {"/redfish/v1/Chassis/SATA_19/Drives", 0x00060014},
    {"/redfish/v1/Chassis/SATA_20/Drives", 0x00060015},
    {"/redfish/v1/Chassis/SATA_21/Drives", 0x00060016},
    {"/redfish/v1/Chassis/SATA_22/Drives", 0x00060017},
    {"/redfish/v1/Chassis/SATA_23/Drives", 0x00060018},
    {"/redfish/v1/Chassis/SATA_0/Drives/SATA_0", 0x00070000},
    {"/redfish/v1/Chassis/SATA_1/Drives/SATA_1", 0x00070001},
    {"/redfish/v1/Chassis/SATA_2/Drives/SATA_2", 0x00070002},
    {"/redfish/v1/Chassis/SATA_3/Drives/SATA_3", 0x00070003},
    {"/redfish/v1/Chassis/SATA_4/Drives/SATA_4", 0x00070004},
    {"/redfish/v1/Chassis/SATA_5/Drives/SATA_5", 0x00070005},
    {"/redfish/v1/Chassis/SATA_6/Drives/SATA_6", 0x00070006},
    {"/redfish/v1/Chassis/SATA_7/Drives/SATA_7", 0x00070007},
    {"/redfish/v1/Chassis/SATA_8/Drives/SATA_8", 0x00070008},
    {"/redfish/v1/Chassis/SATA_9/Drives/SATA_9", 0x00070009},
    {"/redfish/v1/Chassis/SATA_10/Drives/SATA_10", 0x0007000a},
    {"/redfish/v1/Chassis/SATA_11/Drives/SATA_11", 0x0007000b},
    {"/redfish/v1/Chassis/SATA_12/Drives/SATA_12", 0x0007000c},
    {"/redfish/v1/Chassis/SATA_13/Drives/SATA_13", 0x0007000d},
    {"/redfish/v1/Chassis/SATA_14/Drives/SATA_14", 0x0007000e},
    {"/redfish/v1/Chassis/SATA_15/Drives/SATA_15", 0x0007000f},
    {"/redfish/v1/Chassis/SATA_16/Drives/SATA_16", 0x00070010},
    {"/redfish/v1/Chassis/SATA_17/Drives/SATA_17", 0x00070011},
    {"/redfish/v1/Chassis/SATA_18/Drives/SATA_18", 0x00070012},
    {"/redfish/v1/Chassis/SATA_19/Drives/SATA_19", 0x00070013},
    {"/redfish/v1/Chassis/SATA_20/Drives/SATA_20", 0x00070014},
    {"/redfish/v1/Chassis/SATA_21/Drives/SATA_21", 0x00070015},
    {"/redfish/v1/Chassis/SATA_22/Drives/SATA_22", 0x00070016},
    {"/redfish/v1/Chassis/SATA_23/Drives/SATA_23", 0x00070017},
    {"/redfish/v1/UpdateService", 0x00080000},
    {"/redfish/v1/UpdateService/FirmwareInventory", 0x000a0000},
    {"/redfish/v1/UpdateService/FirmwareInventory/mbmc", 0x00090000},
    {"/redfish/v1/Chassis/Tray/Controls", 0x000c0000},
    {"/redfish/v1/Chassis/Tray/Controls/HDD_SetPoint", 0x000b0000},
    {"/redfish/v1/Chassis/Tray/Sensors/p12v_cem_imon", 0x00030040},
    {"/redfish/v1/Chassis/Tray/Sensors/p12v_cem", 0x00030041},
    {"/redfish/v1/Chassis/Tray/Sensors/mb_pwr_status", 0x00030042},
    {"/redfish/v1/Chassis/Tray/Sensors/fan0_imon", 0x00030043},
    {"/redfish/v1/Chassis/Tray/Sensors/fan1_imon", 0x00030044},
    {"/redfish/v1/Chassis/Tray/Controls/fans", 0x000b0001},
    {"/redfish/v1/Storage", 0x000d0000},
    {"/redfish/v1/Storage/SATA", 0x000e0000},
    {"/redfish/v1/Storage/SATA/Controllers", 0x000f0000},
    {"/redfish/v1/Storage/SATA/Controllers/ioc", 0x00100000}
    // Whenever making a new entry make sure to check the resourceIds vector in
    // rde_discovery.cpp to see if the parent dictionary is present or not
};

std::optional<uint32_t> getResourceIdForUri(std::string_view uri)
{
    auto it = resourceIdMap.find(uri);
    if (it != resourceIdMap.end())
    {
        if (DEBUG)
        {
            stdplus::print(stderr, "Resource id found: {}\n",
                           std::to_string(it->second));
        }
        return it->second;
    }

    // Ignore logs for unsupported resources
    if (UNSUPPORTED_RESOURCES.find(std::string(uri)) ==
        UNSUPPORTED_RESOURCES.end())
    {
        stdplus::print(stderr, "Resource id not found for uri: {}\n", uri);
    }
    return std::nullopt;
}
