feat(api-key): 增加 API Key 上次使用时间并补齐测试
This commit is contained in:
@@ -79,6 +79,7 @@ type APIKeyMutation struct {
|
||||
key *string
|
||||
name *string
|
||||
status *string
|
||||
last_used_at *time.Time
|
||||
ip_whitelist *[]string
|
||||
appendip_whitelist []string
|
||||
ip_blacklist *[]string
|
||||
@@ -513,6 +514,55 @@ func (m *APIKeyMutation) ResetStatus() {
|
||||
m.status = nil
|
||||
}
|
||||
|
||||
// SetLastUsedAt sets the "last_used_at" field.
|
||||
func (m *APIKeyMutation) SetLastUsedAt(t time.Time) {
|
||||
m.last_used_at = &t
|
||||
}
|
||||
|
||||
// LastUsedAt returns the value of the "last_used_at" field in the mutation.
|
||||
func (m *APIKeyMutation) LastUsedAt() (r time.Time, exists bool) {
|
||||
v := m.last_used_at
|
||||
if v == nil {
|
||||
return
|
||||
}
|
||||
return *v, true
|
||||
}
|
||||
|
||||
// OldLastUsedAt returns the old "last_used_at" field's value of the APIKey entity.
|
||||
// If the APIKey object wasn't provided to the builder, the object is fetched from the database.
|
||||
// An error is returned if the mutation operation is not UpdateOne, or the database query fails.
|
||||
func (m *APIKeyMutation) OldLastUsedAt(ctx context.Context) (v *time.Time, err error) {
|
||||
if !m.op.Is(OpUpdateOne) {
|
||||
return v, errors.New("OldLastUsedAt is only allowed on UpdateOne operations")
|
||||
}
|
||||
if m.id == nil || m.oldValue == nil {
|
||||
return v, errors.New("OldLastUsedAt requires an ID field in the mutation")
|
||||
}
|
||||
oldValue, err := m.oldValue(ctx)
|
||||
if err != nil {
|
||||
return v, fmt.Errorf("querying old value for OldLastUsedAt: %w", err)
|
||||
}
|
||||
return oldValue.LastUsedAt, nil
|
||||
}
|
||||
|
||||
// ClearLastUsedAt clears the value of the "last_used_at" field.
|
||||
func (m *APIKeyMutation) ClearLastUsedAt() {
|
||||
m.last_used_at = nil
|
||||
m.clearedFields[apikey.FieldLastUsedAt] = struct{}{}
|
||||
}
|
||||
|
||||
// LastUsedAtCleared returns if the "last_used_at" field was cleared in this mutation.
|
||||
func (m *APIKeyMutation) LastUsedAtCleared() bool {
|
||||
_, ok := m.clearedFields[apikey.FieldLastUsedAt]
|
||||
return ok
|
||||
}
|
||||
|
||||
// ResetLastUsedAt resets all changes to the "last_used_at" field.
|
||||
func (m *APIKeyMutation) ResetLastUsedAt() {
|
||||
m.last_used_at = nil
|
||||
delete(m.clearedFields, apikey.FieldLastUsedAt)
|
||||
}
|
||||
|
||||
// SetIPWhitelist sets the "ip_whitelist" field.
|
||||
func (m *APIKeyMutation) SetIPWhitelist(s []string) {
|
||||
m.ip_whitelist = &s
|
||||
@@ -946,7 +996,7 @@ func (m *APIKeyMutation) Type() string {
|
||||
// order to get all numeric fields that were incremented/decremented, call
|
||||
// AddedFields().
|
||||
func (m *APIKeyMutation) Fields() []string {
|
||||
fields := make([]string, 0, 13)
|
||||
fields := make([]string, 0, 14)
|
||||
if m.created_at != nil {
|
||||
fields = append(fields, apikey.FieldCreatedAt)
|
||||
}
|
||||
@@ -971,6 +1021,9 @@ func (m *APIKeyMutation) Fields() []string {
|
||||
if m.status != nil {
|
||||
fields = append(fields, apikey.FieldStatus)
|
||||
}
|
||||
if m.last_used_at != nil {
|
||||
fields = append(fields, apikey.FieldLastUsedAt)
|
||||
}
|
||||
if m.ip_whitelist != nil {
|
||||
fields = append(fields, apikey.FieldIPWhitelist)
|
||||
}
|
||||
@@ -1010,6 +1063,8 @@ func (m *APIKeyMutation) Field(name string) (ent.Value, bool) {
|
||||
return m.GroupID()
|
||||
case apikey.FieldStatus:
|
||||
return m.Status()
|
||||
case apikey.FieldLastUsedAt:
|
||||
return m.LastUsedAt()
|
||||
case apikey.FieldIPWhitelist:
|
||||
return m.IPWhitelist()
|
||||
case apikey.FieldIPBlacklist:
|
||||
@@ -1045,6 +1100,8 @@ func (m *APIKeyMutation) OldField(ctx context.Context, name string) (ent.Value,
|
||||
return m.OldGroupID(ctx)
|
||||
case apikey.FieldStatus:
|
||||
return m.OldStatus(ctx)
|
||||
case apikey.FieldLastUsedAt:
|
||||
return m.OldLastUsedAt(ctx)
|
||||
case apikey.FieldIPWhitelist:
|
||||
return m.OldIPWhitelist(ctx)
|
||||
case apikey.FieldIPBlacklist:
|
||||
@@ -1120,6 +1177,13 @@ func (m *APIKeyMutation) SetField(name string, value ent.Value) error {
|
||||
}
|
||||
m.SetStatus(v)
|
||||
return nil
|
||||
case apikey.FieldLastUsedAt:
|
||||
v, ok := value.(time.Time)
|
||||
if !ok {
|
||||
return fmt.Errorf("unexpected type %T for field %s", value, name)
|
||||
}
|
||||
m.SetLastUsedAt(v)
|
||||
return nil
|
||||
case apikey.FieldIPWhitelist:
|
||||
v, ok := value.([]string)
|
||||
if !ok {
|
||||
@@ -1218,6 +1282,9 @@ func (m *APIKeyMutation) ClearedFields() []string {
|
||||
if m.FieldCleared(apikey.FieldGroupID) {
|
||||
fields = append(fields, apikey.FieldGroupID)
|
||||
}
|
||||
if m.FieldCleared(apikey.FieldLastUsedAt) {
|
||||
fields = append(fields, apikey.FieldLastUsedAt)
|
||||
}
|
||||
if m.FieldCleared(apikey.FieldIPWhitelist) {
|
||||
fields = append(fields, apikey.FieldIPWhitelist)
|
||||
}
|
||||
@@ -1247,6 +1314,9 @@ func (m *APIKeyMutation) ClearField(name string) error {
|
||||
case apikey.FieldGroupID:
|
||||
m.ClearGroupID()
|
||||
return nil
|
||||
case apikey.FieldLastUsedAt:
|
||||
m.ClearLastUsedAt()
|
||||
return nil
|
||||
case apikey.FieldIPWhitelist:
|
||||
m.ClearIPWhitelist()
|
||||
return nil
|
||||
@@ -1288,6 +1358,9 @@ func (m *APIKeyMutation) ResetField(name string) error {
|
||||
case apikey.FieldStatus:
|
||||
m.ResetStatus()
|
||||
return nil
|
||||
case apikey.FieldLastUsedAt:
|
||||
m.ResetLastUsedAt()
|
||||
return nil
|
||||
case apikey.FieldIPWhitelist:
|
||||
m.ResetIPWhitelist()
|
||||
return nil
|
||||
|
||||
Reference in New Issue
Block a user