1
0
Fork 0
mirror of https://github.com/anyproto/anytype-heart.git synced 2025-06-07 21:37:04 +09:00

GO-2911: Add json test case generator just for readability

This commit is contained in:
Sergey 2024-02-23 17:20:27 +01:00
parent 2b02e0c928
commit e639991a84
No known key found for this signature in database
GPG key ID: 3B6BEF79160221C6
6 changed files with 1203 additions and 2 deletions

115
cmd/testcase/main.go Normal file
View file

@ -0,0 +1,115 @@
package main
import (
"fmt"
"io"
"os"
"path/filepath"
"github.com/gogo/protobuf/jsonpb"
"github.com/gogo/protobuf/proto"
"github.com/anyproto/anytype-heart/pb"
)
func run() error {
if len(os.Args) == 1 {
return fmt.Errorf("select command: generate-json-helpers")
}
if os.Args[1] == "generate-json-helpers" {
return generateJsonHelpers()
}
return nil
}
func generateJsonHelpers() error {
rootPath := "./tests/integration/testdata/import"
entries, err := os.ReadDir(rootPath)
if err != nil {
return fmt.Errorf("read dir: %w", err)
}
for _, entry := range entries {
if entry.IsDir() {
err := generateJsonHelpersForImportCase(filepath.Join(rootPath, entry.Name()))
if err != nil {
return fmt.Errorf("generate json helpers for dir %s: %w", entry.Name(), err)
}
}
}
return nil
}
func generateJsonHelpersForImportCase(dir string) error {
entries, err := os.ReadDir(dir)
if err != nil {
return fmt.Errorf("read dir: %w", err)
}
for _, entry := range entries {
if entry.IsDir() {
continue
}
// Remove old json files
if filepath.Ext(entry.Name()) == ".txt" {
path := filepath.Join(dir, entry.Name())
fmt.Println("delete old json file: ", path)
err := os.Remove(path)
if err != nil {
return fmt.Errorf("remove file: %w", err)
}
}
}
for _, entry := range entries {
if entry.IsDir() {
continue
}
if filepath.Ext(entry.Name()) == ".pb" {
err = generateJsonHelper(dir, entry.Name())
if err != nil {
return fmt.Errorf("generate helper: %w", err)
}
}
}
return nil
}
func generateJsonHelper(dir string, pbFileName string) error {
f, err := os.Open(filepath.Join(dir, pbFileName))
if err != nil {
return fmt.Errorf("open file: %w", err)
}
defer f.Close()
snapshot := &pb.SnapshotWithType{}
data, err := io.ReadAll(f)
if err != nil {
return fmt.Errorf("read pb file: %w", err)
}
err = proto.Unmarshal(data, snapshot)
if err != nil {
return fmt.Errorf("unmarshal pb: %w", err)
}
jsonFilePath := filepath.Join(dir, pbFileName+".txt")
jsonFile, err := os.Create(jsonFilePath)
if err != nil {
return fmt.Errorf("create file: %w", err)
}
defer jsonFile.Close()
marshaler := &jsonpb.Marshaler{Indent: " "}
err = marshaler.Marshal(jsonFile, snapshot)
if err != nil {
return fmt.Errorf("marshal to json: %w", err)
}
fmt.Println("created json file: ", jsonFilePath)
return nil
}
func main() {
err := run()
if err != nil {
fmt.Fprintln(os.Stderr, err)
os.Exit(1)
}
}

View file

