user access model

This commit is contained in:
wisplite
2025-11-19 20:31:08 -06:00
parent d176d6d761
commit 6166228f44
+10
View File
@@ -12,6 +12,16 @@ type Album struct {
Description string `gorm:"not null"`
Tags datatypes.JSON `gorm:"type:json"`
Private bool `gorm:"not null"`
// Public albums have a default access level of 0 for all visitors, including guests.
// Private albums require a user with access to be logged in to view, or a magic link to be used.
CreatedAt time.Time
UpdatedAt time.Time
}
type UserAccess struct {
UserID string `gorm:"not null"`
AlbumID string `gorm:"not null"`
AccessLevel int `gorm:"not null"` // 0: View, 1: Upload, 2: Edit, 3: Edit/Delete, 4: Admin (manage other users)
CreatedAt time.Time
UpdatedAt time.Time
}