Hello -
I am having some trouble creating documents and hoping someone can help.
I have created and deployed the following composite -
type TirlLabel @createModel(accountRelation: LIST, description:"TrustlessIRL physical identification label") {
barcodeId: String! @string(maxLength:12)
imageData: String! @string(maxLength:500)
uploadTime: DateTime!
}
I can see the model when I run composedb model:list
so I am pretty sure that part was done correctly (the model id is kjzl6hvfrbw6c65z7bpyak6mgz9maadbucil8sey0lkuy9ebiinbjl0vd9ygal4)
Now I am attempting to create a document using the following query-
mutation createTirlLabelMutation($i: CreateTirlLabelInput!) {
createTirlLabel(input: $i) {
document {
id
barcodeId
imageData
uploadTime
}
}
}
My TS code is -
const uploadLabel = async ({ barcodeId, imageData }:{ barcodeId:string, imageData:string }) => {
const compose = new ComposeClient({ ceramic: config.ceramicClient, definition });
const session = await createDidSession();
compose.setDID(session.did);
// throws error here
const result = await compose.executeQuery(createLabelQuery, {
i: {
content: {
barcodeId,
imageData,
uploadTime: new Date().toISOString(),
},
},
});
return result;
};
When I run this function I am getting the following error
{
errors: [
Error: CBOR encode error: unsupported type: Date
at objectToTokens (file:///C:/Users/jmoro/Desktop/dev/ceramic-uploader/node_modules/cborg/esm/lib/encode.js:184:11)
at Object (file:///C:/Users/jmoro/Desktop/dev/ceramic-uploader/node_modules/cborg/esm/lib/encode.js:151:9)
at objectToTokens (file:///C:/Users/jmoro/Desktop/dev/ceramic-uploader/node_modules/cborg/esm/lib/encode.js:186:10)
at Object (file:///C:/Users/jmoro/Desktop/dev/ceramic-uploader/node_modules/cborg/esm/lib/encode.js:151:9)
at objectToTokens (file:///C:/Users/jmoro/Desktop/dev/ceramic-uploader/node_modules/cborg/esm/lib/encode.js:186:10)
at encodeCustom (file:///C:/Users/jmoro/Desktop/dev/ceramic-uploader/node_modules/cborg/esm/lib/encode.js:216:18)
at Module.encode (file:///C:/Users/jmoro/Desktop/dev/ceramic-uploader/node_modules/cborg/esm/lib/encode.js:239:10)
at Module.encode (file:///C:/Users/jmoro/Desktop/dev/ceramic-uploader/node_modules/@ipld/dag-cbor/esm/index.js:58:37)
at Module.encode (file:///C:/Users/jmoro/Desktop/dev/ceramic-uploader/node_modules/multiformats/esm/src/block.js:125:23)
at encodePayload (file:///C:/Users/jmoro/Desktop/dev/ceramic-uploader/node_modules/dag-jose-utils/src/index.ts:16:29) {
path: [Array],
locations: [Array],
extensions: [Object: null prototype] {}
}
],
data: [Object: null prototype] { createTirlLabel: null }
}
Please let me know if there is an issue with my formatting or if there is any other info I can provide to help troubleshoot.
Big thanks in advance!
Justin