permission-common: use createCondition helper when creating conditions
Signed-off-by: Mike Lewis <mtlewis@users.noreply.github.com>
This commit is contained in:
committed by
Joe Porpeglia
parent
899d38ea68
commit
ada4446733
@@ -0,0 +1,6 @@
|
||||
---
|
||||
'@backstage/plugin-catalog-backend': patch
|
||||
'@backstage/plugin-techdocs-backend': patch
|
||||
---
|
||||
|
||||
Specify type of `visibilityPermission` property on collators and collator factories.
|
||||
@@ -0,0 +1,6 @@
|
||||
---
|
||||
'@backstage/plugin-catalog-common': patch
|
||||
'@backstage/plugin-jenkins-common': patch
|
||||
---
|
||||
|
||||
Use `createPermission` helper when creating permissions.
|
||||
@@ -33,6 +33,7 @@ import {
|
||||
catalogEntityReadPermission,
|
||||
CatalogEntityDocument,
|
||||
} from '@backstage/plugin-catalog-common';
|
||||
import { Permission } from '@backstage/plugin-permission-common';
|
||||
|
||||
/**
|
||||
* @public
|
||||
@@ -45,7 +46,8 @@ export class DefaultCatalogCollator {
|
||||
protected filter?: GetEntitiesRequest['filter'];
|
||||
protected readonly catalogClient: CatalogApi;
|
||||
public readonly type: string = 'software-catalog';
|
||||
public readonly visibilityPermission = catalogEntityReadPermission;
|
||||
public readonly visibilityPermission: Permission =
|
||||
catalogEntityReadPermission;
|
||||
protected tokenManager: TokenManager;
|
||||
|
||||
static fromConfig(
|
||||
|
||||
@@ -34,6 +34,7 @@ import {
|
||||
catalogEntityReadPermission,
|
||||
CatalogEntityDocument,
|
||||
} from '@backstage/plugin-catalog-common';
|
||||
import { Permission } from '@backstage/plugin-permission-common';
|
||||
import { Readable } from 'stream';
|
||||
|
||||
/** @public */
|
||||
@@ -49,7 +50,8 @@ export type DefaultCatalogCollatorFactoryOptions = {
|
||||
/** @public */
|
||||
export class DefaultCatalogCollatorFactory implements DocumentCollatorFactory {
|
||||
public readonly type: string = 'software-catalog';
|
||||
public readonly visibilityPermission = catalogEntityReadPermission;
|
||||
public readonly visibilityPermission: Permission =
|
||||
catalogEntityReadPermission;
|
||||
|
||||
private locationTemplate: string;
|
||||
private filter?: GetEntitiesRequest['filter'];
|
||||
|
||||
@@ -3,14 +3,15 @@
|
||||
> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).
|
||||
|
||||
```ts
|
||||
import { BasicPermission } from '@backstage/plugin-permission-common';
|
||||
import { IndexableDocument } from '@backstage/search-common';
|
||||
import { Permission } from '@backstage/plugin-permission-common';
|
||||
import { ResourcePermission } from '@backstage/plugin-permission-common';
|
||||
|
||||
// @alpha
|
||||
export const catalogEntityCreatePermission: Permission;
|
||||
export const catalogEntityCreatePermission: BasicPermission;
|
||||
|
||||
// @alpha
|
||||
export const catalogEntityDeletePermission: Permission;
|
||||
export const catalogEntityDeletePermission: ResourcePermission<'catalog-entity'>;
|
||||
|
||||
// @public
|
||||
export interface CatalogEntityDocument extends IndexableDocument {
|
||||
@@ -29,19 +30,19 @@ export interface CatalogEntityDocument extends IndexableDocument {
|
||||
}
|
||||
|
||||
// @alpha
|
||||
export const catalogEntityReadPermission: Permission;
|
||||
export const catalogEntityReadPermission: ResourcePermission<'catalog-entity'>;
|
||||
|
||||
// @alpha
|
||||
export const catalogEntityRefreshPermission: Permission;
|
||||
export const catalogEntityRefreshPermission: ResourcePermission<'catalog-entity'>;
|
||||
|
||||
// @alpha
|
||||
export const catalogLocationCreatePermission: Permission;
|
||||
export const catalogLocationCreatePermission: BasicPermission;
|
||||
|
||||
// @alpha
|
||||
export const catalogLocationDeletePermission: Permission;
|
||||
export const catalogLocationDeletePermission: BasicPermission;
|
||||
|
||||
// @alpha
|
||||
export const catalogLocationReadPermission: Permission;
|
||||
export const catalogLocationReadPermission: BasicPermission;
|
||||
|
||||
// @alpha
|
||||
export const RESOURCE_TYPE_CATALOG_ENTITY = 'catalog-entity';
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { Permission } from '@backstage/plugin-permission-common';
|
||||
import { createPermission } from '@backstage/plugin-permission-common';
|
||||
|
||||
/**
|
||||
* Permission resource type which corresponds to catalog entities.
|
||||
@@ -32,13 +32,13 @@ export const RESOURCE_TYPE_CATALOG_ENTITY = 'catalog-entity';
|
||||
* exist in the catalog — both in the frontend and in API responses.
|
||||
* @alpha
|
||||
*/
|
||||
export const catalogEntityReadPermission: Permission = {
|
||||
export const catalogEntityReadPermission = createPermission({
|
||||
name: 'catalog.entity.read',
|
||||
attributes: {
|
||||
action: 'read',
|
||||
},
|
||||
resourceType: RESOURCE_TYPE_CATALOG_ENTITY,
|
||||
};
|
||||
});
|
||||
|
||||
/**
|
||||
* This permission is used to authorize actions that involve creating a new
|
||||
@@ -46,38 +46,38 @@ export const catalogEntityReadPermission: Permission = {
|
||||
* catalog.
|
||||
* @alpha
|
||||
*/
|
||||
export const catalogEntityCreatePermission: Permission = {
|
||||
export const catalogEntityCreatePermission = createPermission({
|
||||
name: 'catalog.entity.create',
|
||||
attributes: {
|
||||
action: 'create',
|
||||
},
|
||||
};
|
||||
});
|
||||
|
||||
/**
|
||||
* This permission is used to designate actions that involve removing one or
|
||||
* more entities from the catalog.
|
||||
* @alpha
|
||||
*/
|
||||
export const catalogEntityDeletePermission: Permission = {
|
||||
export const catalogEntityDeletePermission = createPermission({
|
||||
name: 'catalog.entity.delete',
|
||||
attributes: {
|
||||
action: 'delete',
|
||||
},
|
||||
resourceType: RESOURCE_TYPE_CATALOG_ENTITY,
|
||||
};
|
||||
});
|
||||
|
||||
/**
|
||||
* This permission is used to designate refreshing one or more entities from the
|
||||
* catalog.
|
||||
* @alpha
|
||||
*/
|
||||
export const catalogEntityRefreshPermission: Permission = {
|
||||
export const catalogEntityRefreshPermission = createPermission({
|
||||
name: 'catalog.entity.refresh',
|
||||
attributes: {
|
||||
action: 'update',
|
||||
},
|
||||
resourceType: RESOURCE_TYPE_CATALOG_ENTITY,
|
||||
};
|
||||
});
|
||||
|
||||
/**
|
||||
* This permission is used to designate actions that involve reading one or more
|
||||
@@ -87,33 +87,33 @@ export const catalogEntityRefreshPermission: Permission = {
|
||||
* not exist in the catalog — both in the frontend and in API responses.
|
||||
* @alpha
|
||||
*/
|
||||
export const catalogLocationReadPermission: Permission = {
|
||||
export const catalogLocationReadPermission = createPermission({
|
||||
name: 'catalog.location.read',
|
||||
attributes: {
|
||||
action: 'read',
|
||||
},
|
||||
};
|
||||
});
|
||||
|
||||
/**
|
||||
* This permission is used to designate actions that involve creating catalog
|
||||
* locations.
|
||||
* @alpha
|
||||
*/
|
||||
export const catalogLocationCreatePermission: Permission = {
|
||||
export const catalogLocationCreatePermission = createPermission({
|
||||
name: 'catalog.location.create',
|
||||
attributes: {
|
||||
action: 'create',
|
||||
},
|
||||
};
|
||||
});
|
||||
|
||||
/**
|
||||
* This permission is used to designate actions that involve deleting locations
|
||||
* from the catalog.
|
||||
* @alpha
|
||||
*/
|
||||
export const catalogLocationDeletePermission: Permission = {
|
||||
export const catalogLocationDeletePermission = createPermission({
|
||||
name: 'catalog.location.delete',
|
||||
attributes: {
|
||||
action: 'delete',
|
||||
},
|
||||
};
|
||||
});
|
||||
|
||||
@@ -3,10 +3,10 @@
|
||||
> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).
|
||||
|
||||
```ts
|
||||
import { Permission } from '@backstage/plugin-permission-common';
|
||||
import { ResourcePermission } from '@backstage/plugin-permission-common';
|
||||
|
||||
// @public
|
||||
export const jenkinsExecutePermission: Permission;
|
||||
export const jenkinsExecutePermission: ResourcePermission<'catalog-entity'>;
|
||||
|
||||
// (No @packageDocumentation comment for this package)
|
||||
```
|
||||
|
||||
@@ -14,17 +14,17 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
import { RESOURCE_TYPE_CATALOG_ENTITY } from '@backstage/plugin-catalog-common';
|
||||
import { Permission } from '@backstage/plugin-permission-common';
|
||||
import { createPermission } from '@backstage/plugin-permission-common';
|
||||
|
||||
/**
|
||||
* This permission is used to determine if a user is allowed to execute an action in jenkins plugin
|
||||
*
|
||||
* @public
|
||||
*/
|
||||
export const jenkinsExecutePermission: Permission = {
|
||||
export const jenkinsExecutePermission = createPermission({
|
||||
name: 'jenkins.execute',
|
||||
attributes: {
|
||||
action: 'update',
|
||||
},
|
||||
resourceType: RESOURCE_TYPE_CATALOG_ENTITY,
|
||||
};
|
||||
});
|
||||
|
||||
@@ -41,6 +41,7 @@
|
||||
"@backstage/errors": "^1.0.0",
|
||||
"@backstage/integration": "^1.0.1-next.0",
|
||||
"@backstage/plugin-catalog-common": "^1.0.1-next.0",
|
||||
"@backstage/plugin-permission-common": "^0.5.3",
|
||||
"@backstage/plugin-search-common": "^0.3.3-next.0",
|
||||
"@backstage/plugin-techdocs-node": "^1.0.1-next.0",
|
||||
"@types/express": "^4.17.6",
|
||||
|
||||
@@ -30,6 +30,7 @@ import { Logger } from 'winston';
|
||||
import pLimit from 'p-limit';
|
||||
import { Config } from '@backstage/config';
|
||||
import { catalogEntityReadPermission } from '@backstage/plugin-catalog-common';
|
||||
import { Permission } from '@backstage/plugin-permission-common';
|
||||
import {
|
||||
CatalogApi,
|
||||
CatalogClient,
|
||||
@@ -73,7 +74,8 @@ type EntityInfo = {
|
||||
*/
|
||||
export class DefaultTechDocsCollator {
|
||||
public readonly type: string = 'techdocs';
|
||||
public readonly visibilityPermission = catalogEntityReadPermission;
|
||||
public readonly visibilityPermission: Permission =
|
||||
catalogEntityReadPermission;
|
||||
|
||||
private constructor(
|
||||
private readonly legacyPathCasing: boolean,
|
||||
|
||||
@@ -31,6 +31,7 @@ import {
|
||||
} from '@backstage/catalog-model';
|
||||
import { Config } from '@backstage/config';
|
||||
import { catalogEntityReadPermission } from '@backstage/plugin-catalog-common';
|
||||
import { Permission } from '@backstage/plugin-permission-common';
|
||||
import { DocumentCollatorFactory } from '@backstage/plugin-search-common';
|
||||
import { TechDocsDocument } from '@backstage/plugin-techdocs-node';
|
||||
import unescape from 'lodash/unescape';
|
||||
@@ -74,7 +75,8 @@ type EntityInfo = {
|
||||
*/
|
||||
export class DefaultTechDocsCollatorFactory implements DocumentCollatorFactory {
|
||||
public readonly type: string = 'techdocs';
|
||||
public readonly visibilityPermission = catalogEntityReadPermission;
|
||||
public readonly visibilityPermission: Permission =
|
||||
catalogEntityReadPermission;
|
||||
|
||||
private discovery: PluginEndpointDiscovery;
|
||||
private locationTemplate: string;
|
||||
|
||||
Reference in New Issue
Block a user