@backstage/plugin-catalog-backend 1.4.0-next.3 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,40 @@
1
1
  # @backstage/plugin-catalog-backend
2
2
 
3
+ ## 1.4.0
4
+
5
+ ### Minor Changes
6
+
7
+ - dd395335bc: Allow unknown typed location from being registered via the location service by configuration settings
8
+ - 651c9d6800: The search index now does retain fields that have a very long value, but in the form of just a null. This makes it possible to at least filter for their existence.
9
+ - 6e63bc43f2: Added the `refresh` function to the Connection of the entity providers.
10
+
11
+ ### Patch Changes
12
+
13
+ - eadf56bbbf: Bump `git-url-parse` version to `^13.0.0`
14
+ - 07dda0b746: Add optional value to `hasAnnotation` permission rule
15
+ - 243533ecdc: Added support to mysql on some raw queries
16
+ - ce77e78c93: Fixes a bug to be able to utilize refresh keys after the entity is loaded from cache
17
+ - 667d917488: Updated dependency `msw` to `^0.47.0`.
18
+ - 87ec2ba4d6: Updated dependency `msw` to `^0.46.0`.
19
+ - bf5e9030eb: Updated dependency `msw` to `^0.45.0`.
20
+ - 679f7c5e95: Include entity ref into error message when catalog policies fail
21
+ - 06e2b077a1: Limit the length of error messages that get written to the database and logs - to prevent performance issues
22
+ - 62788b2ee8: The experimental `CatalogProcessingExtensionPoint` now accepts multiple providers and processors at once.
23
+ - Updated dependencies
24
+ - @backstage/backend-plugin-api@0.1.2
25
+ - @backstage/backend-common@0.15.1
26
+ - @backstage/plugin-permission-node@0.6.5
27
+ - @backstage/plugin-catalog-node@1.1.0
28
+ - @backstage/integration@1.3.1
29
+ - @backstage/catalog-client@1.1.0
30
+ - @backstage/catalog-model@1.1.1
31
+ - @backstage/config@1.0.2
32
+ - @backstage/errors@1.1.1
33
+ - @backstage/plugin-permission-common@0.6.4
34
+ - @backstage/plugin-scaffolder-common@1.2.0
35
+ - @backstage/plugin-catalog-common@1.0.6
36
+ - @backstage/plugin-search-common@1.0.1
37
+
3
38
  ## 1.4.0-next.3
4
39
 
5
40
  ### Minor Changes
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@backstage/plugin-catalog-backend",
3
- "version": "1.4.0-next.3",
3
+ "version": "1.4.0",
4
4
  "main": "../dist/index.cjs.js",
5
5
  "types": "../dist/index.alpha.d.ts"
6
6
  }
@@ -326,7 +326,7 @@ export declare class CatalogBuilder {
326
326
  * @alpha
327
327
  */
328
328
  export declare const catalogConditions: Conditions< {
329
- hasAnnotation: PermissionRule<Entity, EntitiesSearchFilter, "catalog-entity", [annotation: string]>;
329
+ hasAnnotation: PermissionRule<Entity, EntitiesSearchFilter, "catalog-entity", [annotation: string, value?: string | undefined]>;
330
330
  hasLabel: PermissionRule<Entity, EntitiesSearchFilter, "catalog-entity", [label: string]>;
331
331
  hasMetadata: PermissionRule<Entity, EntitiesSearchFilter, "catalog-entity", [key: string, value?: string | undefined]>;
332
332
  hasSpec: PermissionRule<Entity, EntitiesSearchFilter, "catalog-entity", [key: string, value?: string | undefined]>;
@@ -603,7 +603,7 @@ export declare function parseEntityYaml(data: Buffer, location: LocationSpec): I
603
603
  * @alpha
604
604
  */
605
605
  export declare const permissionRules: {
606
- hasAnnotation: PermissionRule<Entity, EntitiesSearchFilter, "catalog-entity", [annotation: string]>;
606
+ hasAnnotation: PermissionRule<Entity, EntitiesSearchFilter, "catalog-entity", [annotation: string, value?: string | undefined]>;
607
607
  hasLabel: PermissionRule<Entity, EntitiesSearchFilter, "catalog-entity", [label: string]>;
608
608
  hasMetadata: PermissionRule<Entity, EntitiesSearchFilter, "catalog-entity", [key: string, value?: string | undefined]>;
609
609
  hasSpec: PermissionRule<Entity, EntitiesSearchFilter, "catalog-entity", [key: string, value?: string | undefined]>;
package/dist/index.cjs.js CHANGED
@@ -830,13 +830,16 @@ const hasAnnotation = createCatalogPermissionRule({
830
830
  name: "HAS_ANNOTATION",
831
831
  description: "Allow entities which are annotated with the specified annotation",
832
832
  resourceType: pluginCatalogCommon.RESOURCE_TYPE_CATALOG_ENTITY,
833
- apply: (resource, annotation) => {
834
- var _a;
835
- return !!((_a = resource.metadata.annotations) == null ? void 0 : _a.hasOwnProperty(annotation));
833
+ apply: (resource, annotation, value) => {
834
+ var _a, _b;
835
+ return !!((_a = resource.metadata.annotations) == null ? void 0 : _a.hasOwnProperty(annotation)) && (value === void 0 ? true : ((_b = resource.metadata.annotations) == null ? void 0 : _b[annotation]) === value);
836
836
  },
837
- toQuery: (annotation) => ({
837
+ toQuery: (annotation, value) => value === void 0 ? {
838
838
  key: `metadata.annotations.${annotation}`
839
- })
839
+ } : {
840
+ key: `metadata.annotations.${annotation}`,
841
+ values: [value]
842
+ }
840
843
  });
841
844
 
842
845
  const isEntityKind = createCatalogPermissionRule({