* first round of entityapi updates - quote column names and clean up insert/update queries - replace grn with guid - streamline table structure fixes streamline entity history move EntitySummary into proto remove EntitySummary add guid to json fix tests change DB_Uuid to DB_NVarchar fix folder test convert interface to any more cleanup start entity store under grafana-apiserver dskit target CRUD working, kind of rough cut of wiring entity api to kube-apiserver fake grafana user in context add key to entity list working revert unnecessary changes move entity storage files to their own package, clean up use accessor to read/write grafana annotations implement separate Create and Update functions * go mod tidy * switch from Kind to resource * basic grpc storage server * basic support for grpc entity store * don't connect to database unless it's needed, pass user identity over grpc * support getting user from k8s context, fix some mysql issues * assign owner to snowflake dependency * switch from ulid to uuid for guids * cleanup, rename Search to List * remove entityListResult * EntityAPI: remove extra user abstraction (#79033) * remove extra user abstraction * add test stub (but * move grpc context setup into client wrapper, fix lint issue * remove unused constants * remove custom json stuff * basic list filtering, add todo * change target to storage-server, allow entityStore flag in prod mode * fix issue with Update * EntityAPI: make test work, need to resolve expected differences (#79123) * make test work, need to resolve expected differences * remove the fields not supported by legacy * sanitize out the bits legacy does not support * sanitize out the bits legacy does not support --------- Co-authored-by: Ryan McKinley <ryantxu@gmail.com> * update feature toggle generated files * remove unused http headers * update feature flag strategy * devmode * update readme * spelling * readme --------- Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
151 lines
4.7 KiB
JSON
151 lines
4.7 KiB
JSON
// 🌟 This was machine generated. Do not edit. 🌟
|
|
//
|
|
// Frame[0]
|
|
// Name:
|
|
// Dimensions: 7 Fields by 4 Rows
|
|
// +----------------+----------------+----------------+---------------+---------------+---------------+---------------------------------------------------------------------------------------------------------+
|
|
// | Name: UID | Name: name | Name: slug | Name: depth | Name: left | Name: right | Name: tree |
|
|
// | Labels: | Labels: | Labels: | Labels: | Labels: | Labels: | Labels: |
|
|
// | Type: []string | Type: []string | Type: []string | Type: []int32 | Type: []int32 | Type: []int32 | Type: []json.RawMessage |
|
|
// +----------------+----------------+----------------+---------------+---------------+---------------+---------------------------------------------------------------------------------------------------------+
|
|
// | | Root | | 0 | 1 | 8 | [] |
|
|
// | A | A | /a/ | 1 | 2 | 5 | [{"guid":"GA","uid":"A","name":"A","slug":"/a/"}] |
|
|
// | AA | AA | /a/aa/ | 2 | 3 | 4 | [{"guid":"GA","uid":"A","name":"A","slug":"/a/"},{"guid":"GAA","uid":"AA","name":"AA","slug":"/a/aa/"}] |
|
|
// | B | B | /b/ | 1 | 6 | 7 | [{"guid":"GB","uid":"B","name":"B","slug":"/b/"}] |
|
|
// +----------------+----------------+----------------+---------------+---------------+---------------+---------------------------------------------------------------------------------------------------------+
|
|
//
|
|
//
|
|
// 🌟 This was machine generated. Do not edit. 🌟
|
|
{
|
|
"status": 200,
|
|
"frames": [
|
|
{
|
|
"schema": {
|
|
"fields": [
|
|
{
|
|
"name": "UID",
|
|
"type": "string",
|
|
"typeInfo": {
|
|
"frame": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "name",
|
|
"type": "string",
|
|
"typeInfo": {
|
|
"frame": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "slug",
|
|
"type": "string",
|
|
"typeInfo": {
|
|
"frame": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "depth",
|
|
"type": "number",
|
|
"typeInfo": {
|
|
"frame": "int32"
|
|
}
|
|
},
|
|
{
|
|
"name": "left",
|
|
"type": "number",
|
|
"typeInfo": {
|
|
"frame": "int32"
|
|
}
|
|
},
|
|
{
|
|
"name": "right",
|
|
"type": "number",
|
|
"typeInfo": {
|
|
"frame": "int32"
|
|
}
|
|
},
|
|
{
|
|
"name": "tree",
|
|
"type": "other",
|
|
"typeInfo": {
|
|
"frame": "json.RawMessage"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"data": {
|
|
"values": [
|
|
[
|
|
"",
|
|
"A",
|
|
"AA",
|
|
"B"
|
|
],
|
|
[
|
|
"Root",
|
|
"A",
|
|
"AA",
|
|
"B"
|
|
],
|
|
[
|
|
"",
|
|
"/a/",
|
|
"/a/aa/",
|
|
"/b/"
|
|
],
|
|
[
|
|
0,
|
|
1,
|
|
2,
|
|
1
|
|
],
|
|
[
|
|
1,
|
|
2,
|
|
3,
|
|
6
|
|
],
|
|
[
|
|
8,
|
|
5,
|
|
4,
|
|
7
|
|
],
|
|
[
|
|
[],
|
|
[
|
|
{
|
|
"guid": "GA",
|
|
"uid": "A",
|
|
"name": "A",
|
|
"slug": "/a/"
|
|
}
|
|
],
|
|
[
|
|
{
|
|
"guid": "GA",
|
|
"uid": "A",
|
|
"name": "A",
|
|
"slug": "/a/"
|
|
},
|
|
{
|
|
"guid": "GAA",
|
|
"uid": "AA",
|
|
"name": "AA",
|
|
"slug": "/a/aa/"
|
|
}
|
|
],
|
|
[
|
|
{
|
|
"guid": "GB",
|
|
"uid": "B",
|
|
"name": "B",
|
|
"slug": "/b/"
|
|
}
|
|
]
|
|
]
|
|
]
|
|
}
|
|
}
|
|
]
|
|
} |