leonitousconforti/tinyburg

View on GitHub
packages/doorman/src/handlers/restock-handler.ts

Summary

Maintainability
A
0 mins
Test Coverage
import type { PromiseClient } from "@connectrpc/connect";
import type { Image } from "../image-operations/image.js";
import type { ILocationBasedTrigger } from "./base-handler.js";
import type { BaseAction } from "../actions/base-action.js";
import type { EmulatorController } from "@tinyburg/architect/protobuf/emulator_controller_connect";

import { BaseHandler } from "./base-handler.js";
// import { loadTemplateByName } from "../image-operations/load-template.js";

// const note_stock: Image = await loadTemplateByName("note_stock");
// const button_rushall: Image = await loadTemplateByName("button_rushall");
// const button_stockall: Image = await loadTemplateByName("button_stockall");

export enum StockMode {
    INDIVIDUAL,
    STOCK_ALL,
    RUSH_ALL,
}

export class RestockHandler extends BaseHandler<ILocationBasedTrigger | undefined> {
    private _stockingMode: StockMode;

    public constructor(stockingMode: StockMode) {
        super("Default Restocking Handler");
        this._stockingMode = stockingMode;
    }

    public async detectTrigger(_screenshot: Image): Promise<ILocationBasedTrigger | undefined> {
        console.log(this._stockingMode);
        throw new Error("Method not implemented.");
    }

    public generateActionsList(
        _emulatorClient: PromiseClient<typeof EmulatorController>,
        _initialScreenshot: Image,
        _triggerData: ILocationBasedTrigger | undefined
    ): Promise<BaseAction[]> {
        throw new Error("Method not implemented.");
    }
}