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:
Hayden 2022-11-13 14:17:55 -09:00 committed by GitHub
parent 976f68252d
commit 6dc2ae1bea
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
32 changed files with 905 additions and 72 deletions

View file

@ -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