Commit Graph

34 Commits

Author SHA1 Message Date
eikek
de1baf725f Generate a query string given an expression
Initialize share record and improve tests.
2021-10-23 14:33:24 +02:00
eikek
9013f2de5b Update scalafmt settings 2021-09-22 17:23:24 +02:00
eikek
9785db0683 Change license header of all files 2021-09-21 22:35:38 +02:00
eikek
d5022f883e Enhance search mode to search in all items 2021-08-21 15:45:14 +02:00
Scala Steward
e4fecefaea
Reformat with scalafmt 3.0.0 2021-08-19 08:50:30 +02:00
eikek
a7b74bd5ae Allow to search in soft-deleted items
A new query/request parameter can be used to apply a search to only
soft-deleted items.

The query expression `Trashed` has been introduced which selects only
items with state `Deleted`. This is another option an analog to
`ValidItemStates` (both cannot be used together as they would select
no items). This new query node is not added to the parser, because
users may not use it in their own queries - it must be part of the
"fixed" query so the application can control in which subset to search
(it would otherwise be possible to select any items).
2021-08-14 14:53:05 +02:00
eikek
15b15666bf Allow to use the created timestamp in item queries
Refs: 925
2021-07-27 17:33:13 +02:00
eikek
8e5c88fd32 Add copyright header to source files 2021-07-04 10:57:53 +02:00
Eike Kettner
a1a93e5ca6 Fixes searching items with fulltext
When using fulltext only search, then only the index must be searched.
This wasn't working anymore, because the routes added a query to
always select valid items (those not being processed). But this lead
to the downstream code to always consult the database, too. Since the
routes are using a "simple-search" interface, this is now adding the
valid-state condition if applicable. There are still more low-level
interfaces that can be used when searching should be done differently.

Closes: #823
2021-05-23 14:14:25 +02:00
Eike Kettner
283e80bc47 Add a now missing case to handle parse failures 2021-05-16 22:49:20 +02:00
Eike Kettner
4041018c47 Reduce not expressions
Fixes queries containing macros inside a "not".
2021-04-11 12:57:42 +02:00
Eike Kettner
e1bbc2edf5 Apply autoformat 2021-04-10 16:31:58 +02:00
Eike Kettner
cc38b850a6 Remove deprecated search routes and some refactoring 2021-03-27 22:13:13 +01:00
Eike Kettner
77a87782b7 Refactoring parser
- put all used strings in one place to have it easier to track
- don't use `$` for shortcuts, it's a detail not interesting to a
  user; now names must not clash (which is a good idea anyways)
- Added two more shortcuts `conc` and `corr`
2021-03-08 22:51:14 +01:00
Eike Kettner
b514b85f39 Improve parser error messages a bit 2021-03-08 10:26:39 +01:00
Eike Kettner
30c901ddf1 Add more ways to query for attachments
- find items with a specified attachment count
- find items by attachment id
2021-03-08 09:49:38 +01:00
Eike Kettner
2b2f913e85 Add checksum query expr 2021-03-08 01:53:21 +01:00
Eike Kettner
7b1ec97c97 Fix sort when using fulltext only 2021-03-08 00:47:15 +01:00
Eike Kettner
31e2e99c36 Add a $year shortcut for selecting items within some year 2021-03-07 13:34:35 +01:00
Eike Kettner
7638dc5111 Flatten nested and/or queries 2021-03-07 12:36:51 +01:00
Eike Kettner
63d146c2de Resolve fulltext search queries the same way as before
For now, fulltext search is only possible when being the only term or
inside the root AND expression.
2021-03-07 09:40:47 +01:00
Eike Kettner
d4006461f6 Serving scalajs artifacts and provide errors to js 2021-03-03 00:45:10 +01:00
Eike Kettner
71985244f1 Use a better representation for macros 2021-03-03 00:44:49 +01:00
Eike Kettner
a48504debb Specificly search for field id vs name 2021-03-02 21:09:31 +01:00
Eike Kettner
489581d90b Fix parsing nested expressions
Since whitespace is used as a separator, it cannot be consumed by
and/or parens.
2021-03-01 20:56:23 +01:00
Eike Kettner
e079ec1987 Provide custom error structure for parse failures 2021-03-01 00:51:01 +01:00
Eike Kettner
d737da768e Move to munit in query module 2021-03-01 00:51:01 +01:00
Eike Kettner
9013d9264e Add more convenient date parsers and some basic macros 2021-03-01 00:51:01 +01:00
Eike Kettner
af73b59ec2 Parser improvements
- default expressions into a and node
- fix parsing string lists that end in whitespace
- fix package names of internal classes
2021-03-01 00:51:01 +01:00
Eike Kettner
a80d73d5d2 Optimize imports 2021-03-01 00:51:01 +01:00
Eike Kettner
e9ed998e3a Basic poc to search via custom query 2021-03-01 00:51:01 +01:00
Eike Kettner
c3cdec416c Sketching some basic tests 2021-03-01 00:50:52 +01:00
Eike Kettner
be5c7ffb88 First draft of ast and parser 2021-03-01 00:46:57 +01:00
Eike Kettner
74a79a79d9 Initial project setup 2021-03-01 00:46:57 +01:00