@ -84,7 +84,7 @@ func TestImportFiles(t *testing.T) {
if v := msg.GetObjectDetailsSet(); v != nil {
if slices.Contains(v.SubIds, subscriptionId) {
fileObjectId := pbtypes.GetString(v.Details, bundle.RelationKeyId.String())
assertImageAvailbleInGateway(t, app, fileObjectId)
assertImageAvailableInGateway(t, app, fileObjectId)
return true
}
}
@ -93,7 +93,7 @@ func TestImportFiles(t *testing.T) {
})
}
func assertImageAvailbleInGateway(t *testing.T, app *testApplication, fileObjectId string) {
func assertImageAvailableInGateway(t *testing.T, app *testApplication, fileObjectId string) {
gw := getService[gateway.Gateway](app)
host := gw.Addr()
resp, err := http.Get("http://" + host + "/image/" + fileObjectId)

View file

@ -0,0 +1,285 @@
{
"sbType": "STType",
"snapshot": {
"data": {
"blocks": [
{
"id": "bafyreidcjbn5axvbp4qrs43vfvtgmj3w5ahygfhjsbjm44gkaqms2iopny",
"childrenIds": [
"header"
],
"smartblock": {
}
},
{
"id": "header",
"restrictions": {
"edit": true,
"remove": true,
"drag": true,
"dropOn": true
},
"childrenIds": [
"title",
"featuredRelations"
],
"layout": {
"style": "Header"
}
},
{
"id": "title",
"fields": {
"_detailsKey": [
"name",
"done"
]
},
"restrictions": {
"remove": true,
"drag": true,
"dropOn": true
},
"text": {
"style": "Title",
"marks": {
}
}
},
{
"id": "featuredRelations",
"restrictions": {
"remove": true,
"drag": true,
"dropOn": true
},
"featuredRelations": {
}
}
],
"details": {
"backlinks": [
],
"createdDate": 1708681936,
"creator": "_anytype_profile",
"description": "Auto-generated object from .jpg \u0026 .png files added to Anytype. A representation of the external form of a person or thing in art",
"featuredRelations": [
"backlinks",
"type"
],
"iconEmoji": "🏞",
"id": "bafyreidcjbn5axvbp4qrs43vfvtgmj3w5ahygfhjsbjm44gkaqms2iopny",
"internalFlags": [
],
"isArchived": false,
"isHidden": false,
"isReadonly": true,
"lastModifiedBy": "_participant_bafyreieo7b7uqpcyrl5djfeezwhrycrexqv2l2giugf67drbg536naiav4_3uxcyvge8is62_A6LrAEcm6LMpygR5LZ2yJ4izsNmzKrzGBJmYWKExtiJZbi7h",
"lastModifiedDate": 1708681937,
"lastUsedDate": 1708679837,
"layout": 4,
"links": [
],
"name": "Image",
"origin": 7,
"recommendedLayout": 8,
"recommendedRelations": [
"bafyreiexomkqsmiquooblaiivjekszpxtktc4vwzpot7eagl4sm4xgvxsm",
"bafyreigpg65ux5iiouypryze4xe3zybzvzgjkukqhwt6ywceo2xyrbyzcq",
"bafyreifigx3ej4ryeolhg2z3kejvvqyoesc6oqay7fr5yqhb6c3qs42wwa",
"bafyreihzahmws7ikdemquxesbr33pjfjrefaqidjrpo3i4rt3uu4s6btra",
"bafyreif3deijdgfbsd6n3kmxqgsb2tnkt7n4jnngqm2icrpfyi37c7v47q",
"bafyreifpt7wvp72aax7c2bjd4fkoimimvqj4xofxlhayg5qklocuyxeucy",
"bafyreic7cas7aiytfos6gh7445glrygw7bbpgbjnhifmtjaly3axes4bue",
"bafyreigdgqsyw5qhov4n5prhbtbw3hszi3bbiunni456naw5sidvvqauc4",
"bafyreickzet3mkznzh4akug2p6qrnmhxzjjzctrt42qfl7gfpwap5a2dp4",
"bafyreihocceydestrxj42pplz2lv5moumaezgdgajcdhdhxr2xjt6fkn7q",
"bafyreibtadmiwpuj7ylqjtliukqpv6z6uqcspr5v4xerrsgeqjoeq5m7o4",
"bafyreiawn7wlwt6hzgkdpnaf6ap6q5s35xnnqpuvyo7fa6eatv6yptx4uy"
],
"restrictions": [
3,
6,
5,
7,
4,
1
],
"revision": 0,
"smartblockTypes": [
256
],
"snippet": "",
"sourceObject": "_otimage",
"spaceId": "bafyreieo7b7uqpcyrl5djfeezwhrycrexqv2l2giugf67drbg536naiav4.3uxcyvge8is62",
"type": "bafyreibb45igjiprvuhe7j35hgfunh72oggyqhnoyxknmm5ebqfyvrwulq",
"uniqueKey": "ot-image"
},
"objectTypes": [
"ot-objectType"
],
"relationLinks": [
{
"key": "spaceId",
"format": "object"
},
{
"key": "description"
},
{
"key": "recommendedRelations",
"format": "object"
},
{
"key": "internalFlags",
"format": "number"
},
{
"key": "name",
"format": "shorttext"
},
{
"key": "revision",
"format": "number"
},
{
"key": "origin",
"format": "number"
},
{
"key": "recommendedLayout",
"format": "number"
},
{
"key": "sourceObject",
"format": "object"
},
{
"key": "featuredRelations",
"format": "object"
},
{
"key": "isHidden",
"format": "checkbox"
},
{
"key": "smartblockTypes",
"format": "number"
},
{
"key": "layout",
"format": "number"
},
{
"key": "iconEmoji",
"format": "emoji"
},
{
"key": "id",
"format": "object"
},
{
"key": "uniqueKey"
},
{
"key": "isReadonly",
"format": "checkbox"
},
{
"key": "snippet"
},
{
"key": "backlinks",
"format": "object"
},
{
"key": "iconImage",
"format": "file"
},
{
"key": "type",
"format": "object"
},
{
"key": "layoutAlign",
"format": "number"
},
{
"key": "coverId"
},
{
"key": "coverScale",
"format": "number"
},
{
"key": "coverType",
"format": "number"
},
{
"key": "coverX",
"format": "number"
},
{
"key": "coverY",
"format": "number"
},
{
"key": "createdDate",
"format": "date"
},
{
"key": "creator",
"format": "object"
},
{
"key": "lastModifiedDate",
"format": "date"
},
{
"key": "lastModifiedBy",
"format": "object"
},
{
"key": "lastOpenedDate",
"format": "date"
},
{
"key": "isFavorite",
"format": "checkbox"
},
{
"key": "workspaceId",
"format": "object"
},
{
"key": "links",
"format": "object"
},
{
"key": "restrictions",
"format": "number"
},
{
"key": "fileId",
"format": "shorttext"
},
{
"key": "sizeInBytes",
"format": "number"
},
{
"key": "lastUsedDate",
"format": "date"
},
{
"key": "isArchived",
"format": "checkbox"
}
],
"key": "image"
}
}
}

View file

@ -0,0 +1,297 @@
{
"sbType": "FileObject",
"snapshot": {
"data": {
"blocks": [
{
"id": "bafyreie5dsqow6vcoqh5cahq4epetrm3tnmue5txgbdbyjojcgpase5soy",
"restrictions": {
"edit": true,
"remove": true,
"drag": true,
"dropOn": true
},
"childrenIds": [
"header",
"file",
"widthInPixels",
"heightInPixels",
"sizeInBytes"
],
"smartblock": {
}
},
{
"id": "header",
"restrictions": {
"edit": true,
"remove": true,
"drag": true,
"dropOn": true
},
"childrenIds": [
"title",
"featuredRelations"
],
"layout": {
"style": "Header"
}
},
{
"id": "file",
"restrictions": {
"edit": true,
"remove": true,
"drag": true,
"dropOn": true
},
"file": {
"name": "test_image.png",
"type": "Image",
"mime": "image/png",
"size": "473831",
"targetObjectId": "bafyreie5dsqow6vcoqh5cahq4epetrm3tnmue5txgbdbyjojcgpase5soy",
"state": "Done"
}
},
{
"id": "widthInPixels",
"restrictions": {
"edit": true,
"remove": true,
"drag": true,
"dropOn": true
},
"relation": {
"key": "widthInPixels"
}
},
{
"id": "heightInPixels",
"restrictions": {
"edit": true,
"remove": true,
"drag": true,
"dropOn": true
},
"relation": {
"key": "heightInPixels"
}
},
{
"id": "sizeInBytes",
"restrictions": {
"edit": true,
"remove": true,
"drag": true,
"dropOn": true
},
"relation": {
"key": "sizeInBytes"
}
},
{
"id": "title",
"fields": {
"_detailsKey": [
"name",
"done"
]
},
"restrictions": {
"edit": true,
"remove": true,
"drag": true,
"dropOn": true
},
"text": {
"style": "Title",
"marks": {
}
}
},
{
"id": "featuredRelations",
"restrictions": {
"edit": true,
"remove": true,
"drag": true,
"dropOn": true
},
"featuredRelations": {
}
}
],
"details": {
"addedDate": 1708689792,
"backlinks": [
],
"createdDate": 1708689792,
"creator": "_participant_bafyreieo7b7uqpcyrl5djfeezwhrycrexqv2l2giugf67drbg536naiav4_3uxcyvge8is62_A6LrAEcm6LMpygR5LZ2yJ4izsNmzKrzGBJmYWKExtiJZbi7h",
"featuredRelations": [
"type"
],
"fileBackupStatus": 1,
"fileExt": "png",
"fileId": "bafybeigw3qcbjo32mum7uq2esdocm6oofh2ncx24p26rhwmfurvh3yq524",
"fileIndexingStatus": 1,
"fileMimeType": "image/png",
"fileSyncStatus": 1,
"heightInPixels": 512,
"iconImage": "bafyreie5dsqow6vcoqh5cahq4epetrm3tnmue5txgbdbyjojcgpase5soy",
"id": "bafyreie5dsqow6vcoqh5cahq4epetrm3tnmue5txgbdbyjojcgpase5soy",
"isReadonly": false,
"lastModifiedBy": "_participant_bafyreieo7b7uqpcyrl5djfeezwhrycrexqv2l2giugf67drbg536naiav4_3uxcyvge8is62_A6LrAEcm6LMpygR5LZ2yJ4izsNmzKrzGBJmYWKExtiJZbi7h",
"lastModifiedDate": 1708689794,
"layout": 8,
"links": [
],
"name": "test_image",
"origin": 2,
"restrictions": [
3,
6,
5,
7,
8
],
"sizeInBytes": 473831,
"snippet": "",
"source": "files/test_image.png",
"spaceId": "bafyreieo7b7uqpcyrl5djfeezwhrycrexqv2l2giugf67drbg536naiav4.3uxcyvge8is62",
"type": "bafyreidcjbn5axvbp4qrs43vfvtgmj3w5ahygfhjsbjm44gkaqms2iopny",
"widthInPixels": 512
},
"objectTypes": [
"ot-image"
],
"relationLinks": [
{
"key": "widthInPixels",
"format": "number"
},
{
"key": "fileExt"
},
{
"key": "sizeInBytes",
"format": "number"
},
{
"key": "isReadonly",
"format": "checkbox"
},
{
"key": "layout",
"format": "number"
},
{
"key": "heightInPixels",
"format": "number"
},
{
"key": "name",
"format": "shorttext"
},
{
"key": "fileMimeType"
},
{
"key": "addedDate",
"format": "date"
},
{
"key": "fileIndexingStatus",
"format": "number"
},
{
"key": "fileId",
"format": "shorttext"
},
{
"key": "lastModifiedDate",
"format": "date"
},
{
"key": "iconImage",
"format": "file"
},
{
"key": "spaceId",
"format": "object"
},
{
"key": "origin",
"format": "number"
},
{
"key": "featuredRelations",
"format": "object"
},
{
"key": "creator",
"format": "object"
},
{
"key": "createdDate",
"format": "date"
},
{
"key": "id",
"format": "object"
},
{
"key": "type",
"format": "object"
},
{
"key": "snippet"
},
{
"key": "backlinks",
"format": "object"
},
{
"key": "fileBackupStatus",
"format": "number"
},
{
"key": "fileSyncStatus",
"format": "number"
},
{
"key": "source",
"format": "url"
}
],
"fileInfo": {
"fileId": "bafybeigw3qcbjo32mum7uq2esdocm6oofh2ncx24p26rhwmfurvh3yq524",
"encryptionKeys": [
{
"path": "/0/thumbnail/",
"key": "bb5zsn2rvmc24ekyav4ogwrtj6afvwya6siy644tepem64onjr4wa"
},
{
"path": "/0/exif/",
"key": "bw324fjytzv6ih6hxv44zkoukak6vxjnmixmu346xknuplqqoh4mq"
},
{
"path": "/0/original/",
"key": "boo64mttkxvjdtm4tovib2chfrte4odm6z5o5h72bjwtv6mp3j77q"
},
{
"path": "/0/large/",
"key": "boo64mttkxvjdtm4tovib2chfrte4odm6z5o5h72bjwtv6mp3j77q"
},
{
"path": "/0/small/",
"key": "bpentwpltji4e6zgscfge2fi6hvy5z4kvmznqlv3gd2kmelgx357q"
}
]
}
}
}
}

View file

@ -0,0 +1,275 @@
{
"sbType": "STType",
"snapshot": {
"data": {
"blocks": [
{
"id": "bafyreiemifn6w6xsd7g6lltwtcatunjuycybb5wkxrzwp3ljfoid7z6b74",
"childrenIds": [
"header"
],
"smartblock": {
}
},
{
"id": "header",
"restrictions": {
"edit": true,
"remove": true,
"drag": true,
"dropOn": true
},
"childrenIds": [
"title",
"featuredRelations"
],
"layout": {
"style": "Header"
}
},
{
"id": "title",
"fields": {
"_detailsKey": [
"name",
"done"
]
},
"restrictions": {
"remove": true,
"drag": true,
"dropOn": true
},
"text": {
"style": "Title",
"marks": {
}
}
},
{
"id": "featuredRelations",
"restrictions": {
"remove": true,
"drag": true,
"dropOn": true
},
"featuredRelations": {
}
}
],
"details": {
"backlinks": [
],
"createdDate": 1708681936,
"creator": "_anytype_profile",
"description": "Blank canvas with Title",
"featuredRelations": [
"backlinks",
"type"
],
"iconEmoji": "📄",
"id": "bafyreiemifn6w6xsd7g6lltwtcatunjuycybb5wkxrzwp3ljfoid7z6b74",
"internalFlags": [
],
"isArchived": false,
"isHidden": false,
"isReadonly": true,
"lastModifiedBy": "_participant_bafyreieo7b7uqpcyrl5djfeezwhrycrexqv2l2giugf67drbg536naiav4_3uxcyvge8is62_A6LrAEcm6LMpygR5LZ2yJ4izsNmzKrzGBJmYWKExtiJZbi7h",
"lastModifiedDate": 1708681937,
"lastUsedDate": 1708689740,
"layout": 4,
"links": [
],
"name": "Page",
"origin": 7,
"recommendedLayout": 0,
"recommendedRelations": [
"bafyreictzawc6xtanufurxgn2ttmqmshzqzz2ve235tzovkh4swbztae3a",
"bafyreiawn7wlwt6hzgkdpnaf6ap6q5s35xnnqpuvyo7fa6eatv6yptx4uy"
],
"restrictions": [
3,
6,
5,
7,
4,
1
],
"revision": 0,
"smartblockTypes": [
16
],
"snippet": "",
"sourceObject": "_otpage",
"spaceId": "bafyreieo7b7uqpcyrl5djfeezwhrycrexqv2l2giugf67drbg536naiav4.3uxcyvge8is62",
"type": "bafyreibb45igjiprvuhe7j35hgfunh72oggyqhnoyxknmm5ebqfyvrwulq",
"uniqueKey": "ot-page"
},
"objectTypes": [
"ot-objectType"
],
"relationLinks": [
{
"key": "spaceId",
"format": "object"
},
{
"key": "description"
},
{
"key": "recommendedLayout",
"format": "number"
},
{
"key": "recommendedRelations",
"format": "object"
},
{
"key": "layout",
"format": "number"
},
{
"key": "featuredRelations",
"format": "object"
},
{
"key": "isHidden",
"format": "checkbox"
},
{
"key": "revision",
"format": "number"
},
{
"key": "origin",
"format": "number"
},
{
"key": "iconEmoji",
"format": "emoji"
},
{
"key": "name",
"format": "shorttext"
},
{
"key": "smartblockTypes",
"format": "number"
},
{
"key": "sourceObject",
"format": "object"
},
{
"key": "internalFlags",
"format": "number"
},
{
"key": "id",
"format": "object"
},
{
"key": "uniqueKey"
},
{
"key": "isReadonly",
"format": "checkbox"
},
{
"key": "snippet"
},
{
"key": "backlinks",
"format": "object"
},
{
"key": "iconImage",
"format": "file"
},
{
"key": "type",
"format": "object"
},
{
"key": "layoutAlign",
"format": "number"
},
{
"key": "coverId"
},
{
"key": "coverScale",
"format": "number"
},
{
"key": "coverType",
"format": "number"
},
{
"key": "coverX",
"format": "number"
},
{
"key": "coverY",
"format": "number"
},
{
"key": "createdDate",
"format": "date"
},
{
"key": "creator",
"format": "object"
},
{
"key": "lastModifiedDate",
"format": "date"
},
{
"key": "lastModifiedBy",
"format": "object"
},
{
"key": "lastOpenedDate",
"format": "date"
},
{
"key": "isFavorite",
"format": "checkbox"
},
{
"key": "workspaceId",
"format": "object"
},
{
"key": "links",
"format": "object"
},
{
"key": "restrictions",
"format": "number"
},
{
"key": "fileId",
"format": "shorttext"
},
{
"key": "sizeInBytes",
"format": "number"
},
{
"key": "lastUsedDate",
"format": "date"
},
{
"key": "isArchived",
"format": "checkbox"
}
],
"key": "page"
}
}
}

View file

@ -0,0 +1,229 @@
{
"sbType": "Page",
"snapshot": {
"data": {
"blocks": [
{
"id": "bafyreigsuu2hfq2cyb7ae4fg6ogcinhqmojudvbb7ekhe5fhrp2rrsixl4",
"restrictions": {
},
"childrenIds": [
"header",
"65d889564ac3df30bcfe9576",
"65d889804ac3df30bcfe9578"
],
"smartblock": {
}
},
{
"id": "header",
"restrictions": {
"edit": true,
"remove": true,
"drag": true,
"dropOn": true
},
"childrenIds": [
"title",
"featuredRelations"
],
"layout": {
"style": "Header"
}
},
{
"id": "65d889564ac3df30bcfe9576",
"restrictions": {
},
"text": {
"marks": {
}
}
},
{
"id": "65d889804ac3df30bcfe9578",
"restrictions": {
},
"file": {
"name": "test_image.png",
"type": "Image",
"mime": "image/png",
"size": "473831",
"addedAt": "1708689793",
"targetObjectId": "bafyreie5dsqow6vcoqh5cahq4epetrm3tnmue5txgbdbyjojcgpase5soy",
"state": "Done"
}
},
{
"id": "title",
"fields": {
"_detailsKey": [
"name",
"done"
]
},
"restrictions": {
"remove": true,
"drag": true,
"dropOn": true
},
"text": {
"style": "Title",
"marks": {
}
}
},
{
"id": "featuredRelations",
"restrictions": {
"remove": true,
"drag": true,
"dropOn": true
},
"featuredRelations": {
}
}
],
"details": {
"backlinks": [
],
"createdDate": 1708689740,
"creator": "_participant_bafyreieo7b7uqpcyrl5djfeezwhrycrexqv2l2giugf67drbg536naiav4_3uxcyvge8is62_A6LrAEcm6LMpygR5LZ2yJ4izsNmzKrzGBJmYWKExtiJZbi7h",
"featuredRelations": [
"type",
"backlinks"
],
"id": "bafyreigsuu2hfq2cyb7ae4fg6ogcinhqmojudvbb7ekhe5fhrp2rrsixl4",
"lastModifiedBy": "_participant_bafyreieo7b7uqpcyrl5djfeezwhrycrexqv2l2giugf67drbg536naiav4_3uxcyvge8is62_A6LrAEcm6LMpygR5LZ2yJ4izsNmzKrzGBJmYWKExtiJZbi7h",
"lastModifiedDate": 1708689793,
"lastOpenedDate": 1708689789,
"layout": 0,
"links": [
],
"name": "Page with file block",
"restrictions": [
],
"snippet": "",
"spaceId": "bafyreieo7b7uqpcyrl5djfeezwhrycrexqv2l2giugf67drbg536naiav4.3uxcyvge8is62",
"type": "bafyreiemifn6w6xsd7g6lltwtcatunjuycybb5wkxrzwp3ljfoid7z6b74"
},
"objectTypes": [
"ot-page"
],
"relationLinks": [
{
"key": "id",
"format": "object"
},
{
"key": "name",
"format": "shorttext"
},
{
"key": "description"
},
{
"key": "snippet"
},
{
"key": "iconEmoji",
"format": "emoji"
},
{
"key": "iconImage",
"format": "file"
},
{
"key": "type",
"format": "object"
},
{
"key": "layout",
"format": "number"
},
{
"key": "layoutAlign",
"format": "number"
},
{
"key": "coverId"
},
{
"key": "coverScale",
"format": "number"
},
{
"key": "coverType",
"format": "number"
},
{
"key": "coverX",
"format": "number"
},
{
"key": "coverY",
"format": "number"
},
{
"key": "createdDate",
"format": "date"
},
{
"key": "creator",
"format": "object"
},
{
"key": "lastModifiedDate",
"format": "date"
},
{
"key": "lastModifiedBy",
"format": "object"
},
{
"key": "lastOpenedDate",
"format": "date"
},
{
"key": "featuredRelations",
"format": "object"
},
{
"key": "isFavorite",
"format": "checkbox"
},
{
"key": "workspaceId",
"format": "object"
},
{
"key": "spaceId",
"format": "object"
},
{
"key": "links",
"format": "object"
},
{
"key": "internalFlags",
"format": "number"
},
{
"key": "restrictions",
"format": "number"
},
{
"key": "backlinks",
"format": "object"
}
]
}
}
}