Coder Social home page Coder Social logo

Comments (13)

stbrody avatar stbrody commented on June 17, 2024

Presumably the Model being used here has accountRelation: SINGLE. We should still probably have a way to create documents via the CLI in Models like those though. @PaulLeCam @jpham2023

from js-composedb.

PaulLeCam avatar PaulLeCam commented on June 17, 2024

I wonder if we should remove these documents:* commands rather than put more work on them? Theses interactions are supported by GraphiQL so these commands aren't really necessary anyway.

from js-composedb.

oed avatar oed commented on June 17, 2024

@PaulLeCam Can you provide an example of how to use GraphiQL for what @m0ar is trying to do?

from js-composedb.

PaulLeCam avatar PaulLeCam commented on June 17, 2024

We have the graphql:server command that can run GraphiQL by setting the --graphiql flag, and support mutations by providing the --did-private-key value, so the full command would look like the following:

composedb graphql:server <path-to-runtime-composite.json> --graphiql --did-private-key=<base16-encoded private key string>

Then from the GraphiQL interface, there will be mutations to create documents for all the models included in the composite.

from js-composedb.

m0ar avatar m0ar commented on June 17, 2024

@PaulLeCam Thanks for the tip! I can't seem to get the server running with the graphql:server command, it instantly crashes:

