diff options
author | Karen Arutyunov <karen@codesynthesis.com> | 2024-08-06 22:03:31 +0300 |
---|---|---|
committer | Karen Arutyunov <karen@codesynthesis.com> | 2024-08-07 19:19:22 +0300 |
commit | 443088f6093d3420212be0e1af3b9e802dca9362 (patch) | |
tree | b1ec3b0c62ee0b8d66b0cbf21e21d68ae0d4f806 /mod/module.cli | |
parent | 7db53790ca2d2c004bfd00b503eca59a8d084870 (diff) |
Add support for advanced package search
Diffstat (limited to 'mod/module.cli')
-rw-r--r-- | mod/module.cli | 47 |
1 files changed, 44 insertions, 3 deletions
diff --git a/mod/module.cli b/mod/module.cli index 7b0c0d2..41684bd 100644 --- a/mod/module.cli +++ b/mod/module.cli @@ -545,6 +545,15 @@ namespace brep } }; + class advanced_search: package_db, + search, + page, + repository_url, + package_version_metadata, + handler + { + }; + class package_details: package, package_db, search, page, @@ -871,11 +880,11 @@ namespace brep // Web handler HTTP request parameters. // + // Use parameters long names in the C++ code, short aliases (if present) in + // HTTP URL. + // namespace params { - // Use parameters long names in the C++ code, short aliases (if present) - // in HTTP URL. - // class packages { // Display package search result list starting from this page. @@ -890,6 +899,38 @@ namespace brep string q | _; }; + class advanced_search + { + // Display advanced package search result list starting from this page. + // + uint16_t page | p; + + // Advanced package search filter options. + // + + // Package name wildcard. An empty value is treated the same way as *. + // + // Note that the advanced-search parameter is renamed to '_' by the root + // handler (see the request_proxy class for details). + // + string name | _; + + // Package version. If empty or *, then no version constraint is applied. + // Otherwise the package version must match the value exactly. + // + string version | pv; + + // Package project wildcard. An empty value is treated the same way as *. + // + string project | pr; + + // Package version reviews. If *, then no reviews-related constraint is + // applied. Otherwise the value is supposed to be the one of the + // following statuses: reviewed and unreviewed. + // + string reviews | rv = "*"; + }; + class package_details { // Display package version search result list starting from this page. |