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

Method getWorkspaceDocument

internal/server/server.go:2838–2855  ·  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

2836
2837// getWorkspaceDocument resolves workspace slug and document ID from URL params.
2838func (s *Server) getWorkspaceDocument(w http.ResponseWriter, r *http.Request) (string, *models.Document, bool) {
2839 workspaceID, ok := s.getWorkspaceID(w, r)
2840 if !ok {
2841 return "", nil, false
2842 }
2843
2844 docID := chi.URLParam(r, "docID")
2845 doc, err := s.store.GetDocument(docID)
2846 if err != nil {
2847 writeInternalError(w, err)
2848 return "", nil, false
2849 }
2850 if doc == nil || doc.WorkspaceID != workspaceID {
2851 writeError(w, http.StatusNotFound, "not_found", "Document not found")
2852 return "", nil, false
2853 }
2854 return workspaceID, doc, true
2855}

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