Commit Graph

82 Commits

Author SHA1 Message Date
Vincenzo Scamporlino 2cccf58ef1 chore: config to rootConfig
Signed-off-by: Vincenzo Scamporlino <vincenzos@spotify.com>
2023-07-31 17:11:00 +02:00
Aramis Sennyey ebeb775869 feat(openapi-tooling): Add support for request validation and create router stubs.
Signed-off-by: Aramis Sennyey <sennyeyaramis@gmail.com>
Signed-off-by: Aramis <sennyeyaramis@gmail.com>
2023-07-12 21:36:10 -04:00
Aramis Sennyey ee411e7c26 feat(openapi): Add a new OpenAPI schema linting command to repo-tools.
Signed-off-by: Aramis Sennyey <sennyeyaramis@gmail.com>
Signed-off-by: Aramis <sennyeyaramis@gmail.com>
Signed-off-by: Fredrik Adelöw <freben@gmail.com>
2023-06-20 09:21:16 +02:00
Aramis Sennyey 021cfbb515 Add an openapi spec to the search backend.
Signed-off-by: Aramis Sennyey <sennyeya@amazon.com>
2023-05-03 16:08:17 +02:00
Emma Indal 1473dd9eb6 add initial test for search plugin
Signed-off-by: Emma Indal <emma.indahl@gmail.com>
2023-03-20 13:29:10 +01:00
Emma Indal 5db02fc935 generate api reports
Signed-off-by: Emma Indal <emma.indahl@gmail.com>
Co-authored-by: Camila Loiola <camilaibs@gmail.com>
2023-03-20 13:29:09 +01:00
Emma Indal 4cc252bdd5 use alpha exports
Signed-off-by: Emma Indal <emma.indahl@gmail.com>
Co-authored-by: Camila Loiola <camilaibs@gmail.com>
2023-03-20 13:29:03 +01:00
Emma Indal 1a79af33f2 clean up comments and dependencies
Signed-off-by: Emma Indal <emma.indahl@gmail.com>
Co-authored-by: Camila Loiola <camilaibs@gmail.com>
2023-03-20 13:27:00 +01:00
Emma Indal 97e5d514d1 create backend modules for search engines
Signed-off-by: Emma Indal <emma.indahl@gmail.com>
2023-03-20 13:22:28 +01:00
Camila Belo 4f759aeef4 feat(search): create search plugin implementation
Signed-off-by: Camila Belo <camilaibs@gmail.com>
2023-03-20 13:21:27 +01:00
Emma Indal 49fe8c2000 define interfaces for extension points and services
Signed-off-by: Emma Indal <emma.indahl@gmail.com>
Co-authored-by: Camila Loiola <camilaibs@gmail.com>
2023-03-20 13:21:27 +01:00
Camila Belo 1b30c9a0f7 feat(search): improve router query errors
Signed-off-by: Camila Belo <camilaibs@gmail.com>
2023-02-03 21:08:00 +01:00
Phil Kuang bfd66b0478 feat(search): allow max page limit to be configurable
Signed-off-by: Phil Kuang <pkuang@factset.com>
2022-12-23 16:18:21 -05:00
Phil Berryman 29ebc43a0b feat: add number of searches
Signed-off-by: Phil Berryman <phil@berryman.org.uk>
2022-11-25 00:13:05 -08:00
Fredrik Adelöw 2d3a5f09ab json
Signed-off-by: Fredrik Adelöw <freben@gmail.com>
2022-10-06 15:00:36 +02:00
Camila Belo 60a912cd2c Rename param to page limit and validate its type
Signed-off-by: Camila Belo <camilaibs@gmail.com>
2022-10-04 10:54:09 +02:00
Emma Indal 876e3b3d0c Accept resultsPerPage param on the search query
Co-authored-by: Camila Loiola <camilaibs@gmail.com>
Signed-off-by: Emma Indal <emma.indahl@gmail.com>
2022-10-04 10:54:09 +02:00
Pedro Nastasi 65c8a72b54 bugfix: prettier
Signed-off-by: Pedro Nastasi <v-pnastasi@expediagroup.com>
2022-09-28 11:44:47 -03:00
Pedro Nastasi 58528fb833 Be less restrictive with unknown keys on query endpoint
Signed-off-by: Pedro Nastasi <v-pnastasi@expediagroup.com>
2022-09-28 11:18:10 -03:00
Emma Indal f22df2248d delete deprecations
Signed-off-by: Emma Indal <emma.indahl@gmail.com>
2022-07-18 10:09:01 +02:00
Camila Belo dcba440459 refactor: apply review suggestions
Signed-off-by: Camila Belo <camilaibs@gmail.com>
2022-07-05 12:02:21 +02:00
Emma Indal 34c97eb35b switch to use .json instead of .send
Signed-off-by: Emma Indal <emma.indahl@gmail.com>
2022-06-22 14:06:09 +02:00
Emma Indal 1e28c43366 check error, if MissingIndexError return status code 400 with clear error message
Signed-off-by: Emma Indal <emma.indahl@gmail.com>
2022-06-20 16:24:15 +02:00
Eric Peterson c7ce7b1eb0 Test rank handling in all search engines.
Signed-off-by: Eric Peterson <ericpeterson@spotify.com>
2022-06-10 15:36:11 +02:00
Eric Peterson 915700f64f Set a pagination-aware rank value for all search engines.
Signed-off-by: Eric Peterson <ericpeterson@spotify.com>
2022-06-10 15:36:11 +02:00
Emma Indal 52cc4d8525 clean up api report for search-backend package
Signed-off-by: Emma Indal <emma.indahl@gmail.com>
2022-06-02 12:02:58 +02:00
Joe Porpeglia 8cc75993a6 Fix PermissionEvaluator instance checks
Signed-off-by: Joe Porpeglia <josephp@spotify.com>
2022-04-19 14:32:58 -04:00
Vincenzo Scamporlino 63902fcc17 PermissionEvaluator: rename query to authorizeConditional
Signed-off-by: Vincenzo Scamporlino <me@vinzscam.dev>
2022-04-08 12:29:00 +02:00
Vincenzo Scamporlino b4af8664b5 api report and minor fixes
Signed-off-by: Vincenzo Scamporlino <me@vinzscam.dev>
2022-04-08 12:29:00 +02:00
Vincenzo Scamporlino 173aadff5b Avoid PermissionEvaluator breaking changes
Signed-off-by: Vincenzo Scamporlino <me@vinzscam.dev>
2022-04-08 12:29:00 +02:00
Vincenzo Scamporlino 8b27170d30 search-backend: Use PermissionEvaluator instead of PermissionAuthorizer
Signed-off-by: Vincenzo Scamporlino <me@vinzscam.dev>
2022-04-08 12:28:59 +02:00
Vincenzo Scamporlino dc8037213c Use PermissionEvaluator
Signed-off-by: Vincenzo Scamporlino <me@vinzscam.dev>
2022-04-08 12:28:59 +02:00
Mike Lewis 3c8cfaaa80 search-backend: use new policyDecision method in AuthorizedSearchEngine and test suites
Signed-off-by: Mike Lewis <mtlewis@users.noreply.github.com>
2022-04-08 12:28:59 +02:00
Joe Porpeglia e43290ce96 Rename permission backend request and response types
Signed-off-by: Joe Porpeglia <josephp@spotify.com>
2022-03-25 10:02:46 -04:00
MT Lewis 9da18e4715 search: throw error for unexpected non-resource permissions when authorizing result-by-result
We only reach this point in the code for types where the initial
authorization returned CONDITIONAL -- ALLOWs return early immediately
above, and types where the decision was DENY get filtered out entirely
when querying.

