first commit

This commit is contained in:
Adrian Zürcher
2025-10-24 10:31:19 +02:00
commit 4db4262195
17 changed files with 1937 additions and 0 deletions

37
models/permission.go Normal file
View File

@@ -0,0 +1,37 @@
package models
import (
"database/sql/driver"
"encoding/json"
"fmt"
)
type Permissions []Permission
func (r *Permissions) DefaultPermissions() {
*r = append(*r,
Permission{Name: "settings", Permission: 7},
Permission{Name: "userSettings", Permission: 7},
Permission{Name: "members", Permission: 7},
Permission{Name: "events", Permission: 7},
)
}
// --- Implement driver.Valuer (for saving to DB)
func (r Permissions) Value() (driver.Value, error) {
return json.Marshal(r)
}
// --- Implement sql.Scanner (for reading from DB)
func (r *Permissions) Scan(value any) error {
bytes, ok := value.([]byte)
if !ok {
return fmt.Errorf("failed to unmarshal Settings: %v", value)
}
return json.Unmarshal(bytes, r)
}
type Permission struct {
Name string `json:"name"`
Permission int `json:"permission"`
}