@pagerduty/backstage-plugin-entity-processor 0.1.0-next.10 → 0.1.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/index.cjs.js CHANGED
@@ -12,14 +12,12 @@ var __publicField = (obj, key, value) => {
12
12
  return value;
13
13
  };
14
14
  class PagerDutyEntityProcessor {
15
- constructor({ logger, store }) {
15
+ // private shouldProcessEntity: ShouldProcessEntity = (entity: Entity) => {
16
+ // return entity.kind === 'Component';
17
+ // }
18
+ constructor(logger) {
16
19
  __publicField(this, "logger");
17
- __publicField(this, "store");
18
- __publicField(this, "shouldProcessEntity", (entity) => {
19
- return entity.kind === "Component";
20
- });
21
20
  this.logger = logger;
22
- this.store = store;
23
21
  }
24
22
  getProcessorName() {
25
23
  return "PagerDutyEntityProcessor";
@@ -27,41 +25,18 @@ class PagerDutyEntityProcessor {
27
25
  // static fromConfig(): PagerDutyEntityProcessor {
28
26
  // return new PagerDutyEntityProcessor();
29
27
  // }
30
- async postProcessEntity(entity) {
31
- if (this.shouldProcessEntity(entity)) {
32
- this.logger.info(`Processing entity: ${JSON.stringify(entity)}`);
33
- const entityRef = `${entity.kind}:${entity.metadata.namespace}/${entity.metadata.name}`.toLowerCase();
34
- this.logger.info(`Looking for entity mapping with ref: ${entityRef}`);
35
- try {
36
- const mapping = await this.store.findEntityMappingByEntityRef("e4657ba9-bdc4-4375-b46c-fd7dc188090e");
37
- if (mapping) {
38
- this.logger.info(`Found mapping for entity: ${entity.metadata.name}`);
39
- entity.metadata.annotations["pagerduty.com/service-id"] = mapping.serviceId;
40
- } else {
41
- this.logger.info(`No mapping found for entity: ${entity.metadata.name}`);
42
- }
43
- } catch (error) {
44
- this.logger.error(`Error processing entity: ${entity.metadata.name}`);
45
- this.logger.error(JSON.stringify(error));
46
- }
28
+ async preProcessEntity(entity) {
29
+ this.logger.info(`Processing entity: ${entity.metadata.name}`);
30
+ if (entity.metadata.annotations) {
31
+ entity.metadata.annotations = {
32
+ "pagerduty.com/integration-key": "123",
33
+ "pagerduty.com/service-id": "123"
34
+ };
47
35
  }
48
36
  return entity;
49
37
  }
50
38
  }
51
39
 
52
- class PagerDutyBackendDatabase {
53
- constructor(db) {
54
- this.db = db;
55
- }
56
- static async create(knex) {
57
- return new PagerDutyBackendDatabase(knex);
58
- }
59
- async findEntityMappingByEntityRef(entityRef) {
60
- const rawEntity = await this.db("pagerduty_entity_mapping").where("entityRef", entityRef).first();
61
- return rawEntity;
62
- }
63
- }
64
-
65
40
  const pagerDutyEntityProcessor = backendPluginApi.createBackendModule({
66
41
  pluginId: "catalog",
67
42
  moduleId: "pagerduty-entity-processor",
@@ -69,14 +44,10 @@ const pagerDutyEntityProcessor = backendPluginApi.createBackendModule({
69
44
  env.registerInit({
70
45
  deps: {
71
46
  logger: backendPluginApi.coreServices.logger,
72
- database: backendPluginApi.coreServices.database,
73
47
  catalog: alpha.catalogProcessingExtensionPoint
74
48
  },
75
- async init({ logger, database, catalog }) {
76
- const store = await PagerDutyBackendDatabase.create(
77
- await database.getClient()
78
- );
79
- catalog.addProcessor(new PagerDutyEntityProcessor({ logger, store }));
49
+ async init({ logger, catalog }) {
50
+ catalog.addProcessor(new PagerDutyEntityProcessor(logger));
80
51
  }
81
52
  });
82
53
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","sources":["../src/processor/PagerDutyEntityProcessor.ts","../src/db/PagerDutyBackendDatabase.ts","../src/module.ts"],"sourcesContent":["import { LoggerService } from \"@backstage/backend-plugin-api\";\nimport { Entity } from \"@backstage/catalog-model\";\nimport { CatalogProcessor } from \"@backstage/plugin-catalog-node\";\nimport { PagerDutyBackendStore } from \"../db\";\n\n/**\n * A function which given an entity, determines if it should be processed for linguist tags.\n * @public\n */\nexport type ShouldProcessEntity = (entity: Entity) => boolean;\n\nexport interface PagerDutyEntityProcessorOptions {\n logger: LoggerService;\n store: PagerDutyBackendStore;\n};\n\nexport class PagerDutyEntityProcessor implements CatalogProcessor {\n private logger: LoggerService;\n private store: PagerDutyBackendStore;\n private shouldProcessEntity: ShouldProcessEntity = (entity: Entity) => {\n return entity.kind === 'Component';\n }\n\n constructor({ logger, store }: PagerDutyEntityProcessorOptions) {\n this.logger = logger;\n this.store = store;\n }\n\n getProcessorName(): string {\n return \"PagerDutyEntityProcessor\";\n }\n\n // static fromConfig(): PagerDutyEntityProcessor {\n // return new PagerDutyEntityProcessor();\n // }\n\n async postProcessEntity(entity: Entity): Promise<Entity> {\n if (this.shouldProcessEntity(entity)) {\n this.logger.info(`Processing entity: ${JSON.stringify(entity)}`);\n\n const entityRef = `${entity.kind}:${entity.metadata.namespace}/${entity.metadata.name}`.toLowerCase();\n this.logger.info(`Looking for entity mapping with ref: ${entityRef}`);\n\n try{\n const mapping = await this.store.findEntityMappingByEntityRef(\"e4657ba9-bdc4-4375-b46c-fd7dc188090e\");\n if (mapping) {\n this.logger.info(`Found mapping for entity: ${entity.metadata.name}`);\n entity.metadata.annotations![\"pagerduty.com/service-id\"] = mapping.serviceId;\n } else {\n this.logger.info(`No mapping found for entity: ${entity.metadata.name}`);\n }\n } catch (error) {\n this.logger.error(`Error processing entity: ${entity.metadata.name}`);\n this.logger.error(JSON.stringify(error));\n } \n }\n\n return entity;\n }\n}","import { Knex } from 'knex';\n\nexport type RawDbEntityResultRow = {\n id: string;\n entityRef: string;\n serviceId: string;\n processedDate?: Date;\n};\n\n/** @public */\nexport interface PagerDutyBackendStore {\n findEntityMappingByEntityRef(entityRef: string): Promise<RawDbEntityResultRow | undefined>\n}\n\n\n/** @public */\nexport class PagerDutyBackendDatabase implements PagerDutyBackendStore {\n static async create(knex: Knex): Promise<PagerDutyBackendStore> {\n \n return new PagerDutyBackendDatabase(knex);\n }\n\n constructor(private readonly db: Knex) { }\n\n async findEntityMappingByEntityRef(entityRef: string): Promise<RawDbEntityResultRow | undefined> {\n const rawEntity = await this.db<RawDbEntityResultRow>('pagerduty_entity_mapping')\n .where('entityRef', entityRef)\n .first();\n\n return rawEntity;\n }\n}","import { coreServices, createBackendModule } from \"@backstage/backend-plugin-api\";\nimport { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node/alpha';\nimport { PagerDutyEntityProcessor } from \"./processor\";\nimport { PagerDutyBackendDatabase, PagerDutyBackendStore } from \"./db/PagerDutyBackendDatabase\";\n\n\n\n/** @public */\nexport const pagerDutyEntityProcessor = createBackendModule({\n pluginId: 'catalog',\n moduleId: 'pagerduty-entity-processor',\n register(env) {\n env.registerInit({\n deps: {\n logger: coreServices.logger,\n database: coreServices.database,\n catalog: catalogProcessingExtensionPoint,\n },\n async init({ logger, database, catalog }) {\n\n const store: PagerDutyBackendStore = await PagerDutyBackendDatabase.create(\n await database.getClient(),\n );\n\n catalog.addProcessor(new PagerDutyEntityProcessor({ logger, store}));\n },\n });\n },\n});\n"],"names":["createBackendModule","coreServices","catalogProcessingExtensionPoint"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs.js","sources":["../src/processor/PagerDutyEntityProcessor.ts","../src/module.ts"],"sourcesContent":["import { LoggerService } from \"@backstage/backend-plugin-api\";\nimport { Entity } from \"@backstage/catalog-model\";\nimport { CatalogProcessor } from \"@backstage/plugin-catalog-node\";\n\n/**\n * A function which given an entity, determines if it should be processed for linguist tags.\n * @public\n */\n// export type ShouldProcessEntity = (entity: Entity) => boolean;\n\nexport class PagerDutyEntityProcessor implements CatalogProcessor {\n private logger: LoggerService;\n // private shouldProcessEntity: ShouldProcessEntity = (entity: Entity) => {\n // return entity.kind === 'Component';\n // }\n\n constructor(logger: LoggerService) {\n this.logger = logger;\n }\n\n getProcessorName(): string {\n return \"PagerDutyEntityProcessor\";\n }\n\n // static fromConfig(): PagerDutyEntityProcessor {\n // return new PagerDutyEntityProcessor();\n // }\n\n async preProcessEntity(entity: Entity): Promise<Entity> {\n // if (this.shouldProcessEntity(entity)) {\n this.logger.info(`Processing entity: ${entity.metadata.name}`);\n if(entity.metadata.annotations){\n entity.metadata.annotations = {\n \"pagerduty.com/integration-key\": \"123\",\n \"pagerduty.com/service-id\": \"123\",\n } \n }\n // }\n\n return entity;\n }\n}","import { coreServices, createBackendModule } from \"@backstage/backend-plugin-api\";\nimport { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node/alpha';\nimport { PagerDutyEntityProcessor } from \"./processor\";\n\n\n\n/** @public */\nexport const pagerDutyEntityProcessor = createBackendModule({\n pluginId: 'catalog',\n moduleId: 'pagerduty-entity-processor',\n register(env) {\n env.registerInit({\n deps: {\n logger: coreServices.logger,\n catalog: catalogProcessingExtensionPoint,\n },\n async init({ logger, catalog }) {\n catalog.addProcessor(new PagerDutyEntityProcessor(logger));\n },\n });\n },\n});\n"],"names":["createBackendModule","coreServices","catalogProcessingExtensionPoint"],"mappings":";;;;;;;;;;;;;AAUO,MAAM,wBAAqD,CAAA;AAAA;AAAA;AAAA;AAAA,EAM9D,YAAY,MAAuB,EAAA;AALnC,IAAQ,aAAA,CAAA,IAAA,EAAA,QAAA,CAAA,CAAA;AAMJ,IAAA,IAAA,CAAK,MAAS,GAAA,MAAA,CAAA;AAAA,GAClB;AAAA,EAEA,gBAA2B,GAAA;AACvB,IAAO,OAAA,0BAAA,CAAA;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAMA,MAAM,iBAAiB,MAAiC,EAAA;AAEhD,IAAA,IAAA,CAAK,OAAO,IAAK,CAAA,CAAA,mBAAA,EAAsB,MAAO,CAAA,QAAA,CAAS,IAAI,CAAE,CAAA,CAAA,CAAA;AAC7D,IAAG,IAAA,MAAA,CAAO,SAAS,WAAY,EAAA;AAC3B,MAAA,MAAA,CAAO,SAAS,WAAc,GAAA;AAAA,QAC1B,+BAAiC,EAAA,KAAA;AAAA,QACjC,0BAA4B,EAAA,KAAA;AAAA,OAChC,CAAA;AAAA,KACJ;AAGJ,IAAO,OAAA,MAAA,CAAA;AAAA,GACX;AACJ;;AClCO,MAAM,2BAA2BA,oCAAoB,CAAA;AAAA,EACxD,QAAU,EAAA,SAAA;AAAA,EACV,QAAU,EAAA,4BAAA;AAAA,EACV,SAAS,GAAK,EAAA;AACV,IAAA,GAAA,CAAI,YAAa,CAAA;AAAA,MACb,IAAM,EAAA;AAAA,QACF,QAAQC,6BAAa,CAAA,MAAA;AAAA,QACrB,OAAS,EAAAC,qCAAA;AAAA,OACb;AAAA,MACA,MAAM,IAAA,CAAK,EAAE,MAAA,EAAQ,SAAW,EAAA;AAC5B,QAAA,OAAA,CAAQ,YAAa,CAAA,IAAI,wBAAyB,CAAA,MAAM,CAAC,CAAA,CAAA;AAAA,OAC7D;AAAA,KACH,CAAA,CAAA;AAAA,GACL;AACJ,CAAC;;;;"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as _backstage_backend_plugin_api from '@backstage/backend-plugin-api';
2
2
 
3
3
  /** @public */
4
- declare const pagerDutyEntityProcessor: _backstage_backend_plugin_api.BackendFeatureCompat;
4
+ declare const pagerDutyEntityProcessor: () => _backstage_backend_plugin_api.BackendFeature;
5
5
 
6
6
  export { pagerDutyEntityProcessor as default };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pagerduty/backstage-plugin-entity-processor",
3
- "version": "0.1.0-next.10",
3
+ "version": "0.1.0-next.2",
4
4
  "main": "dist/index.cjs.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "license": "Apache-2.0",
@@ -24,10 +24,10 @@
24
24
  "dependencies": {
25
25
  "@backstage/backend-common": "^0.21.6",
26
26
  "@backstage/backend-defaults": "^0.2.16",
27
- "@backstage/backend-plugin-api": "^0.6.20",
27
+ "@backstage/backend-plugin-api": "^0.6.16",
28
28
  "@backstage/config": "^1.2.0",
29
29
  "@backstage/plugin-catalog-node": "^1.12.2",
30
- "@pagerduty/backstage-plugin-common": "0.1.5-next.8",
30
+ "@pagerduty/backstage-plugin-common": "^0.1.4",
31
31
  "@rjsf/core": "^5.14.3",
32
32
  "node-fetch": "^2.6.7",
33
33
  "winston": "^3.2.1",