This means the call to isResourcePermission here is mostly about
narrowing the types, since the only way for it to be false is if the
PermissionPolicy returned a CONDITIONAL decision for a non-resource
permission, which can't happen - it would throw an error during
validation in the permission-backend.

Signed-off-by: MT Lewis <mtlewis@users.noreply.github.com>
2022-03-23 15:58:42 -04:00
Mike Lewis 30f9884359 search: check for non-resource permissions when authorizing results
Now that we can differentiate between ResourcePermissions and other
kinds of permissions, we can skip authorizing result-by-result
when the permission for a given document type is not a
ResourcePermission.

Signed-off-by: Mike Lewis <mtlewis@users.noreply.github.com>
2022-03-23 15:58:42 -04:00
Mike Lewis 9cbb270aef permissions: add a discriminator type to Permission
Signed-off-by: Mike Lewis <mtlewis@users.noreply.github.com>
2022-03-22 14:32:38 -04:00
Mike Lewis 94ccd772d4 search-backend: filter out authorization property in api responses
Signed-off-by: Mike Lewis <mtlewis@users.noreply.github.com>
2022-03-17 12:39:42 +00:00
Mike Lewis a0fbae7aeb search-backend: use new IndexableResultSet type as return type of engine#query
Signed-off-by: Mike Lewis <mtlewis@users.noreply.github.com>
2022-03-17 12:39:42 +00:00
Eric Peterson 3e54f6c436 Use @backstage/plugin-search-common instead of @backstage/search-common
Signed-off-by: Eric Peterson <ericpeterson@spotify.com>
2022-03-04 18:47:55 +01:00
Eric Peterson 37b9ff3b19 Update AuthorizedSearchEngine for stream-based indexing.
Signed-off-by: Eric Peterson <ericpeterson@spotify.com>
2022-03-02 17:29:18 +01:00
Eric Peterson 804c7906cf Update core search types to be stream-based
Signed-off-by: Eric Peterson <ericpeterson@spotify.com>
2022-03-02 17:26:56 +01:00
Fredrik Adelöw b3f3e42036 move IdentityClient.getBearerToken
Signed-off-by: Fredrik Adelöw <freben@gmail.com>
2022-02-09 10:38:12 +01:00
MT Lewis af4864b462 search-backend: deduplicate authorize calls
Signed-off-by: MT Lewis <mtlewis@users.noreply.github.com>
2022-01-26 19:38:01 +00:00
Vincenzo Scamporlino 9f394b231c Remove unused type
Signed-off-by: Vincenzo Scamporlino <me@vinzscam.dev>
2022-01-25 16:31:29 +01:00
Vincenzo Scamporlino 074f36cc43 Import DocumentTypeInfo from common
Signed-off-by: Vincenzo Scamporlino <me@vinzscam.dev>
2022-01-25 16:27:02 +01:00
Vincenzo Scamporlino 43f9d00c1e Add result-by-result filtering pagination test
Signed-off-by: Vincenzo Scamporlino <me@vinzscam.dev>
2022-01-25 16:27:02 +01:00
Vincenzo Scamporlino 77cbb31883 Fix comments
Signed-off-by: Vincenzo Scamporlino <me@vinzscam.dev>
2022-01-25 16:27:02 +01:00
Vincenzo Scamporlino e73ad9c89a Add AuthorizedSearchEngine tests
Signed-off-by: Vincenzo Scamporlino <me@vinzscam.dev>
2022-01-25 16:27:02 +01:00
MT Lewis c7ce3076d9 search-backend: skip result-by-result filtering when possible
Signed-off-by: MT Lewis <mtlewis@users.noreply.github.com>
2022-01-25 14:35:37 +00:00