❯ npx @composedb/cli graphql:server --graphiql --did-private-key="$(<user1_seed.txt)" --ceramic-url="http://localhost:7007" src/__generated__/definition.json
ℹ Using DID did:key:z6MkrcKfxzEbVeFpmPrKHmjQWEDDocgxmfCtCSaZPMDWofS4
✖ Cannot convert undefined or null to object
This is the runtime composite, which works fine with GraphiQL when running with `devtools-node` inside my webapp:
{
  "version": "1.0",
  "models": {
    "kjzl6hvfrbw6c7jrhoqzxi7set6yaz3zxg4rbhs6j23okxx1ifk217ermjd3e6l": [
      {
        "jws": {
          "payload": "AXESIFfLTHHz0jS3hcr7f4Na74QQnVdnBjG6R_yO8opojCr4",
          "signatures": [
            {
              "signature": "7BhZZFDVypNT9LI95YOVdBApxVr5kwVPsq36A5o1iQhlI2USlrIxyoBfKr1z0nSUeZU8IPu0PE7OYFVcM1LIDg",
              "protected": "eyJhbGciOiJFZERTQSIsImtpZCI6ImRpZDprZXk6ejZNa24xWUxQdmtuTmRxSlgxaW1iTm9SMjJTZFRnZ1ZLd3dSc2t6YkRHTEhCRzJII3o2TWtuMVlMUHZrbk5kcUpYMWltYk5vUjIyU2RUZ2dWS3d3UnNremJER0xIQkcySCJ9"
            }
          ],
          "link": "bafyreicxznghd46sgs3ylsx3p6bvv34eccovozyggg5ep7eo6kfgrdbk7a"
        },
        "linkedBlock": "omRkYXRhp2RuYW1lZ1Byb2ZpbGVldmlld3OhZW93bmVyoWR0eXBlb2RvY3VtZW50QWNjb3VudGZzY2hlbWGlZHR5cGVmb2JqZWN0ZyRzY2hlbWF4LGh0dHBzOi8vanNvbi1zY2hlbWEub3JnL2RyYWZ0LzIwMjAtMTIvc2NoZW1haHJlcXVpcmVkgWtkaXNwbGF5TmFtZWpwcm9wZXJ0aWVzomVvcmNpZKJkdHlwZWZzdHJpbmdpbWF4TGVuZ3RoGGRrZGlzcGxheU5hbWWiZHR5cGVmc3RyaW5naW1heExlbmd0aBj6dGFkZGl0aW9uYWxQcm9wZXJ0aWVz9Gd2ZXJzaW9uYzEuMGlyZWxhdGlvbnOga2Rlc2NyaXB0aW9ucUFuIGF1dGhvciBwcm9maWxlb2FjY291bnRSZWxhdGlvbqFkdHlwZWZzaW5nbGVmaGVhZGVyo2NzZXBlbW9kZWxlbW9kZWxSzgEEAXFxCwAJaG1vZGVsLXYxa2NvbnRyb2xsZXJzgXg4ZGlkOmtleTp6Nk1rbjFZTFB2a25OZHFKWDFpbWJOb1IyMlNkVGdnVkt3d1Jza3piREdMSEJHMkg="
      }
    ],
    "kjzl6hvfrbw6cb83zf34oxsxpysbfs8i0282m8t1s16d9almesve1uw68jzx9ut": [
      {
        "jws": {
          "payload": "AXESIBI3NnyvdC6-qTH_zupTdI-jLGUy1GIIf3GPeFEM7HMS",
          "signatures": [
            {
              "signature": "SnKS0Bp9GeQW7yGmCEtE6b4RtkauifS8KCuvy6bdqGrs5Mu1uVTmdr0cMjx4OqXx0ToJirNPg9BGTqFQM6pKAg",
              "protected": "eyJhbGciOiJFZERTQSIsImtpZCI6ImRpZDprZXk6ejZNa24xWUxQdmtuTmRxSlgxaW1iTm9SMjJTZFRnZ1ZLd3dSc2t6YkRHTEhCRzJII3o2TWtuMVlMUHZrbk5kcUpYMWltYk5vUjIyU2RUZ2dWS3d3UnNremJER0xIQkcySCJ9"
            }
          ],
          "link": "bafyreiasg43hzl3uf27ksmp7z3vfg5epumwgkmwumieh64mppbiqz3dtci"
        },
        "linkedBlock": "omRkYXRhp2RuYW1lblJlc2VhcmNoT2JqZWN0ZXZpZXdzoWVvd25lcqFkdHlwZW9kb2N1bWVudEFjY291bnRmc2NoZW1hpmR0eXBlZm9iamVjdGUkZGVmc6FxSW50ZXJQbGFuZXRhcnlDSUSjZHR5cGVmc3RyaW5nZXRpdGxlcUludGVyUGxhbmV0YXJ5Q0lEaW1heExlbmd0aBhkZyRzY2hlbWF4LGh0dHBzOi8vanNvbi1zY2hlbWEub3JnL2RyYWZ0LzIwMjAtMTIvc2NoZW1haHJlcXVpcmVkgmV0aXRsZWhtYW5pZmVzdGpwcm9wZXJ0aWVzomV0aXRsZaJkdHlwZWZzdHJpbmdpbWF4TGVuZ3RoGPpobWFuaWZlc3ShZCRyZWZ4GSMvJGRlZnMvSW50ZXJQbGFuZXRhcnlDSUR0YWRkaXRpb25hbFByb3BlcnRpZXP0Z3ZlcnNpb25jMS4waXJlbGF0aW9uc6BrZGVzY3JpcHRpb25xQSByZXNlYXJjaCBvYmplY3RvYWNjb3VudFJlbGF0aW9uoWR0eXBlZGxpc3RmaGVhZGVyo2NzZXBlbW9kZWxlbW9kZWxSzgEEAXFxCwAJaG1vZGVsLXYxa2NvbnRyb2xsZXJzgXg4ZGlkOmtleTp6Nk1rbjFZTFB2a25OZHFKWDFpbWJOb1IyMlNkVGdnVkt3d1Jza3piREdMSEJHMkg="
      }
    ],
    "kjzl6hvfrbw6c9bjzxorpubsfu4cua0z4zqda10wa4qnqe6naqvoxwina5e7sa0": [
      {
        "jws": {
          "payload": "AXESIPAHTsBhq7PChvCkkrs5HOt0Xiht_5OjE56I5bPH89ki",
          "signatures": [
            {
              "signature": "K4PiHcfPkir1oR21x0ylmM3FIdfPnr8-Q833AGIWTYBZpCnVqYjsH6560GcsxE0fWQ1v_BZHajvvJG614abnAw",
              "protected": "eyJhbGciOiJFZERTQSIsImtpZCI6ImRpZDprZXk6ejZNa24xWUxQdmtuTmRxSlgxaW1iTm9SMjJTZFRnZ1ZLd3dSc2t6YkRHTEhCRzJII3o2TWtuMVlMUHZrbk5kcUpYMWltYk5vUjIyU2RUZ2dWS3d3UnNremJER0xIQkcySCJ9"
            }
          ],
          "link": "bafyreihqa5hmaynlwpbin4fesk5tshhlorpcq3p7sorrhhui4wz4p46zei"
        },
        "linkedBlock": "omRkYXRhp2RuYW1lbE9yZ2FuaXphdGlvbmV2aWV3c6FmYXV0aG9yoWR0eXBlb2RvY3VtZW50QWNjb3VudGZzY2hlbWGmZHR5cGVmb2JqZWN0ZSRkZWZzoWpHcmFwaFFMRElEpGR0eXBlZnN0cmluZ2V0aXRsZWpHcmFwaFFMRElEZ3BhdHRlcm54j15kaWQ6W2EtekEtWjAtOS4hIyQlJicqK1wvPT9eX2B7fH1+LV0rOlthLXpBLVowLTkuISMkJSYnKitcLz0/Xl9ge3x9fi1dKjo/W2EtekEtWjAtOS4hIyQlJicqK1wvPT9eX2B7fH1+LV0qOj9bYS16QS1aMC05LiEjJCUmJyorXC89P15fYHt8fX4tXSokaW1heExlbmd0aBhkZyRzY2hlbWF4LGh0dHBzOi8vanNvbi1zY2hlbWEub3JnL2RyYWZ0LzIwMjAtMTIvc2NoZW1haHJlcXVpcmVkgWRuYW1lanByb3BlcnRpZXOiZG5hbWWiZHR5cGVmc3RyaW5naW1heExlbmd0aBj6Z21lbWJlcnOjZHR5cGVlYXJyYXllaXRlbXOhZCRyZWZyIy8kZGVmcy9HcmFwaFFMRElEaG1heEl0ZW1zGgABhqB0YWRkaXRpb25hbFByb3BlcnRpZXP0Z3ZlcnNpb25jMS4waXJlbGF0aW9uc6BrZGVzY3JpcHRpb25vQW4gb3JnYW5pemF0aW9ub2FjY291bnRSZWxhdGlvbqFkdHlwZWRsaXN0ZmhlYWRlcqNjc2VwZW1vZGVsZW1vZGVsUs4BBAFxcQsACWhtb2RlbC12MWtjb250cm9sbGVyc4F4OGRpZDprZXk6ejZNa24xWUxQdmtuTmRxSlgxaW1iTm9SMjJTZFRnZ1ZLd3dSc2t6YkRHTEhCRzJI"
      }
    ],
    "kjzl6hvfrbw6c9m63sg067cgekv8nharkqtxjz1ngkvtq2o5gkvfjdddu1wauxr": [
      {
        "jws": {
          "payload": "AXESIM1TrhEWcscFrHcf-t7erivC6N3BfsOO0KaKOzR7PrEO",
          "signatures": [
            {
              "signature": "i7gm3Tb4-lV3oWeAP6LQLCmhHrxjMKQ7yR3ee7FPW5ulje99m_r_lwRtzL66fbUL7MtenUmnlqNxPf_pZqSjDg",
              "protected": "eyJhbGciOiJFZERTQSIsImtpZCI6ImRpZDprZXk6ejZNa24xWUxQdmtuTmRxSlgxaW1iTm9SMjJTZFRnZ1ZLd3dSc2t6YkRHTEhCRzJII3o2TWtuMVlMUHZrbk5kcUpYMWltYk5vUjIyU2RUZ2dWS3d3UnNremJER0xIQkcySCJ9"
            }
          ],
          "link": "bafyreignkoxbcftsy4c2y5y77lpn5lrlylun3ql6yohnbjukhm2hwpvrby"
        },
        "linkedBlock": "omRkYXRhp2RuYW1laVN0YXRlbWVudGV2aWV3c6FqbWFpbnRhaW5lcqFkdHlwZW9kb2N1bWVudEFjY291bnRmc2NoZW1hpWR0eXBlZm9iamVjdGckc2NoZW1heCxodHRwczovL2pzb24tc2NoZW1hLm9yZy9kcmFmdC8yMDIwLTEyL3NjaGVtYWhyZXF1aXJlZIJldGl0bGVrZGVzY3JpcHRpb25qcHJvcGVydGllc6JldGl0bGWiZHR5cGVmc3RyaW5naW1heExlbmd0aBhka2Rlc2NyaXB0aW9uomR0eXBlZnN0cmluZ2ltYXhMZW5ndGgZA+h0YWRkaXRpb25hbFByb3BlcnRpZXP0Z3ZlcnNpb25jMS4waXJlbGF0aW9uc6BrZGVzY3JpcHRpb254IEEgcmV1c2FibGUgYXR0ZXN0YXRpb24gc3RhdGVtZW50b2FjY291bnRSZWxhdGlvbqFkdHlwZWRsaXN0ZmhlYWRlcqNjc2VwZW1vZGVsZW1vZGVsUs4BBAFxcQsACWhtb2RlbC12MWtjb250cm9sbGVyc4F4OGRpZDprZXk6ejZNa24xWUxQdmtuTmRxSlgxaW1iTm9SMjJTZFRnZ1ZLd3dSc2t6YkRHTEhCRzJI"
      }
    ],
    "kjzl6hvfrbw6c8ebt6gngknodti2lkv9181o1m2php6w8klcdveafnar3tkah2q": [
      {
        "jws": {
          "payload": "AXESIFsuVylUPOmgjtuwZq5ntUzA1405Nuv-7MsjfDmhJNFh",
          "signatures": [
            {
              "signature": "utlXZnk81z_sMpHEXRrqEyiUIevX2cxJYL_LVRXkcOuEn2V7h9xq4DvI08Y_hOx_d_kwWdBd-rVX3PEJi-acAg",
              "protected": "eyJhbGciOiJFZERTQSIsImtpZCI6ImRpZDprZXk6ejZNa24xWUxQdmtuTmRxSlgxaW1iTm9SMjJTZFRnZ1ZLd3dSc2t6YkRHTEhCRzJII3o2TWtuMVlMUHZrbk5kcUpYMWltYk5vUjIyU2RUZ2dWS3d3UnNremJER0xIQkcySCJ9"
            }
          ],
          "link": "bafyreic3fzlssvb45gqi5w5qm2xgpnkmydly2ojw5p7ozszdpq42cjgrme"
        },
        "linkedBlock": "omRkYXRhp2RuYW1lb1VzZXJBdHRlc3RhdGlvbmV2aWV3c6Jmc291cmNloWR0eXBlb2RvY3VtZW50QWNjb3VudGlzdGF0ZW1lbnSjZHR5cGVwcmVsYXRpb25Eb2N1bWVudGVtb2RlbHg/a2p6bDZodmZyYnc2YzltNjNzZzA2N2NnZWt2OG5oYXJrcXR4anoxbmdrdnRxMm81Z2t2ZmpkZGR1MXdhdXhyaHByb3BlcnR5a3N0YXRlbWVudElkZnNjaGVtYaZkdHlwZWZvYmplY3RlJGRlZnOiakdyYXBoUUxESUSkZHR5cGVmc3RyaW5nZXRpdGxlakdyYXBoUUxESURncGF0dGVybniPXmRpZDpbYS16QS1aMC05LiEjJCUmJyorXC89P15fYHt8fX4tXSs6W2EtekEtWjAtOS4hIyQlJicqK1wvPT9eX2B7fH1+LV0qOj9bYS16QS1aMC05LiEjJCUmJyorXC89P15fYHt8fX4tXSo6P1thLXpBLVowLTkuISMkJSYnKitcLz0/Xl9ge3x9fi1dKiRpbWF4TGVuZ3RoGGRvQ2VyYW1pY1N0cmVhbUlEo2R0eXBlZnN0cmluZ2V0aXRsZW9DZXJhbWljU3RyZWFtSURpbWF4TGVuZ3RoGGRnJHNjaGVtYXgsaHR0cHM6Ly9qc29uLXNjaGVtYS5vcmcvZHJhZnQvMjAyMC0xMi9zY2hlbWFocmVxdWlyZWSCZnRhcmdldGtzdGF0ZW1lbnRJZGpwcm9wZXJ0aWVzo2Z0YXJnZXShZCRyZWZyIy8kZGVmcy9HcmFwaFFMRElEZ3Jldm9rZWShZHR5cGVnYm9vbGVhbmtzdGF0ZW1lbnRJZKFkJHJlZncjLyRkZWZzL0NlcmFtaWNTdHJlYW1JRHRhZGRpdGlvbmFsUHJvcGVydGllc/RndmVyc2lvbmMxLjBpcmVsYXRpb25zomZ0YXJnZXShZHR5cGVnYWNjb3VudGtzdGF0ZW1lbnRJZKJkdHlwZWhkb2N1bWVudGVtb2RlbHg/a2p6bDZodmZyYnc2YzltNjNzZzA2N2NnZWt2OG5oYXJrcXR4anoxbmdrdnRxMm81Z2t2ZmpkZGR1MXdhdXhya2Rlc2NyaXB0aW9ucFVzZXIgYXR0ZXN0YXRpb25vYWNjb3VudFJlbGF0aW9uoWR0eXBlZGxpc3RmaGVhZGVyo2NzZXBlbW9kZWxlbW9kZWxSzgEEAXFxCwAJaG1vZGVsLXYxa2NvbnRyb2xsZXJzgXg4ZGlkOmtleTp6Nk1rbjFZTFB2a25OZHFKWDFpbWJOb1IyMlNkVGdnVkt3d1Jza3piREdMSEJHMkg="
      }
    ],
    "kjzl6hvfrbw6caoka8lrrc0ntvqd2vs6h4mztd6eszk748avqdgifong027rac9": [
      {
        "jws": {
          "payload": "AXESIHDtrOB-HYoZRbL8dqHmjuVQMawbQX-nKkuQo7noZDAB",
          "signatures": [
            {
              "signature": "VO8BSGEph0ANOjNEUwshRqPqwGE0woQlAKujgCNByf5cXrA4Xailym2KETO7HhUCJ4JN-O0Kf6RTzVfQBx9XBg",
              "protected": "eyJhbGciOiJFZERTQSIsImtpZCI6ImRpZDprZXk6ejZNa24xWUxQdmtuTmRxSlgxaW1iTm9SMjJTZFRnZ1ZLd3dSc2t6YkRHTEhCRzJII3o2TWtuMVlMUHZrbk5kcUpYMWltYk5vUjIyU2RUZ2dWS3d3UnNremJER0xIQkcySCJ9"
            }
          ],
          "link": "bafyreidq5wwoa7q5rimulmx4o2q6ndxfkay2yg2bp6tsus4quo46qzbqae"
        },
        "linkedBlock": "omRkYXRhp2RuYW1leBlSZXNlYXJjaE9iamVjdEF0dGVzdGF0aW9uZXZpZXdzo2Zzb3VyY2WhZHR5cGVvZG9jdW1lbnRBY2NvdW50ZnRhcmdldKNkdHlwZXByZWxhdGlvbkRvY3VtZW50ZW1vZGVseD9ranpsNmh2ZnJidzZjYjgzemYzNG94c3hweXNiZnM4aTAyODJtOHQxczE2ZDlhbG1lc3ZlMXV3Njhqeng5dXRocHJvcGVydHlodGFyZ2V0SWRpc3RhdGVtZW50o2R0eXBlcHJlbGF0aW9uRG9jdW1lbnRlbW9kZWx4P2tqemw2aHZmcmJ3NmM5bTYzc2cwNjdjZ2VrdjhuaGFya3F0eGp6MW5na3Z0cTJvNWdrdmZqZGRkdTF3YXV4cmhwcm9wZXJ0eWtzdGF0ZW1lbnRJZGZzY2hlbWGmZHR5cGVmb2JqZWN0ZSRkZWZzoW9DZXJhbWljU3RyZWFtSUSjZHR5cGVmc3RyaW5nZXRpdGxlb0NlcmFtaWNTdHJlYW1JRGltYXhMZW5ndGgYZGckc2NoZW1heCxodHRwczovL2pzb24tc2NoZW1hLm9yZy9kcmFmdC8yMDIwLTEyL3NjaGVtYWhyZXF1aXJlZIJodGFyZ2V0SWRrc3RhdGVtZW50SWRqcHJvcGVydGllc6NncmV2b2tlZKFkdHlwZWdib29sZWFuaHRhcmdldElkoWQkcmVmdyMvJGRlZnMvQ2VyYW1pY1N0cmVhbUlEa3N0YXRlbWVudElkoWQkcmVmdyMvJGRlZnMvQ2VyYW1pY1N0cmVhbUlEdGFkZGl0aW9uYWxQcm9wZXJ0aWVz9Gd2ZXJzaW9uYzEuMGlyZWxhdGlvbnOiaHRhcmdldElkomR0eXBlaGRvY3VtZW50ZW1vZGVseD9ranpsNmh2ZnJidzZjYjgzemYzNG94c3hweXNiZnM4aTAyODJtOHQxczE2ZDlhbG1lc3ZlMXV3Njhqeng5dXRrc3RhdGVtZW50SWSiZHR5cGVoZG9jdW1lbnRlbW9kZWx4P2tqemw2aHZmcmJ3NmM5bTYzc2cwNjdjZ2VrdjhuaGFya3F0eGp6MW5na3Z0cTJvNWdrdmZqZGRkdTF3YXV4cmtkZXNjcmlwdGlvbngbUmVzZWFyY2ggb2JqZWN0IGF0dGVzdGF0aW9ub2FjY291bnRSZWxhdGlvbqFkdHlwZWRsaXN0ZmhlYWRlcqNjc2VwZW1vZGVsZW1vZGVsUs4BBAFxcQsACWhtb2RlbC12MWtjb250cm9sbGVyc4F4OGRpZDprZXk6ejZNa24xWUxQdmtuTmRxSlgxaW1iTm9SMjJTZFRnZ1ZLd3dSc2t6YkRHTEhCRzJI"
      }
    ]
  },
  "indices": {
    "Profile": [
      {
        "fields": [
          {
            "path": [
              "orcid"
            ]
          }
        ]
      }
    ],
    "ResearchObject": [
      {
        "fields": [
          {
            "path": [
              "title"
            ]
          }
        ]
      }
    ],
    "Organization": [
      {
        "fields": [
          {
            "path": [
              "name"
            ]
          }
        ]
      }
    ],
    "Statement": [
      {
        "fields": [
          {
            "path": [
              "title"
            ]
          }
        ]
      }
    ],
    "kjzl6hvfrbw6c9m63sg067cgekv8nharkqtxjz1ngkvtq2o5gkvfjdddu1wauxr": [],
    "UserAttestation": [
      {
        "fields": [
          {
            "path": [
              "revoked"
            ]
          }
        ]
      },
      {
        "fields": [
          {
            "path": [
              "statementId"
            ]
          }
        ]
      }
    ],
    "kjzl6hvfrbw6cb83zf34oxsxpysbfs8i0282m8t1s16d9almesve1uw68jzx9ut": [],
    "ResearchObjectAttestation": [
      {
        "fields": [
          {
            "path": [
              "revoked"
            ]
          }
        ]
      },
      {
        "fields": [
          {
            "path": [
              "targetId"
            ]
          }
        ]
      },
      {
        "fields": [
          {
            "path": [
              "statementId"
            ]
          }
        ]
      }
    ],
    "kjzl6hvfrbw6caoka8lrrc0ntvqd2vs6h4mztd6eszk748avqdgifong027rac9": [],
    "kjzl6hvfrbw6c8ebt6gngknodti2lkv9181o1m2php6w8klcdveafnar3tkah2q": [],
    "kjzl6hvfrbw6c7jrhoqzxi7set6yaz3zxg4rbhs6j23okxx1ifk217ermjd3e6l": []
  },
  "aliases": {},
  "views": {
    "account": {},
    "root": {},
    "models": {
      "kjzl6hvfrbw6c9m63sg067cgekv8nharkqtxjz1ngkvtq2o5gkvfjdddu1wauxr": {},
      "kjzl6hvfrbw6cb83zf34oxsxpysbfs8i0282m8t1s16d9almesve1uw68jzx9ut": {
        "attestations": {
          "type": "relationFrom",
          "model": "kjzl6hvfrbw6caoka8lrrc0ntvqd2vs6h4mztd6eszk748avqdgifong027rac9",
          "property": "targetId"
        }
      },
      "kjzl6hvfrbw6caoka8lrrc0ntvqd2vs6h4mztd6eszk748avqdgifong027rac9": {},
      "kjzl6hvfrbw6c8ebt6gngknodti2lkv9181o1m2php6w8klcdveafnar3tkah2q": {},
      "kjzl6hvfrbw6c7jrhoqzxi7set6yaz3zxg4rbhs6j23okxx1ifk217ermjd3e6l": {
        "researchObjects": {
          "type": "relationFrom",
          "model": "kjzl6hvfrbw6cb83zf34oxsxpysbfs8i0282m8t1s16d9almesve1uw68jzx9ut",
          "property": "owner"
        },
        "recievedAttestations": {
          "type": "relationFrom",
          "model": "kjzl6hvfrbw6c8ebt6gngknodti2lkv9181o1m2php6w8klcdveafnar3tkah2q",
          "property": "targetId"
        }
      }
    }
  }
}

