166 Commits

Author SHA1 Message Date
Keepers
e4c7538531
exports the exchangeScope selector type (#405) 2022-07-25 12:37:40 -06:00
Keepers
9e7755cfa7
expand restore flags (#382)
* expand restore flags

Adds support for info filter flags to the restore command.
Also adds (hidden) support for event and contact data
types.  Finally, exchnages single-string flag data types for
multi-value string array support.
2022-07-25 09:43:12 -06:00
Keepers
df63761537
add helpers to selector/exchange scope creation (#381)
* filter backup details by flags

`backup details` should have its output filtered by the flags provided by
the user.  In addition, the selector's FilterDetails should maintain
information (esp service info) about the entries, rather than slicing them
down to only the path reference.
2022-07-22 14:30:04 -06:00
ashmrtn
395c7c8525
Add spell check linter and run gofmt in golangci-lint (#396)
* Basic golangci-lint config with gofmt and timeout

Remove corresponding sections from other CI config files.

* Enable comment and string spelling linter

* Fix spelling mistakes for linter

Co-authored-by: Danny <danny@alcion.ai>
2022-07-22 18:28:25 +00:00
Keepers
532922f662
introduce exchange info selector support (#379)
* introduce exchange info selector support

Adds support in selectors/exchange for queries based on
backup.ExchangeInfo entries.  This allows the declaration
of selectors based on non-identifier details such as sender,
subject, or receivedAt time.

Changes Exclude scope matching from being an Any-
match comparator to an All-match.  This keeps exclude
and include behavior identical, hopefully making less
confusion for users.
2022-07-21 15:08:03 -06:00
Keepers
6224a92e7a
filter backup details by flags (#371)
* filter backup details by flags

`backup details` should have its output filtered by the flags provided by
the user.  In addition, the selector's FilterDetails should maintain
information (esp service info) about the entries, rather than slicing them
down to only the path reference.
2022-07-20 16:25:28 -06:00
Keepers
746c88a233
refactor selector scopes to accept slices (#352)
* refactor selector scopes to accept slices

Cli flag implementation was showcasing a toil issue: building
selectors required a lot of repetitious code for combining
inputs into sets of scopes.  Since all of these productions
were effectively identical (eg: for each user, then each folder,
create a scope with the ids), the cleaner solution is to pack
that behavior into the scope constructors themselves.
2022-07-19 16:04:07 -06:00
Keepers
105fd7383a
add e2e backup-restore integration test (#311)
* add e2e backup-restore integration test

Adds an e2e integration test that starts by backing up
data, and ends with restoring it.  Also makes various
amendments to other code where necessary to
facilitate this exercise.
2022-07-14 09:00:55 -06:00
Keepers
39c85e1a84
add output formatting control to cli (#329)
* add output formatting control to cli

Adds the capacity for the CLI to output either a
text table or a json blob to the terminal.  Table is
the default behavior, json is toggled with the --json
flag.
2022-07-13 14:15:08 -06:00
Keepers
80db9a56c7
reduce restore point details to matching refs (#310)
* reduce restore point details to matching refs

A selector should be able to reduce a set of restore point
details to only those that pass its inclusion and
exclusion rules.
2022-07-11 14:44:08 -06:00
Vaibhav Kamra
fa190da682
Rename restorepoint to backup (#314) 2022-07-11 16:06:04 +00:00
Keepers
10f112452a
refactor the selector api to scope factories (#289)
* refactor the selector api to scope factories

Rather than have the service selector offer an api of
include* or exclude* for each of its recognized
data scopes, instead expose a set of factory funcs
for each datat scope and a smaller api of functions
that can consume those scopes.
2022-07-07 15:41:29 -06:00
Keepers
4e7c9bd1e8
refine None selector and scope population (#285)
Selectors.None is changed to the empty string so that
zero valued properties within the map default to None
rather than an unrecognized value.
2022-07-06 16:32:10 -06:00
Keepers
22ecfba402
implement exchange selector include/exclude funcs (#276) 2022-07-06 10:29:42 -06:00
Keepers
25a1e972e6
update selector to match current design (#266)
* update selector to match current design

The selector design is progressing in the Showdown doc.
This updates the existing structs to match the expectations in that doc.
2022-07-05 10:20:19 -06:00
Keepers
ae778df5ae
rename scope to selector (#257)
* rename scope to selector

per design changes, source is being renamed to selector
for better readability and clarity.
2022-06-30 09:50:24 -06:00