mirror of https://github.com/cloudreve/Cloudreve
feat: primary db property
parent
ca080fc758
commit
70dba983d2
File diff suppressed because one or more lines are too long
|
@ -21,6 +21,8 @@ type Membership struct {
|
|||
UserID int `json:"user_id,omitempty"`
|
||||
// GroupID holds the value of the "group_id" field.
|
||||
GroupID int `json:"group_id,omitempty"`
|
||||
// IsPrimary holds the value of the "is_primary" field.
|
||||
IsPrimary bool `json:"is_primary,omitempty"`
|
||||
// CreatedAt holds the value of the "created_at" field.
|
||||
CreatedAt time.Time `json:"created_at,omitempty"`
|
||||
// ExpiresAt holds the value of the "expires_at" field.
|
||||
|
@ -73,6 +75,8 @@ func (*Membership) scanValues(columns []string) ([]any, error) {
|
|||
values := make([]any, len(columns))
|
||||
for i := range columns {
|
||||
switch columns[i] {
|
||||
case membership.FieldIsPrimary:
|
||||
values[i] = new(sql.NullBool)
|
||||
case membership.FieldUserID, membership.FieldGroupID:
|
||||
values[i] = new(sql.NullInt64)
|
||||
case membership.FieldCreatedAt, membership.FieldExpiresAt:
|
||||
|
@ -104,6 +108,12 @@ func (m *Membership) assignValues(columns []string, values []any) error {
|
|||
} else if value.Valid {
|
||||
m.GroupID = int(value.Int64)
|
||||
}
|
||||
case membership.FieldIsPrimary:
|
||||
if value, ok := values[i].(*sql.NullBool); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field is_primary", values[i])
|
||||
} else if value.Valid {
|
||||
m.IsPrimary = value.Bool
|
||||
}
|
||||
case membership.FieldCreatedAt:
|
||||
if value, ok := values[i].(*sql.NullTime); !ok {
|
||||
return fmt.Errorf("unexpected type %T for field created_at", values[i])
|
||||
|
@ -168,6 +178,9 @@ func (m *Membership) String() string {
|
|||
builder.WriteString("group_id=")
|
||||
builder.WriteString(fmt.Sprintf("%v", m.GroupID))
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("is_primary=")
|
||||
builder.WriteString(fmt.Sprintf("%v", m.IsPrimary))
|
||||
builder.WriteString(", ")
|
||||
builder.WriteString("created_at=")
|
||||
builder.WriteString(m.CreatedAt.Format(time.ANSIC))
|
||||
builder.WriteString(", ")
|
||||
|
|
|
@ -16,6 +16,8 @@ const (
|
|||
FieldUserID = "user_id"
|
||||
// FieldGroupID holds the string denoting the group_id field in the database.
|
||||
FieldGroupID = "group_id"
|
||||
// FieldIsPrimary holds the string denoting the is_primary field in the database.
|
||||
FieldIsPrimary = "is_primary"
|
||||
// FieldCreatedAt holds the string denoting the created_at field in the database.
|
||||
FieldCreatedAt = "created_at"
|
||||
// FieldExpiresAt holds the string denoting the expires_at field in the database.
|
||||
|
@ -50,6 +52,7 @@ const (
|
|||
var Columns = []string{
|
||||
FieldUserID,
|
||||
FieldGroupID,
|
||||
FieldIsPrimary,
|
||||
FieldCreatedAt,
|
||||
FieldExpiresAt,
|
||||
}
|
||||
|
@ -65,6 +68,8 @@ func ValidColumn(column string) bool {
|
|||
}
|
||||
|
||||
var (
|
||||
// DefaultIsPrimary holds the default value on creation for the "is_primary" field.
|
||||
DefaultIsPrimary bool
|
||||
// DefaultCreatedAt holds the default value on creation for the "created_at" field.
|
||||
DefaultCreatedAt func() time.Time
|
||||
)
|
||||
|
@ -82,6 +87,11 @@ func ByGroupID(opts ...sql.OrderTermOption) OrderOption {
|
|||
return sql.OrderByField(FieldGroupID, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByIsPrimary orders the results by the is_primary field.
|
||||
func ByIsPrimary(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldIsPrimary, opts...).ToFunc()
|
||||
}
|
||||
|
||||
// ByCreatedAt orders the results by the created_at field.
|
||||
func ByCreatedAt(opts ...sql.OrderTermOption) OrderOption {
|
||||
return sql.OrderByField(FieldCreatedAt, opts...).ToFunc()
|
||||
|
|
|
@ -20,6 +20,11 @@ func GroupID(v int) predicate.Membership {
|
|||
return predicate.Membership(sql.FieldEQ(FieldGroupID, v))
|
||||
}
|
||||
|
||||
// IsPrimary applies equality check predicate on the "is_primary" field. It's identical to IsPrimaryEQ.
|
||||
func IsPrimary(v bool) predicate.Membership {
|
||||
return predicate.Membership(sql.FieldEQ(FieldIsPrimary, v))
|
||||
}
|
||||
|
||||
// CreatedAt applies equality check predicate on the "created_at" field. It's identical to CreatedAtEQ.
|
||||
func CreatedAt(v time.Time) predicate.Membership {
|
||||
return predicate.Membership(sql.FieldEQ(FieldCreatedAt, v))
|
||||
|
@ -70,6 +75,26 @@ func GroupIDNotIn(vs ...int) predicate.Membership {
|
|||
return predicate.Membership(sql.FieldNotIn(FieldGroupID, vs...))
|
||||
}
|
||||
|
||||
// IsPrimaryEQ applies the EQ predicate on the "is_primary" field.
|
||||
func IsPrimaryEQ(v bool) predicate.Membership {
|
||||
return predicate.Membership(sql.FieldEQ(FieldIsPrimary, v))
|
||||
}
|
||||
|
||||
// IsPrimaryNEQ applies the NEQ predicate on the "is_primary" field.
|
||||
func IsPrimaryNEQ(v bool) predicate.Membership {
|
||||
return predicate.Membership(sql.FieldNEQ(FieldIsPrimary, v))
|
||||
}
|
||||
|
||||
// IsPrimaryIsNil applies the IsNil predicate on the "is_primary" field.
|
||||
func IsPrimaryIsNil() predicate.Membership {
|
||||
return predicate.Membership(sql.FieldIsNull(FieldIsPrimary))
|
||||
}
|
||||
|
||||
// IsPrimaryNotNil applies the NotNil predicate on the "is_primary" field.
|
||||
func IsPrimaryNotNil() predicate.Membership {
|
||||
return predicate.Membership(sql.FieldNotNull(FieldIsPrimary))
|
||||
}
|
||||
|
||||
// CreatedAtEQ applies the EQ predicate on the "created_at" field.
|
||||
func CreatedAtEQ(v time.Time) predicate.Membership {
|
||||
return predicate.Membership(sql.FieldEQ(FieldCreatedAt, v))
|
||||
|
|
|
@ -36,6 +36,20 @@ func (mc *MembershipCreate) SetGroupID(i int) *MembershipCreate {
|
|||
return mc
|
||||
}
|
||||
|
||||
// SetIsPrimary sets the "is_primary" field.
|
||||
func (mc *MembershipCreate) SetIsPrimary(b bool) *MembershipCreate {
|
||||
mc.mutation.SetIsPrimary(b)
|
||||
return mc
|
||||
}
|
||||
|
||||
// SetNillableIsPrimary sets the "is_primary" field if the given value is not nil.
|
||||
func (mc *MembershipCreate) SetNillableIsPrimary(b *bool) *MembershipCreate {
|
||||
if b != nil {
|
||||
mc.SetIsPrimary(*b)
|
||||
}
|
||||
return mc
|
||||
}
|
||||
|
||||
// SetCreatedAt sets the "created_at" field.
|
||||
func (mc *MembershipCreate) SetCreatedAt(t time.Time) *MembershipCreate {
|
||||
mc.mutation.SetCreatedAt(t)
|
||||
|
@ -109,6 +123,10 @@ func (mc *MembershipCreate) ExecX(ctx context.Context) {
|
|||
|
||||
// defaults sets the default values of the builder before save.
|
||||
func (mc *MembershipCreate) defaults() {
|
||||
if _, ok := mc.mutation.IsPrimary(); !ok {
|
||||
v := membership.DefaultIsPrimary
|
||||
mc.mutation.SetIsPrimary(v)
|
||||
}
|
||||
if _, ok := mc.mutation.CreatedAt(); !ok {
|
||||
v := membership.DefaultCreatedAt()
|
||||
mc.mutation.SetCreatedAt(v)
|
||||
|
@ -156,6 +174,10 @@ func (mc *MembershipCreate) createSpec() (*Membership, *sqlgraph.CreateSpec) {
|
|||
)
|
||||
|
||||
_spec.OnConflict = mc.conflict
|
||||
if value, ok := mc.mutation.IsPrimary(); ok {
|
||||
_spec.SetField(membership.FieldIsPrimary, field.TypeBool, value)
|
||||
_node.IsPrimary = value
|
||||
}
|
||||
if value, ok := mc.mutation.CreatedAt(); ok {
|
||||
_spec.SetField(membership.FieldCreatedAt, field.TypeTime, value)
|
||||
_node.CreatedAt = value
|
||||
|
@ -274,6 +296,24 @@ func (u *MembershipUpsert) UpdateGroupID() *MembershipUpsert {
|
|||
return u
|
||||
}
|
||||
|
||||
// SetIsPrimary sets the "is_primary" field.
|
||||
func (u *MembershipUpsert) SetIsPrimary(v bool) *MembershipUpsert {
|
||||
u.Set(membership.FieldIsPrimary, v)
|
||||
return u
|
||||
}
|
||||
|
||||
// UpdateIsPrimary sets the "is_primary" field to the value that was provided on create.
|
||||
func (u *MembershipUpsert) UpdateIsPrimary() *MembershipUpsert {
|
||||
u.SetExcluded(membership.FieldIsPrimary)
|
||||
return u
|
||||
}
|
||||
|
||||
// ClearIsPrimary clears the value of the "is_primary" field.
|
||||
func (u *MembershipUpsert) ClearIsPrimary() *MembershipUpsert {
|
||||
u.SetNull(membership.FieldIsPrimary)
|
||||
return u
|
||||
}
|
||||
|
||||
// SetCreatedAt sets the "created_at" field.
|
||||
func (u *MembershipUpsert) SetCreatedAt(v time.Time) *MembershipUpsert {
|
||||
u.Set(membership.FieldCreatedAt, v)
|
||||
|
@ -372,6 +412,27 @@ func (u *MembershipUpsertOne) UpdateGroupID() *MembershipUpsertOne {
|
|||
})
|
||||
}
|
||||
|
||||
// SetIsPrimary sets the "is_primary" field.
|
||||
func (u *MembershipUpsertOne) SetIsPrimary(v bool) *MembershipUpsertOne {
|
||||
return u.Update(func(s *MembershipUpsert) {
|
||||
s.SetIsPrimary(v)
|
||||
})
|
||||
}
|
||||
|
||||
// UpdateIsPrimary sets the "is_primary" field to the value that was provided on create.
|
||||
func (u *MembershipUpsertOne) UpdateIsPrimary() *MembershipUpsertOne {
|
||||
return u.Update(func(s *MembershipUpsert) {
|
||||
s.UpdateIsPrimary()
|
||||
})
|
||||
}
|
||||
|
||||
// ClearIsPrimary clears the value of the "is_primary" field.
|
||||
func (u *MembershipUpsertOne) ClearIsPrimary() *MembershipUpsertOne {
|
||||
return u.Update(func(s *MembershipUpsert) {
|
||||
s.ClearIsPrimary()
|
||||
})
|
||||
}
|
||||
|
||||
// SetCreatedAt sets the "created_at" field.
|
||||
func (u *MembershipUpsertOne) SetCreatedAt(v time.Time) *MembershipUpsertOne {
|
||||
return u.Update(func(s *MembershipUpsert) {
|
||||
|
@ -616,6 +677,27 @@ func (u *MembershipUpsertBulk) UpdateGroupID() *MembershipUpsertBulk {
|
|||
})
|
||||
}
|
||||
|
||||
// SetIsPrimary sets the "is_primary" field.
|
||||
func (u *MembershipUpsertBulk) SetIsPrimary(v bool) *MembershipUpsertBulk {
|
||||
return u.Update(func(s *MembershipUpsert) {
|
||||
s.SetIsPrimary(v)
|
||||
})
|
||||
}
|
||||
|
||||
// UpdateIsPrimary sets the "is_primary" field to the value that was provided on create.
|
||||
func (u *MembershipUpsertBulk) UpdateIsPrimary() *MembershipUpsertBulk {
|
||||
return u.Update(func(s *MembershipUpsert) {
|
||||
s.UpdateIsPrimary()
|
||||
})
|
||||
}
|
||||
|
||||
// ClearIsPrimary clears the value of the "is_primary" field.
|
||||
func (u *MembershipUpsertBulk) ClearIsPrimary() *MembershipUpsertBulk {
|
||||
return u.Update(func(s *MembershipUpsert) {
|
||||
s.ClearIsPrimary()
|
||||
})
|
||||
}
|
||||
|
||||
// SetCreatedAt sets the "created_at" field.
|
||||
func (u *MembershipUpsertBulk) SetCreatedAt(v time.Time) *MembershipUpsertBulk {
|
||||
return u.Update(func(s *MembershipUpsert) {
|
||||
|
|
|
@ -58,6 +58,26 @@ func (mu *MembershipUpdate) SetNillableGroupID(i *int) *MembershipUpdate {
|
|||
return mu
|
||||
}
|
||||
|
||||
// SetIsPrimary sets the "is_primary" field.
|
||||
func (mu *MembershipUpdate) SetIsPrimary(b bool) *MembershipUpdate {
|
||||
mu.mutation.SetIsPrimary(b)
|
||||
return mu
|
||||
}
|
||||
|
||||
// SetNillableIsPrimary sets the "is_primary" field if the given value is not nil.
|
||||
func (mu *MembershipUpdate) SetNillableIsPrimary(b *bool) *MembershipUpdate {
|
||||
if b != nil {
|
||||
mu.SetIsPrimary(*b)
|
||||
}
|
||||
return mu
|
||||
}
|
||||
|
||||
// ClearIsPrimary clears the value of the "is_primary" field.
|
||||
func (mu *MembershipUpdate) ClearIsPrimary() *MembershipUpdate {
|
||||
mu.mutation.ClearIsPrimary()
|
||||
return mu
|
||||
}
|
||||
|
||||
// SetCreatedAt sets the "created_at" field.
|
||||
func (mu *MembershipUpdate) SetCreatedAt(t time.Time) *MembershipUpdate {
|
||||
mu.mutation.SetCreatedAt(t)
|
||||
|
@ -169,6 +189,12 @@ func (mu *MembershipUpdate) sqlSave(ctx context.Context) (n int, err error) {
|
|||
}
|
||||
}
|
||||
}
|
||||
if value, ok := mu.mutation.IsPrimary(); ok {
|
||||
_spec.SetField(membership.FieldIsPrimary, field.TypeBool, value)
|
||||
}
|
||||
if mu.mutation.IsPrimaryCleared() {
|
||||
_spec.ClearField(membership.FieldIsPrimary, field.TypeBool)
|
||||
}
|
||||
if value, ok := mu.mutation.CreatedAt(); ok {
|
||||
_spec.SetField(membership.FieldCreatedAt, field.TypeTime, value)
|
||||
}
|
||||
|
@ -284,6 +310,26 @@ func (muo *MembershipUpdateOne) SetNillableGroupID(i *int) *MembershipUpdateOne
|
|||
return muo
|
||||
}
|
||||
|
||||
// SetIsPrimary sets the "is_primary" field.
|
||||
func (muo *MembershipUpdateOne) SetIsPrimary(b bool) *MembershipUpdateOne {
|
||||
muo.mutation.SetIsPrimary(b)
|
||||
return muo
|
||||
}
|
||||
|
||||
// SetNillableIsPrimary sets the "is_primary" field if the given value is not nil.
|
||||
func (muo *MembershipUpdateOne) SetNillableIsPrimary(b *bool) *MembershipUpdateOne {
|
||||
if b != nil {
|
||||
muo.SetIsPrimary(*b)
|
||||
}
|
||||
return muo
|
||||
}
|
||||
|
||||
// ClearIsPrimary clears the value of the "is_primary" field.
|
||||
func (muo *MembershipUpdateOne) ClearIsPrimary() *MembershipUpdateOne {
|
||||
muo.mutation.ClearIsPrimary()
|
||||
return muo
|
||||
}
|
||||
|
||||
// SetCreatedAt sets the "created_at" field.
|
||||
func (muo *MembershipUpdateOne) SetCreatedAt(t time.Time) *MembershipUpdateOne {
|
||||
muo.mutation.SetCreatedAt(t)
|
||||
|
@ -427,6 +473,12 @@ func (muo *MembershipUpdateOne) sqlSave(ctx context.Context) (_node *Membership,
|
|||
}
|
||||
}
|
||||
}
|
||||
if value, ok := muo.mutation.IsPrimary(); ok {
|
||||
_spec.SetField(membership.FieldIsPrimary, field.TypeBool, value)
|
||||
}
|
||||
if muo.mutation.IsPrimaryCleared() {
|
||||
_spec.ClearField(membership.FieldIsPrimary, field.TypeBool)
|
||||
}
|
||||
if value, ok := muo.mutation.CreatedAt(); ok {
|
||||
_spec.SetField(membership.FieldCreatedAt, field.TypeTime, value)
|
||||
}
|
||||
|
|
|
@ -189,6 +189,7 @@ var (
|
|||
}
|
||||
// MembershipsColumns holds the columns for the "memberships" table.
|
||||
MembershipsColumns = []*schema.Column{
|
||||
{Name: "is_primary", Type: field.TypeBool, Nullable: true, Default: false},
|
||||
{Name: "created_at", Type: field.TypeTime},
|
||||
{Name: "expires_at", Type: field.TypeTime, Nullable: true},
|
||||
{Name: "user_id", Type: field.TypeInt},
|
||||
|
@ -198,17 +199,17 @@ var (
|
|||
MembershipsTable = &schema.Table{
|
||||
Name: "memberships",
|
||||
Columns: MembershipsColumns,
|
||||
PrimaryKey: []*schema.Column{MembershipsColumns[3], MembershipsColumns[2]},
|
||||
PrimaryKey: []*schema.Column{MembershipsColumns[4], MembershipsColumns[3]},
|
||||
ForeignKeys: []*schema.ForeignKey{
|
||||
{
|
||||
Symbol: "memberships_users_user",
|
||||
Columns: []*schema.Column{MembershipsColumns[2]},
|
||||
Columns: []*schema.Column{MembershipsColumns[3]},
|
||||
RefColumns: []*schema.Column{UsersColumns[0]},
|
||||
OnDelete: schema.NoAction,
|
||||
},
|
||||
{
|
||||
Symbol: "memberships_groups_group",
|
||||
Columns: []*schema.Column{MembershipsColumns[3]},
|
||||
Columns: []*schema.Column{MembershipsColumns[4]},
|
||||
RefColumns: []*schema.Column{GroupsColumns[0]},
|
||||
OnDelete: schema.NoAction,
|
||||
},
|
||||
|
|
|
@ -5687,6 +5687,7 @@ type MembershipMutation struct {
|
|||
config
|
||||
op Op
|
||||
typ string
|
||||
is_primary *bool
|
||||
created_at *time.Time
|
||||
expires_at *time.Time
|
||||
clearedFields map[string]struct{}
|
||||
|
@ -5775,6 +5776,38 @@ func (m *MembershipMutation) ResetGroupID() {
|
|||
m.group = nil
|
||||
}
|
||||
|
||||
// SetIsPrimary sets the "is_primary" field.
|
||||
func (m *MembershipMutation) SetIsPrimary(b bool) {
|
||||
m.is_primary = &b
|
||||
}
|
||||
|
||||
// IsPrimary returns the value of the "is_primary" field in the mutation.
|
||||
func (m *MembershipMutation) IsPrimary() (r bool, exists bool) {
|
||||
v := m.is_primary
|
||||
if v == nil {
|
||||
return
|
||||
}
|
||||
return *v, true
|
||||
}
|
||||
|
||||
// ClearIsPrimary clears the value of the "is_primary" field.
|
||||
func (m *MembershipMutation) ClearIsPrimary() {
|
||||
m.is_primary = nil
|
||||
m.clearedFields[membership.FieldIsPrimary] = struct{}{}
|
||||
}
|
||||
|
||||
// IsPrimaryCleared returns if the "is_primary" field was cleared in this mutation.
|
||||
func (m *MembershipMutation) IsPrimaryCleared() bool {
|
||||
_, ok := m.clearedFields[membership.FieldIsPrimary]
|
||||
return ok
|
||||
}
|
||||
|
||||
// ResetIsPrimary resets all changes to the "is_primary" field.
|
||||
func (m *MembershipMutation) ResetIsPrimary() {
|
||||
m.is_primary = nil
|
||||
delete(m.clearedFields, membership.FieldIsPrimary)
|
||||
}
|
||||
|
||||
// SetCreatedAt sets the "created_at" field.
|
||||
func (m *MembershipMutation) SetCreatedAt(t time.Time) {
|
||||
m.created_at = &t
|
||||
|
@ -5914,13 +5947,16 @@ func (m *MembershipMutation) Type() string {
|
|||
// order to get all numeric fields that were incremented/decremented, call
|
||||
// AddedFields().
|
||||
func (m *MembershipMutation) Fields() []string {
|
||||
fields := make([]string, 0, 4)
|
||||
fields := make([]string, 0, 5)
|
||||
if m.user != nil {
|
||||
fields = append(fields, membership.FieldUserID)
|
||||
}
|
||||
if m.group != nil {
|
||||
fields = append(fields, membership.FieldGroupID)
|
||||
}
|
||||
if m.is_primary != nil {
|
||||
fields = append(fields, membership.FieldIsPrimary)
|
||||
}
|
||||
if m.created_at != nil {
|
||||
fields = append(fields, membership.FieldCreatedAt)
|
||||
}
|
||||
|
@ -5939,6 +5975,8 @@ func (m *MembershipMutation) Field(name string) (ent.Value, bool) {
|
|||
return m.UserID()
|
||||
case membership.FieldGroupID:
|
||||
return m.GroupID()
|
||||
case membership.FieldIsPrimary:
|
||||
return m.IsPrimary()
|
||||
case membership.FieldCreatedAt:
|
||||
return m.CreatedAt()
|
||||
case membership.FieldExpiresAt:
|
||||
|
@ -5973,6 +6011,13 @@ func (m *MembershipMutation) SetField(name string, value ent.Value) error {
|
|||
}
|
||||
m.SetGroupID(v)
|
||||
return nil
|
||||
case membership.FieldIsPrimary:
|
||||
v, ok := value.(bool)
|
||||
if !ok {
|
||||
return fmt.Errorf("unexpected type %T for field %s", value, name)
|
||||
}
|
||||
m.SetIsPrimary(v)
|
||||
return nil
|
||||
case membership.FieldCreatedAt:
|
||||
v, ok := value.(time.Time)
|
||||
if !ok {
|
||||
|
@ -6020,6 +6065,9 @@ func (m *MembershipMutation) AddField(name string, value ent.Value) error {
|
|||
// mutation.
|
||||
func (m *MembershipMutation) ClearedFields() []string {
|
||||
var fields []string
|
||||
if m.FieldCleared(membership.FieldIsPrimary) {
|
||||
fields = append(fields, membership.FieldIsPrimary)
|
||||
}
|
||||
if m.FieldCleared(membership.FieldExpiresAt) {
|
||||
fields = append(fields, membership.FieldExpiresAt)
|
||||
}
|
||||
|
@ -6037,6 +6085,9 @@ func (m *MembershipMutation) FieldCleared(name string) bool {
|
|||
// error if the field is not defined in the schema.
|
||||
func (m *MembershipMutation) ClearField(name string) error {
|
||||
switch name {
|
||||
case membership.FieldIsPrimary:
|
||||
m.ClearIsPrimary()
|
||||
return nil
|
||||
case membership.FieldExpiresAt:
|
||||
m.ClearExpiresAt()
|
||||
return nil
|
||||
|
@ -6054,6 +6105,9 @@ func (m *MembershipMutation) ResetField(name string) error {
|
|||
case membership.FieldGroupID:
|
||||
m.ResetGroupID()
|
||||
return nil
|
||||
case membership.FieldIsPrimary:
|
||||
m.ResetIsPrimary()
|
||||
return nil
|
||||
case membership.FieldCreatedAt:
|
||||
m.ResetCreatedAt()
|
||||
return nil
|
||||
|
|
|
@ -133,8 +133,12 @@ func init() {
|
|||
group.DefaultSettings = groupDescSettings.Default.(*types.GroupSetting)
|
||||
membershipFields := schema.Membership{}.Fields()
|
||||
_ = membershipFields
|
||||
// membershipDescIsPrimary is the schema descriptor for is_primary field.
|
||||
membershipDescIsPrimary := membershipFields[2].Descriptor()
|
||||
// membership.DefaultIsPrimary holds the default value on creation for the is_primary field.
|
||||
membership.DefaultIsPrimary = membershipDescIsPrimary.Default.(bool)
|
||||
// membershipDescCreatedAt is the schema descriptor for created_at field.
|
||||
membershipDescCreatedAt := membershipFields[2].Descriptor()
|
||||
membershipDescCreatedAt := membershipFields[3].Descriptor()
|
||||
// membership.DefaultCreatedAt holds the default value on creation for the created_at field.
|
||||
membership.DefaultCreatedAt = membershipDescCreatedAt.Default.(func() time.Time)
|
||||
metadataMixin := schema.Metadata{}.Mixin()
|
||||
|
|
|
@ -24,6 +24,7 @@ func (Membership) Fields() []ent.Field {
|
|||
return []ent.Field{
|
||||
field.Int("user_id"),
|
||||
field.Int("group_id"),
|
||||
field.Bool("is_primary").Default(false).Optional(),
|
||||
field.Time("created_at").Default(time.Now),
|
||||
field.Time("expires_at").Nillable().Optional(),
|
||||
}
|
||||
|
|
|
@ -64,6 +64,17 @@ func (u *User) GroupMaxAria2BatchSize() int {
|
|||
}
|
||||
|
||||
func (u *User) GetPrimaryGroup() *Group {
|
||||
// TODO: design user primary group
|
||||
panic("implement me")
|
||||
g, ok := lo.Find(u.Edges.Membership, func(d *Membership) bool {
|
||||
return d.IsPrimary
|
||||
})
|
||||
|
||||
if ok {
|
||||
return g.Edges.Group
|
||||
}
|
||||
|
||||
if len(u.Edges.Group) > 0 {
|
||||
return u.Edges.Group[0]
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
|
|
@ -12,7 +12,7 @@ const (
|
|||
DataFolder = "data"
|
||||
)
|
||||
|
||||
var UseWorkingDir = false
|
||||
var UseWorkingDir = true
|
||||
|
||||
// DotPathToStandardPath 将","分割的路径转换为标准路径
|
||||
func DotPathToStandardPath(path string) string {
|
||||
|
|
Loading…
Reference in New Issue