from js-composedb.

m0ar avatar m0ar commented on June 17, 2024

@PaulLeCam The CLI is swallowing traces, but added some to find the actual error:

TypeError: Cannot convert undefined or null to object
    at Function.entries (<anonymous>)
    at SchemaBuilder._buildEnums (file:///home/m0ar/dev/desci/desci-composedb/node_modules/@composedb/runtime/dist/schema.js:277:45)
    at SchemaBuilder.build (file:///home/m0ar/dev/desci/desci-composedb/node_modules/@composedb/runtime/dist/schema.js:178:14)
    at createGraphQLSchema (file:///home/m0ar/dev/desci/desci-composedb/node_modules/@composedb/runtime/dist/schema.js:872:38)
    at serveGraphQL (file:///home/m0ar/dev/desci/desci-composedb/node_modules/@composedb/devtools-node/dist/server.js:22:17)
    at GraphQLServer.run (file:///home/m0ar/dev/desci/desci-composedb/node_modules/@composedb/cli/dist/commands/graphql/server.js:28:35)
    at async GraphQLServer._run (/home/m0ar/dev/desci/desci-composedb/node_modules/@oclif/core/lib/command.js:117:22)
    at async Config.runCommand (/home/m0ar/dev/desci/desci-composedb/node_modules/@oclif/core/lib/config/config.js:314:25)
    at async run (/home/m0ar/dev/desci/desci-composedb/node_modules/@oclif/core/lib/main.js:89:16)

from js-composedb.

m0ar avatar m0ar commented on June 17, 2024

It's this line in node_modules/@composedb/runtime/dist/schema.js that gets invoked in build(), and since .enums is undefined, Object.entries throws. Hope this context helps.

_buildEnums() {
  for (const [name, values] of Object.entries(_class_private_field_get(this, _def).enums)){
  [...]
}

Fixing this to get around it just hits the same problem in _buildObjects so idk what's going on here...

from js-composedb.

PaulLeCam avatar PaulLeCam commented on June 17, 2024

Can you make sure you're using the latest version of the CLI and packages (v0.5.0) please?
If your runtime composite definition was created with an older version, please also make sure to recreate it with the latest one.

from js-composedb.

m0ar avatar m0ar commented on June 17, 2024

@PaulLeCam I'm on latest. Have tried re-generating without luck.

├── @ceramicnetwork/[email protected]
├── @ceramicnetwork/[email protected]
├── @composedb/[email protected]
├── @composedb/[email protected]
├── @composedb/[email protected]
├── @composedb/[email protected]
├── @datamodels/[email protected]
├── @didtools/[email protected]
├── @types/[email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
└── [email protected]

from js-composedb.

PaulLeCam avatar PaulLeCam commented on June 17, 2024

Can you share your encoded and compiled composites please? The enums object should always be present in the compiled composites so it looks like there a problem with how it's generated.

from js-composedb.

m0ar avatar m0ar commented on June 17, 2024

@PaulLeCam Sure thing! Are these files what you mean? https://gist.github.com/m0ar/ed8ac4961bcfc68cba5f5be3f6783dfd

from js-composedb.

PaulLeCam avatar PaulLeCam commented on June 17, 2024

Yes, thanks!

So here your definition.json file is the source encoded definition (that contains the signed models), what the server needs is the runtime definition (that contains the necessary data to generate the graph), you need to use composedb composite:compile to generate this file (see https://composedb.js.org/docs/0.5.x/guides/data-modeling/composites#compiling-composites).
The output should be similar to what you have in your definition.js file, except as JSON rather than a JS export.

Then it's this runtime JSON file you need to use with the graphql:server command.

from js-composedb.

m0ar avatar m0ar commented on June 17, 2024

@PaulLeCam All right, got it! FYI, this file format is what is returned by writeEncodedCompositeRuntime in @composedb/devtools-node which made the situation a bit confusing as I assumed they would be the same :)

Thanks for the help! 🧁

from js-composedb.

Related Issues (15)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.