DocumentPage.hooks.ts 627 B

123456789101112131415161718192021222324
  1. import {
  2. DocumentEventGetDocument,
  3. DocumentVersionPB,
  4. OpenDocumentPayloadPB,
  5. } from '../../services/backend/events/flowy-document';
  6. export const useDocument = () => {
  7. const loadDocument = async (id: string): Promise<any> => {
  8. const getDocumentResult = await DocumentEventGetDocument(
  9. OpenDocumentPayloadPB.fromObject({
  10. document_id: id,
  11. version: DocumentVersionPB.V1,
  12. })
  13. );
  14. if (getDocumentResult.ok) {
  15. const pb = getDocumentResult.val;
  16. return JSON.parse(pb.content);
  17. } else {
  18. throw new Error('get document error');
  19. }
  20. };
  21. return { loadDocument };
  22. };