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