/
getDocument.go
37 lines (29 loc) · 885 Bytes
/
getDocument.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
package documents
import (
"github.com/google/wire"
"github.com/luminosita/sample-bee/internal/interfaces/respositories/documents"
documents2 "github.com/luminosita/sample-bee/internal/interfaces/use-cases/documents"
)
var GetWireSet = wire.NewSet(NewGetDocument,
wire.Bind(new(documents2.GetDocumenter), new(*GetDocument)))
type GetDocument struct {
repo documents.GetDocumentRepositorer
}
func NewGetDocument(r documents.GetDocumentRepositorer) *GetDocument {
return &GetDocument{
repo: r,
}
}
func (d *GetDocument) Execute(
documentData *documents2.GetDocumenterRequest) (*documents2.GetDocumenterResponse, error) {
data := &documents.GetDocumentRepositorerRequest{
DocumentID: documentData.DocumentId,
}
res, err := d.repo.GetDocument(data)
if err != nil {
return nil, err
}
return &documents2.GetDocumenterResponse{
Document: res.Document,
}, nil
}