import { lanes } from "./cyclecountCheck.js";

export const getCycleCountCheck = async (age: number = 1000, type: any) => {
    /**
     * Get the lane data based on the age and type
     */

    let filteredLanes = lanes;

    if (type === "empty") {
        let empty = lanes.filter((t: any) => t.rowType === type.toUpperCase());

        return {
            sucess: true,
            message: `${empty.length} lanes that are of type ${type}.`,
            data: empty.sort(
                (a: any, b: any) => b.DaysSinceLast - a.DaysSinceLast
            ),
        };
    }

    if (type != "") {
        let noType = lanes.filter((t: any) => t.DaysSinceLast >= age);

        return {
            sucess: true,
            message: `${noType.length} lanes that are of type ${type} and have not been cycle counted in the last ${age} days.`,
            data: noType
                .filter((t: any) => t.rowType === type?.toUpperCase())
                .sort((a: any, b: any) => b.DaysSinceLast - a.DaysSinceLast),
        };
    }

    return {
        success: true,
        message: `${filteredLanes.length} lanes grabed that have not been cycle counted in the last ${age} days.`,
        data: filteredLanes.sort(
            (a: any, b: any) => b.DaysSinceLast - a.DaysSinceLast
        ),
    };
};
