@backstage/plugin-scaffolder-backend 1.12.1-next.0 → 1.13.0-next.2

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/dist/alpha.d.ts CHANGED
@@ -1,4 +1,7 @@
1
1
  import * as _backstage_backend_plugin_api from '@backstage/backend-plugin-api';
2
+ import * as _backstage_plugin_permission_common from '@backstage/plugin-permission-common';
3
+ import * as _backstage_plugin_permission_node from '@backstage/plugin-permission-node';
4
+ import * as _backstage_plugin_scaffolder_common from '@backstage/plugin-scaffolder-common';
2
5
  import { TemplateAction } from '@backstage/plugin-scaffolder-node';
3
6
  import { TaskBroker, TemplateFilter, TemplateGlobal } from '@backstage/plugin-scaffolder-backend';
4
7
 
@@ -9,12 +12,57 @@ import { TaskBroker, TemplateFilter, TemplateGlobal } from '@backstage/plugin-sc
9
12
  */
10
13
  declare const catalogModuleTemplateKind: () => _backstage_backend_plugin_api.BackendFeature;
11
14
 
15
+ /**
16
+ * These conditions are used when creating conditional decisions for scaffolder
17
+ * templates that are returned by authorization policies.
18
+ *
19
+ * @alpha
20
+ */
21
+ declare const scaffolderConditions: _backstage_plugin_permission_node.Conditions<{
22
+ hasTag: _backstage_plugin_permission_node.PermissionRule<_backstage_plugin_scaffolder_common.TemplateParametersV1beta3 | _backstage_plugin_scaffolder_common.TemplateEntityStepV1beta3, {}, "scaffolder-template", {
23
+ tag: string;
24
+ }>;
25
+ }>;
26
+ /**
27
+ * `createScaffolderConditionalDecision` can be used when authoring policies to
28
+ * create conditional decisions. It requires a permission of type
29
+ * `ResourcePermission<'scaffolder-template'>` to be passed as the first parameter.
30
+ * It's recommended that you use the provided `isResourcePermission` and
31
+ * `isPermission` helper methods to narrow the type of the permission passed to
32
+ * the handle method as shown below.
33
+ *
34
+ * ```
35
+ * // MyAuthorizationPolicy.ts
36
+ * ...
37
+ * import { createScaffolderPolicyDecision } from '@backstage/plugin-scaffolder-backend';
38
+ * import { RESOURCE_TYPE_SCAFFOLDER_TEMPLATE } from '@backstage/plugin-scaffolder-common';
39
+ *
40
+ * class MyAuthorizationPolicy implements PermissionPolicy {
41
+ * async handle(request, user) {
42
+ * ...
43
+ *
44
+ * if (isResourcePermission(request.permission, RESOURCE_TYPE_SCAFFOLDER_TEMPLATE)) {
45
+ * return createScaffolderConditionalDecision(
46
+ * request.permission,
47
+ * { anyOf: [...insert conditions here...] }
48
+ * );
49
+ * }
50
+ *
51
+ * ...
52
+ * }
53
+ *
54
+ * ```
55
+ *
56
+ * @alpha
57
+ */
58
+ declare const createScaffolderConditionalDecision: (permission: _backstage_plugin_permission_common.ResourcePermission<"scaffolder-template">, conditions: _backstage_plugin_permission_common.PermissionCriteria<_backstage_plugin_permission_common.PermissionCondition<"scaffolder-template">>) => _backstage_plugin_permission_common.ConditionalPolicyDecision;
59
+
12
60
  /**
13
61
  * Catalog plugin options
14
62
  *
15
63
  * @alpha
16
64
  */
17
- declare type ScaffolderPluginOptions = {
65
+ type ScaffolderPluginOptions = {
18
66
  actions?: TemplateAction<any>[];
19
67
  taskWorkers?: number;
20
68
  taskBroker?: TaskBroker;
@@ -28,4 +76,4 @@ declare type ScaffolderPluginOptions = {
28
76
  */
29
77
  declare const scaffolderPlugin: (options: ScaffolderPluginOptions) => _backstage_backend_plugin_api.BackendFeature;
30
78
 
31
- export { ScaffolderPluginOptions, catalogModuleTemplateKind, scaffolderPlugin };
79
+ export { ScaffolderPluginOptions, catalogModuleTemplateKind, createScaffolderConditionalDecision, scaffolderConditions, scaffolderPlugin };