package entity import ( "backend/pkg/permission/domain/permission" "go.mongodb.org/mongo-driver/v2/bson" ) // UserRole 使用者角色實體 (MongoDB) type UserRole struct { ID bson.ObjectID `bson:"_id,omitempty" json:"id"` Brand string `bson:"brand" json:"brand"` UID string `bson:"uid" json:"uid"` RoleID string `bson:"role_id" json:"role_id"` Status permission.RecordState `bson:"status" json:"status"` permission.TimeStamp `bson:",inline"` } // CollectionName 集合名稱 func (ur *UserRole) CollectionName() string { return "user_role" } //// IsActive 是否啟用 //func (ur *UserRole) IsActive() bool { // return ur.Status.IsActive() //} // //// Validate 驗證資料 //func (ur *UserRole) Validate() error { // if ur.UID == "" { // return ErrInvalidData("user uid is required") // } // if ur.RoleID == "" { // return ErrInvalidData("role_id is required") // } // return nil //} // //// RoleUserCount 角色使用者數量統計 //type RoleUserCount struct { // RoleID string `bson:"_id" json:"role_id"` // Count int `bson:"count" json:"count"` //}