95 lines
2.4 KiB
Markdown
95 lines
2.4 KiB
Markdown
# Records Demo
|
|
|
|
* Create and populate `config.yml`
|
|
|
|
* Publish watcher records from [`records/watcher`](./records/watcher):
|
|
|
|
```bash
|
|
# Publishes records and corresponding 'deployment' records from the given directory
|
|
yarn ts-node src/publish-endponit-records.ts -c config.yml -r records/watcher
|
|
```
|
|
|
|
* View the records at laconicd GQL endpoint <http://localhost:9473>:
|
|
|
|
```gql
|
|
{
|
|
queryRecords {
|
|
id
|
|
bondId
|
|
names
|
|
attributes {
|
|
key
|
|
value {
|
|
... on BooleanValue { bool: value }
|
|
... on IntValue { int: value }
|
|
... on FloatValue { float: value }
|
|
... on StringValue { string: value }
|
|
... on BytesValue { bytes: value }
|
|
... on LinkValue { link: value }
|
|
... on ArrayValue {
|
|
array: value {
|
|
... on BooleanValue { bool: value }
|
|
... on IntValue { int: value }
|
|
... on FloatValue { float: value }
|
|
... on StringValue { string: value }
|
|
... on BytesValue { bytes: value }
|
|
... on LinkValue { link: value }
|
|
}
|
|
}
|
|
... on MapValue { map: value { key mapping: value { __typename } } }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
* Query with filters, for example: query all `filecoin` `WatcherRecord`s:
|
|
|
|
```gql
|
|
{
|
|
queryRecords (
|
|
attributes: [
|
|
{
|
|
key: "type",
|
|
value: {
|
|
string: "WatcherRecord"
|
|
}
|
|
},
|
|
{
|
|
key: "chain",
|
|
value: {
|
|
string: "filecoin"
|
|
}
|
|
}
|
|
],
|
|
all: true
|
|
) {
|
|
id
|
|
bondId
|
|
names
|
|
attributes {
|
|
key
|
|
value {
|
|
... on BooleanValue { bool: value }
|
|
... on IntValue { int: value }
|
|
... on FloatValue { float: value }
|
|
... on StringValue { string: value }
|
|
... on BytesValue { bytes: value }
|
|
... on LinkValue { link: value }
|
|
... on ArrayValue {
|
|
array: value {
|
|
... on BooleanValue { bool: value }
|
|
... on IntValue { int: value }
|
|
... on FloatValue { float: value }
|
|
... on StringValue { string: value }
|
|
... on BytesValue { bytes: value }
|
|
... on LinkValue { link: value }
|
|
}
|
|
}
|
|
... on MapValue { map: value { key mapping: value { __typename } } }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
```
|