Normalized Data Shape

On the frontend team we are designing the new normalized data structure, which is how the client will organize all data that is received from the API

  • Account

    • [Account_ID]

      • Paths

        • [Path] - empty string for home docs, /[TSID] for CCC, and /human/readable for children docs

          • when type: Document

            • latestVersion: [cid1.cid2]

            • mentions array:

              • resource: [AccountID+Path]

              • mention metadata?

            • comments array:

              • [Resource: AccountID+Path]

            • activity: TBD - cache the activity events about this specific resource

            • search: TBD - cache search results when your search is narrowed to this resource

          • when type: Comment

            • latestVersion: [cid]

            • mentions array:

              • resource: [AccountID+Path]

      • Profile

        • latestCid: [cid]

  • search - used to cache search results when searching the whole node

  • activity - cache the node's global activity events

    • will reference the Path Resources: [AccountID+Path] or the Profile: [AccountID]

  • Immutable

    • [CID]

      • when a document change:

        • State - the current state

          • Metadata

          • Content

        • Blob Data (as it saved in IPFS)

      • when a comment, cap, contact, profile:

        • Blob Data (as it is saved in IPFS)

        • Metadata? If only used if the full blob data is not loaded

    • [CID1.CID2]

      • for document versions only

      • State - if this is a document version

        • Metadata

        • Content

Do you like what you are reading? Subscribe to receive updates.

Unsubscribe anytime