Comments (13)
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.
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.
@PaulLeCam Can you provide an example of how to use GraphiQL for what @m0ar is trying to do?
from js-composedb.
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.
@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.
@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.
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.
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.
@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.
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.
@PaulLeCam Sure thing! Are these files what you mean? https://gist.github.com/m0ar/ed8ac4961bcfc68cba5f5be3f6783dfd
from js-composedb.
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.
@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)
- Docs guides mention localhost instead of 0.0.0.0 HOT 2
- Cannot start ceramic node in local mode following "Getting started" HOT 1
- Outdated Discord links
- [Replace me with meaningful title]1st HOT 1
- client.execute(<documentNode>,<vars>) mutation errors
- Docs have broken links to CIPs HOT 3
- Allow for always true filter. HOT 2
- GraphQL generation errors missing location context
- `@relationDocument` referring to an optional `StreamID` yields internal server error if unset HOT 5
- [EthCC Hackathon Submission] identified early areas for improvement
- It doesn't work when start the local server with GraphiQL using the runtime composite HOT 2
- Ensure DateTime scalar inputs are converted to string HOT 10
- Pnpm start ceramic in webpack notes example giving error
- unsetDid for the client when logging out
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from js-composedb.