@backstage/plugin-catalog-backend-module-unprocessed 0.1.1-next.0 → 0.2.0-next.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 +23 -0
- package/README.md +2 -2
- package/dist/index.cjs.js +10 -3
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/package.json +5 -5
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,28 @@
|
|
|
1
1
|
# @backstage/plugin-catalog-backend-module-unprocessed
|
|
2
2
|
|
|
3
|
+
## 0.2.0-next.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 5156a94c2e2a: **BREAKING**: Fixing typo in exported module. You will have to rename the import to the correct spelling. `UnprocessedEntites` -> `UnprocessedEntities`
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- Updated dependencies
|
|
12
|
+
- @backstage/backend-plugin-api@0.5.5-next.0
|
|
13
|
+
- @backstage/catalog-model@1.4.1
|
|
14
|
+
- @backstage/plugin-auth-node@0.2.17-next.0
|
|
15
|
+
|
|
16
|
+
## 0.1.1
|
|
17
|
+
|
|
18
|
+
### Patch Changes
|
|
19
|
+
|
|
20
|
+
- a8fa79ccc105: Fix and improve documentation for the unprocessed entities modules.
|
|
21
|
+
- Updated dependencies
|
|
22
|
+
- @backstage/backend-plugin-api@0.5.4
|
|
23
|
+
- @backstage/catalog-model@1.4.1
|
|
24
|
+
- @backstage/plugin-auth-node@0.2.16
|
|
25
|
+
|
|
3
26
|
## 0.1.1-next.0
|
|
4
27
|
|
|
5
28
|
### Patch Changes
|
package/README.md
CHANGED
|
@@ -19,11 +19,11 @@ yarn add --cwd packages/backend @backstage/plugin-catalog-backend-module-unproce
|
|
|
19
19
|
In `packages/backend/src/plugins/catalog.ts` import the module and initialize it after invoking `CatalogBuilder.build()`:
|
|
20
20
|
|
|
21
21
|
```ts title="packages/backend/src/plugins/catalog.ts"
|
|
22
|
-
import {
|
|
22
|
+
import { UnprocessedEntitiesModule } from '@backstage/plugin-catalog-backend-module-unprocessed';
|
|
23
23
|
|
|
24
24
|
//...
|
|
25
25
|
|
|
26
|
-
const unprocessed = new
|
|
26
|
+
const unprocessed = new UnprocessedEntitiesModule(
|
|
27
27
|
await env.database.getClient(),
|
|
28
28
|
router,
|
|
29
29
|
);
|
package/dist/index.cjs.js
CHANGED
|
@@ -10,10 +10,17 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
10
10
|
|
|
11
11
|
var Router__default = /*#__PURE__*/_interopDefaultLegacy(Router);
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
var __defProp = Object.defineProperty;
|
|
14
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
15
|
+
var __publicField = (obj, key, value) => {
|
|
16
|
+
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
17
|
+
return value;
|
|
18
|
+
};
|
|
19
|
+
class UnprocessedEntitiesModule {
|
|
14
20
|
constructor(database, router) {
|
|
15
21
|
this.database = database;
|
|
16
22
|
this.router = router;
|
|
23
|
+
__publicField(this, "moduleRouter");
|
|
17
24
|
this.moduleRouter = Router__default["default"]();
|
|
18
25
|
this.router.use(this.moduleRouter);
|
|
19
26
|
}
|
|
@@ -104,7 +111,7 @@ const catalogModuleUnprocessedEntities = backendPluginApi.createBackendModule({
|
|
|
104
111
|
logger: backendPluginApi.coreServices.logger
|
|
105
112
|
},
|
|
106
113
|
async init({ database, router, logger }) {
|
|
107
|
-
const module = new
|
|
114
|
+
const module = new UnprocessedEntitiesModule(
|
|
108
115
|
await database.getClient(),
|
|
109
116
|
router
|
|
110
117
|
);
|
|
@@ -117,6 +124,6 @@ const catalogModuleUnprocessedEntities = backendPluginApi.createBackendModule({
|
|
|
117
124
|
}
|
|
118
125
|
});
|
|
119
126
|
|
|
120
|
-
exports.
|
|
127
|
+
exports.UnprocessedEntitiesModule = UnprocessedEntitiesModule;
|
|
121
128
|
exports.catalogModuleUnprocessedEntities = catalogModuleUnprocessedEntities;
|
|
122
129
|
//# sourceMappingURL=index.cjs.js.map
|
package/dist/index.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs.js","sources":["../src/UnprocessedEntitiesModule.ts","../src/module.ts"],"sourcesContent":["/*\n * Copyright 2023 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n HydratedRefreshState,\n RefreshState,\n UnprocessedEntitiesRequest,\n UnprocessedEntitiesResponse,\n} from './types';\nimport { Knex } from 'knex';\nimport { HttpRouterService } from '@backstage/backend-plugin-api';\nimport Router from 'express-promise-router';\nimport { getBearerTokenFromAuthorizationHeader } from '@backstage/plugin-auth-node';\n\n/**\n * Module providing Unprocessed Entities API endpoints\n *\n * @public\n */\nexport class
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":["../src/UnprocessedEntitiesModule.ts","../src/module.ts"],"sourcesContent":["/*\n * Copyright 2023 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n HydratedRefreshState,\n RefreshState,\n UnprocessedEntitiesRequest,\n UnprocessedEntitiesResponse,\n} from './types';\nimport { Knex } from 'knex';\nimport { HttpRouterService } from '@backstage/backend-plugin-api';\nimport Router from 'express-promise-router';\nimport { getBearerTokenFromAuthorizationHeader } from '@backstage/plugin-auth-node';\n\n/**\n * Module providing Unprocessed Entities API endpoints\n *\n * @public\n */\nexport class UnprocessedEntitiesModule {\n private readonly moduleRouter;\n\n constructor(\n private readonly database: Knex,\n private readonly router: HttpRouterService,\n ) {\n this.moduleRouter = Router();\n this.router.use(this.moduleRouter);\n }\n\n private async unprocessed(\n request: UnprocessedEntitiesRequest,\n ): Promise<UnprocessedEntitiesResponse> {\n if (request.reason === 'pending') {\n return {\n type: 'pending',\n entities: await this.pending(request.owner),\n };\n }\n return {\n type: 'failed',\n entities: await this.failed(request.owner),\n };\n }\n\n private hydrateRefreshState(r: RefreshState): HydratedRefreshState {\n return {\n ...r,\n unprocessed_entity: JSON.parse(r.unprocessed_entity),\n ...(r.processed_entity && {\n processed_entity: JSON.parse(r.processed_entity),\n }),\n ...(r.errors && { errors: JSON.parse(r.errors) }),\n ...(r.cache && { cache: JSON.parse(r.cache) }),\n };\n }\n\n private async pending(owner?: string): Promise<HydratedRefreshState[]> {\n const res = (\n await this.database('refresh_state.*')\n .from('refresh_state')\n .leftJoin(\n 'final_entities',\n 'final_entities.entity_id',\n 'refresh_state.entity_id',\n )\n .whereNull('final_entities.entity_id')\n ).map(this.hydrateRefreshState);\n if (owner) {\n return res.filter(r => r.unprocessed_entity.spec?.owner === owner);\n }\n\n return res;\n }\n\n private async failed(owner?: string): Promise<HydratedRefreshState[]> {\n const res = (\n await this.database('refresh_state.*')\n .from('refresh_state')\n .rightJoin(\n 'final_entities',\n 'final_entities.entity_id',\n 'refresh_state.entity_id',\n )\n .whereNull('final_entities.final_entity')\n ).map(this.hydrateRefreshState);\n if (owner) {\n return res.filter(r => r.unprocessed_entity.spec?.owner === owner);\n }\n\n return res;\n }\n\n registerRoutes() {\n this.moduleRouter\n .get('/entities/unprocessed/failed', async (req, res) => {\n return res.json(\n await this.unprocessed({\n reason: 'failed',\n owner: req.query.owner as string,\n authorizationToken: getBearerTokenFromAuthorizationHeader(\n req.header('authorization'),\n ),\n }),\n );\n })\n .get('/entities/unprocessed/pending', async (req, res) => {\n return res.json(\n await this.unprocessed({\n reason: 'pending',\n owner: req.query.owner as string,\n authorizationToken: getBearerTokenFromAuthorizationHeader(\n req.header('authorization'),\n ),\n }),\n );\n });\n }\n}\n","/*\n * Copyright 2023 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n coreServices,\n createBackendModule,\n} from '@backstage/backend-plugin-api';\nimport { UnprocessedEntitiesModule } from './UnprocessedEntitiesModule';\n\n/**\n * Catalog Module for Unprocessed Entities\n *\n * @public\n */\nexport const catalogModuleUnprocessedEntities = createBackendModule({\n pluginId: 'catalog',\n moduleId: 'catalogModuleUnprocessedEntities',\n register(env) {\n env.registerInit({\n deps: {\n database: coreServices.database,\n router: coreServices.httpRouter,\n logger: coreServices.logger,\n },\n async init({ database, router, logger }) {\n const module = new UnprocessedEntitiesModule(\n await database.getClient(),\n router,\n );\n\n module.registerRoutes();\n logger.info(\n 'registered additional routes for catalogModuleUnprocessedEntities',\n );\n },\n });\n },\n});\n"],"names":["Router","getBearerTokenFromAuthorizationHeader","createBackendModule","coreServices"],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -14,7 +14,7 @@ declare const catalogModuleUnprocessedEntities: () => _backstage_backend_plugin_
|
|
|
14
14
|
*
|
|
15
15
|
* @public
|
|
16
16
|
*/
|
|
17
|
-
declare class
|
|
17
|
+
declare class UnprocessedEntitiesModule {
|
|
18
18
|
private readonly database;
|
|
19
19
|
private readonly router;
|
|
20
20
|
private readonly moduleRouter;
|
|
@@ -26,4 +26,4 @@ declare class UnprocessedEntitesModule {
|
|
|
26
26
|
registerRoutes(): void;
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
export {
|
|
29
|
+
export { UnprocessedEntitiesModule, catalogModuleUnprocessedEntities };
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@backstage/plugin-catalog-backend-module-unprocessed",
|
|
3
3
|
"description": "Backstage Catalog module to view unprocessed entities",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.2.0-next.0",
|
|
5
5
|
"main": "dist/index.cjs.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
7
7
|
"license": "Apache-2.0",
|
|
@@ -22,15 +22,15 @@
|
|
|
22
22
|
"postpack": "backstage-cli package postpack"
|
|
23
23
|
},
|
|
24
24
|
"devDependencies": {
|
|
25
|
-
"@backstage/cli": "^0.22.
|
|
25
|
+
"@backstage/cli": "^0.22.10-next.0"
|
|
26
26
|
},
|
|
27
27
|
"files": [
|
|
28
28
|
"dist"
|
|
29
29
|
],
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"@backstage/backend-plugin-api": "^0.5.
|
|
32
|
-
"@backstage/catalog-model": "^1.4.1
|
|
33
|
-
"@backstage/plugin-auth-node": "^0.2.
|
|
31
|
+
"@backstage/backend-plugin-api": "^0.5.5-next.0",
|
|
32
|
+
"@backstage/catalog-model": "^1.4.1",
|
|
33
|
+
"@backstage/plugin-auth-node": "^0.2.17-next.0",
|
|
34
34
|
"express-promise-router": "^4.1.1",
|
|
35
35
|
"knex": "^2.4.2"
|
|
36
36
|
}
|