hanahmily opened a new pull request, #1233: URL: https://github.com/apache/skywalking-banyandb/pull/1233
## What Adds the Property milestone to the Canopy web console, ported from the handoff prototype (`property-query.jsx`, `doc-list.jsx`, `property-form.jsx`): - **PropertyQuery** — builder⇄code console scoped to one collection (FROM locked to `PROPERTY name IN group`, no TIME), reusing the shared QBSection/QBChips + CodeEditor; code mode stays executable via `pqParseCode`. - **DocList** — document cards with adaptive JSON/text/scalar value cells, type pills, pagination, role-gated Edit/Delete. - **PropertyForms** — create/delete collection + Apply/Edit/Delete document with the key-value tag editor (type dropdown + CodeArea for JSON/long strings). - **PropertyDetailPage + /properties routes + PropertyNav** sidebar tree. - **Data layer** — property schema Create/Delete (database/v1 registry) + document Apply (PUT) / Delete / Query (POST `/v1/property/data/query`); builder-state → structured Query request (id leaves→ids, others→criteria, SELECT→tagProjection, ORDER BY→orderBy, LIMIT→limit). Live-verified corrections: property is **not** schema-free server-side, so Apply auto-grows the collection's declared TagSpecs; Apply uses `STRATEGY_REPLACE` so the full-document form can drop tags (MERGE silently kept them). ## Fixes - **TagType/FieldType enum mismatch** (pre-existing, affected Measure/Stream/Trace too): the shared enums used stale 64-suffixed names the live grpc-gateway silently dropped to UNSPECIFIED. Corrected to the proto: TagType STRING/INT/STRING_ARRAY/INT_ARRAY/DATA_BINARY/TIMESTAMP, FieldType STRING/INT/FLOAT/DATA_BINARY. Updated form dropdowns, ResourceDetailPage labels, role-infer + tests. - **E2E harness** (product code was fine): `SeedFactory.createPropertySchema` synthesizes a `_placeholder` TagSpec (Property.Tags min_items=1); `seedPropertyDoc` declares tag keys before Apply, mirroring the product's auto-grow; PropertyPage POM targets the code textarea by role. - **react-router v8**: fix a stale `react-router-dom` import in PropertyDetailPage after #1232. ## Tests - Unit: property-bydbql (round-tripped vs the .ql corpus), DocList, PropertyForms — 413/413 web tests pass, tsc + lint clean. - E2E: `properties.spec.ts` (@property) + PropertyPage POM — all 5 property tests pass against a live BanyanDB. - Live Apply/Query/Delete round-trip verified on the demo deployment. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
