op_set_metadata.go

 1package bug
 2
 3import (
 4	"github.com/MichaelMure/git-bug/entity"
 5	"github.com/MichaelMure/git-bug/entity/dag"
 6)
 7
 8func NewSetMetadataOp(author entity.Identity, unixTime int64, target entity.Id, newMetadata map[string]string) *dag.SetMetadataOperation[*Snapshot] {
 9	return dag.NewSetMetadataOp[*Snapshot](SetMetadataOp, author, unixTime, target, newMetadata)
10}
11
12// SetMetadata is a convenience function to add metadata on another operation
13func SetMetadata(b Interface, author entity.Identity, unixTime int64, target entity.Id, newMetadata map[string]string) (*dag.SetMetadataOperation[*Snapshot], error) {
14	op := NewSetMetadataOp(author, unixTime, target, newMetadata)
15	if err := op.Validate(); err != nil {
16		return nil, err
17	}
18	b.Append(op)
19	return op, nil
20}