mirror of
https://github.com/Receipt-Wrangler/receipt-wrangler-api.git
synced 2026-01-14 15:10:18 -06:00
32 lines
649 B
Go
32 lines
649 B
Go
package models
|
|
|
|
import (
|
|
"database/sql/driver"
|
|
"errors"
|
|
)
|
|
|
|
type OcrEngine string
|
|
|
|
const (
|
|
TESSERACT OcrEngine = "tesseract"
|
|
EASY_OCR OcrEngine = "easyOcr"
|
|
TESSERACT_NEW OcrEngine = "TESSERACT"
|
|
EASY_OCR_NEW OcrEngine = "EASY_OCR"
|
|
)
|
|
|
|
func (ocrEngine *OcrEngine) Scan(value string) error {
|
|
*ocrEngine = OcrEngine(value)
|
|
return nil
|
|
}
|
|
|
|
func (ocrEngine OcrEngine) Value() (driver.Value, error) {
|
|
if len(ocrEngine) == 0 {
|
|
return "", nil
|
|
}
|
|
|
|
if ocrEngine != TESSERACT && ocrEngine != EASY_OCR && ocrEngine != TESSERACT_NEW && ocrEngine != EASY_OCR_NEW {
|
|
return nil, errors.New("invalid ocr type")
|
|
}
|
|
return string(ocrEngine), nil
|
|
}
|