555b6d420b
Document Result Endpoint * testing * cleantesting * progress * query * lint * readme * dockerclient * api * passtest * tests * test
40 lines
1011 B
Go
40 lines
1011 B
Go
package queryapi
|
|
|
|
import (
|
|
"fmt"
|
|
"net/http"
|
|
|
|
"github.com/labstack/echo/v4"
|
|
)
|
|
|
|
func (s *Controllers) ListDocumentsByClientId(ctx echo.Context, clientId ClientID) error {
|
|
documents, err := s.svc.Document.ListByClientExternalId(ctx.Request().Context(), clientId)
|
|
if err != nil {
|
|
return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Unable to list documents: %s", err))
|
|
}
|
|
|
|
docs := make([]DocumentSummary, len(documents))
|
|
for i, doc := range documents {
|
|
docs[i] = DocumentSummary{
|
|
Id: doc.ID,
|
|
Hash: doc.Hash,
|
|
}
|
|
}
|
|
|
|
return ctx.JSON(http.StatusOK, docs)
|
|
}
|
|
|
|
func (s *Controllers) GetDocument(ctx echo.Context, id DocumentID) error {
|
|
document, err := s.svc.Document.GetExternal(ctx.Request().Context(), id)
|
|
if err != nil {
|
|
return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Unable to list documents: %s", err))
|
|
}
|
|
|
|
return ctx.JSON(http.StatusOK, Document{
|
|
Id: document.Id,
|
|
ClientId: document.ClientID,
|
|
Hash: document.Hash,
|
|
Fields: document.Fields,
|
|
})
|
|
}
|