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 } } }
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
```
|