William Petit
8e574c299b
All checks were successful
arcad/edge/pipeline/pr-master This commit looks good
31 lines
567 B
Go
31 lines
567 B
Go
package document
|
|
|
|
import (
|
|
"context"
|
|
|
|
"forge.cadoles.com/arcad/edge/pkg/storage"
|
|
"github.com/pkg/errors"
|
|
)
|
|
|
|
type UpsertDocumentArgs struct {
|
|
Collection string
|
|
Document storage.Document
|
|
}
|
|
|
|
type UpsertDocumentReply struct {
|
|
Document storage.Document
|
|
}
|
|
|
|
func (s *Service) UpsertDocument(ctx context.Context, args UpsertDocumentArgs, reply *UpsertDocumentReply) error {
|
|
document, err := s.store.Upsert(ctx, args.Collection, args.Document)
|
|
if err != nil {
|
|
return errors.WithStack(err)
|
|
}
|
|
|
|
*reply = UpsertDocumentReply{
|
|
Document: document,
|
|
}
|
|
|
|
return nil
|
|
}
|