31 lines
550 B
Go
31 lines
550 B
Go
|
package document
|
||
|
|
||
|
import (
|
||
|
"context"
|
||
|
|
||
|
"forge.cadoles.com/arcad/edge/pkg/storage"
|
||
|
"github.com/pkg/errors"
|
||
|
)
|
||
|
|
||
|
type GetDocumentArgs struct {
|
||
|
Collection string
|
||
|
DocumentID storage.DocumentID
|
||
|
}
|
||
|
|
||
|
type GetDocumentReply struct {
|
||
|
Document storage.Document
|
||
|
}
|
||
|
|
||
|
func (s *Service) GetDocument(ctx context.Context, args GetDocumentArgs, reply *GetDocumentReply) error {
|
||
|
document, err := s.store.Get(ctx, args.Collection, args.DocumentID)
|
||
|
if err != nil {
|
||
|
return errors.WithStack(err)
|
||
|
}
|
||
|
|
||
|
*reply = GetDocumentReply{
|
||
|
Document: document,
|
||
|
}
|
||
|
|
||
|
return nil
|
||
|
}
|