This commit is contained in:
hailin 2025-06-13 21:38:13 +08:00
parent fcb6c480eb
commit e0286c29b8
2 changed files with 70 additions and 69 deletions

View File

@ -3,9 +3,10 @@ package license
import ( import (
"encoding/base64" "encoding/base64"
"encoding/json" "encoding/json"
"github.com/gofiber/fiber/v2"
"license-server/storage" "license-server/storage"
"time" "time"
"github.com/gofiber/fiber/v2"
) )
func GenerateLicenseHandler(db storage.Database) fiber.Handler { func GenerateLicenseHandler(db storage.Database) fiber.Handler {
@ -47,7 +48,9 @@ func ActivateLicenseHandler(db storage.Database) fiber.Handler {
return fiber.NewError(401, "Invalid license signature") return fiber.NewError(401, "Invalid license signature")
} }
db.SaveActivation(req.MachineID, lf) licenseText := lf.Payload + "." + lf.Signature
db.SaveActivation(req.MachineID, licenseText)
return c.SendString("License activated successfully.") return c.SendString("License activated successfully.")
} }
} }
@ -75,4 +78,3 @@ func ValidateLicenseHandler(db storage.Database) fiber.Handler {
return c.JSON(fiber.Map{"valid": true, "features": req.Features}) return c.JSON(fiber.Map{"valid": true, "features": req.Features})
} }
} }

View File

@ -2,8 +2,8 @@ package storage
import ( import (
"database/sql" "database/sql"
_ "github.com/mattn/go-sqlite3" _ "github.com/mattn/go-sqlite3"
"license-server/license"
) )
type Database struct { type Database struct {
@ -28,8 +28,7 @@ func (d Database) HasActivated(machineID string) bool {
return err == nil && activated == 1 return err == nil && activated == 1
} }
func (d Database) SaveActivation(machineID string, lf license.LicenseFile) { func (d Database) SaveActivation(machineID string, licenseText string) {
d.db.Exec("INSERT OR REPLACE INTO activations(machine_id, license, activated) VALUES (?, ?, 1)", d.db.Exec("INSERT OR REPLACE INTO activations(machine_id, license, activated) VALUES (?, ?, 1)",
machineID, lf.Payload+"."+lf.Signature) machineID, licenseText)
} }