MCPcopy Create free account
hub / github.com/PerpetualSoftware/pad / getWorkspaceDocument

Method getWorkspaceDocument

internal/server/server.go:2515–2532  ·  view source on GitHub ↗

isUUID is defined in handlers_items.go getWorkspaceDocument resolves workspace slug and document ID from URL params.

(w http.ResponseWriter, r *http.Request)

Source from the content-addressed store, hash-verified

2513
2514// getWorkspaceDocument resolves workspace slug and document ID from URL params.
2515func (s *Server) getWorkspaceDocument(w http.ResponseWriter, r *http.Request) (string, *models.Document, bool) {
2516 workspaceID, ok := s.getWorkspaceID(w, r)
2517 if !ok {
2518 return "", nil, false
2519 }
2520
2521 docID := chi.URLParam(r, "docID")
2522 doc, err := s.store.GetDocument(docID)
2523 if err != nil {
2524 writeInternalError(w, err)
2525 return "", nil, false
2526 }
2527 if doc == nil || doc.WorkspaceID != workspaceID {
2528 writeError(w, http.StatusNotFound, "not_found", "Document not found")
2529 return "", nil, false
2530 }
2531 return workspaceID, doc, true
2532}

Callers 6

handleGetDocumentMethod · 0.95
handleUpdateDocumentMethod · 0.95
handleDeleteDocumentMethod · 0.95
handleListVersionsMethod · 0.95
handleGetVersionMethod · 0.95

Calls 4

getWorkspaceIDMethod · 0.95
writeInternalErrorFunction · 0.85
writeErrorFunction · 0.85
GetDocumentMethod · 0.80

Tested by

no test coverage detected