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