package dao

import (
	"github.com/tidbcloud/aipower/commons/database"
	"github.com/tidbcloud/aipower/internal/bean/entity"
)

func IncrRateLimit(identifier string) (int, error) {
	db := database.DBConn.DB.Table("rate_limits")

	err := db.Exec("INSERT INTO rate_limits(identifier, count) VALUES(?, 1) ON DUPLICATE KEY UPDATE count=count+1", identifier).Error
	if err != nil {
		return 0, err
	}

	var item entity.RateLimit
	err = db.Where("identifier = ?", identifier).First(&item).Error

	return item.Count, err
}
