aboutsummaryrefslogblamecommitdiffstats
path: root/entities/bug/op_set_metadata.go
blob: fd5cc94b595834d237b5fd2326e9e5fe8fb0a137 (plain) (tree)
1
2
3
4
5
6
7
8
9
10

           
        


                                                      
 
 

                                                                                                                                                        

 
                                                                             


                                                                                                                                                                         

                               

                      
 
package bug

import (
	"github.com/git-bug/git-bug/entities/identity"
	"github.com/git-bug/git-bug/entity"
	"github.com/git-bug/git-bug/entity/dag"
)

func NewSetMetadataOp(author identity.Interface, unixTime int64, target entity.Id, newMetadata map[string]string) *dag.SetMetadataOperation[*Snapshot] {
	return dag.NewSetMetadataOp[*Snapshot](SetMetadataOp, author, unixTime, target, newMetadata)
}

// SetMetadata is a convenience function to add metadata on another operation
func SetMetadata(b Interface, author identity.Interface, unixTime int64, target entity.Id, newMetadata map[string]string) (*dag.SetMetadataOperation[*Snapshot], error) {
	op := NewSetMetadataOp(author, unixTime, target, newMetadata)
	if err := op.Validate(); err != nil {
		return nil, err
	}
	b.Append(op)
	return op, nil
}