mirror of
https://github.com/hay-kot/homebox.git
synced 2025-06-27 14:18:35 +00:00
feat: asset tags/ids (#142)
* add schema * run db migration * bulk seed asset IDs * breaking: update runtime options * conditionally increment asset IDs * update API endpoints * fix import asset id assignment * refactor display + marshal/unmarshal * add docs page * add to form field * hide 000-000 values * update ENV vars
This commit is contained in:
parent
976f68252d
commit
6dc2ae1bea
32 changed files with 905 additions and 72 deletions
|
@ -4134,6 +4134,8 @@ type ItemMutation struct {
|
|||
addquantity *int
|
||||
insured *bool
|
||||
archived *bool
|
||||
asset_id *int
|
||||
addasset_id *int
|
||||
serial_number *string
|
||||
model_number *string
|
||||
manufacturer *string
|
||||
|
@ -4660,6 +4662,62 @@ func (m *ItemMutation) ResetArchived() {
|
|||
m.archived = nil
|
||||
}
|
||||
|
||||
// SetAssetID sets the "asset_id" field.
|
||||
func (m *ItemMutation) SetAssetID(i int) {
|
||||
m.asset_id = &i
|
||||
m.addasset_id = nil
|
||||
}
|
||||
|
||||
// AssetID returns the value of the "asset_id" field in the mutation.
|
||||
func (m *ItemMutation) AssetID() (r int, exists bool) {
|
||||
v := m.asset_id
|
||||
if v == nil {
|
||||
return
|
||||
}
|
||||
return *v, true
|
||||
}
|
||||
|
||||
// OldAssetID returns the old "asset_id" field's value of the Item entity.
|
||||
// If the Item 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 *ItemMutation) OldAssetID(ctx context.Context) (v int, err error) {
|
||||
if !m.op.Is(OpUpdateOne) {
|
||||
return v, errors.New("OldAssetID is only allowed on UpdateOne operations")
|
||||
}
|
||||
if m.id == nil || m.oldValue == nil {
|
||||
return v, errors.New("OldAssetID requires an ID field in the mutation")
|
||||
}
|
||||
oldValue, err := m.oldValue(ctx)
|
||||
if err != nil {
|
||||
return v, fmt.Errorf("querying old value for OldAssetID: %w", err)
|
||||
}
|
||||
return oldValue.AssetID, nil
|
||||
}
|
||||
|
||||
// AddAssetID adds i to the "asset_id" field.
|
||||
func (m *ItemMutation) AddAssetID(i int) {
|
||||
if m.addasset_id != nil {
|
||||
*m.addasset_id += i
|
||||
} else {
|
||||
m.addasset_id = &i
|
||||
}
|
||||
}
|
||||
|
||||
// AddedAssetID returns the value that was added to the "asset_id" field in this mutation.
|
||||
func (m *ItemMutation) AddedAssetID() (r int, exists bool) {
|
||||
v := m.addasset_id
|
||||
if v == nil {
|
||||
return
|
||||
}
|
||||
return *v, true
|
||||
}
|
||||
|
||||
// ResetAssetID resets all changes to the "asset_id" field.
|
||||
func (m *ItemMutation) ResetAssetID() {
|
||||
m.asset_id = nil
|
||||
m.addasset_id = nil
|
||||
}
|
||||
|
||||
// SetSerialNumber sets the "serial_number" field.
|
||||
func (m *ItemMutation) SetSerialNumber(s string) {
|
||||
m.serial_number = &s
|
||||
|
@ -5650,7 +5708,7 @@ func (m *ItemMutation) Type() string {
|
|||
// order to get all numeric fields that were incremented/decremented, call
|
||||
// AddedFields().
|
||||
func (m *ItemMutation) Fields() []string {
|
||||
fields := make([]string, 0, 22)
|
||||
fields := make([]string, 0, 23)
|
||||
if m.created_at != nil {
|
||||
fields = append(fields, item.FieldCreatedAt)
|
||||
}
|
||||
|
@ -5678,6 +5736,9 @@ func (m *ItemMutation) Fields() []string {
|
|||
if m.archived != nil {
|
||||
fields = append(fields, item.FieldArchived)
|
||||
}
|
||||
if m.asset_id != nil {
|
||||
fields = append(fields, item.FieldAssetID)
|
||||
}
|
||||
if m.serial_number != nil {
|
||||
fields = append(fields, item.FieldSerialNumber)
|
||||
}
|
||||
|
@ -5743,6 +5804,8 @@ func (m *ItemMutation) Field(name string) (ent.Value, bool) {
|
|||
return m.Insured()
|
||||
case item.FieldArchived:
|
||||
return m.Archived()
|
||||
case item.FieldAssetID:
|
||||
return m.AssetID()
|
||||
case item.FieldSerialNumber:
|
||||
return m.SerialNumber()
|
||||
case item.FieldModelNumber:
|
||||
|
@ -5796,6 +5859,8 @@ func (m *ItemMutation) OldField(ctx context.Context, name string) (ent.Value, er
|
|||
return m.OldInsured(ctx)
|
||||
case item.FieldArchived:
|
||||
return m.OldArchived(ctx)
|
||||
case item.FieldAssetID:
|
||||
return m.OldAssetID(ctx)
|
||||
case item.FieldSerialNumber:
|
||||
return m.OldSerialNumber(ctx)
|
||||
case item.FieldModelNumber:
|
||||
|
@ -5894,6 +5959,13 @@ func (m *ItemMutation) SetField(name string, value ent.Value) error {
|
|||
}
|
||||
m.SetArchived(v)
|
||||
return nil
|
||||
case item.FieldAssetID:
|
||||
v, ok := value.(int)
|
||||
if !ok {
|
||||
return fmt.Errorf("unexpected type %T for field %s", value, name)
|
||||
}
|
||||
m.SetAssetID(v)
|
||||
return nil
|
||||
case item.FieldSerialNumber:
|
||||
v, ok := value.(string)
|
||||
if !ok {
|
||||
|
@ -5996,6 +6068,9 @@ func (m *ItemMutation) AddedFields() []string {
|
|||
if m.addquantity != nil {
|
||||
fields = append(fields, item.FieldQuantity)
|
||||
}
|
||||
if m.addasset_id != nil {
|
||||
fields = append(fields, item.FieldAssetID)
|
||||
}
|
||||
if m.addpurchase_price != nil {
|
||||
fields = append(fields, item.FieldPurchasePrice)
|
||||
}
|
||||
|
@ -6012,6 +6087,8 @@ func (m *ItemMutation) AddedField(name string) (ent.Value, bool) {
|
|||
switch name {
|
||||
case item.FieldQuantity:
|
||||
return m.AddedQuantity()
|
||||
case item.FieldAssetID:
|
||||
return m.AddedAssetID()
|
||||
case item.FieldPurchasePrice:
|
||||
return m.AddedPurchasePrice()
|
||||
case item.FieldSoldPrice:
|
||||
|
@ -6032,6 +6109,13 @@ func (m *ItemMutation) AddField(name string, value ent.Value) error {
|
|||
}
|
||||
m.AddQuantity(v)
|
||||
return nil
|
||||
case item.FieldAssetID:
|
||||
v, ok := value.(int)
|
||||
if !ok {
|
||||
return fmt.Errorf("unexpected type %T for field %s", value, name)
|
||||
}
|
||||
m.AddAssetID(v)
|
||||
return nil
|
||||
case item.FieldPurchasePrice:
|
||||
v, ok := value.(float64)
|
||||
if !ok {
|
||||
|
@ -6181,6 +6265,9 @@ func (m *ItemMutation) ResetField(name string) error {
|
|||
case item.FieldArchived:
|
||||
m.ResetArchived()
|
||||
return nil
|
||||
case item.FieldAssetID:
|
||||
m.ResetAssetID()
|
||||
return nil
|
||||
case item.FieldSerialNumber:
|
||||
m.ResetSerialNumber()
|
||||
return nil
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue