@pagerduty/backstage-plugin 0.12.1-next.35 → 0.12.1-next.37

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.
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { P as PagerDutyCard } from './index-3e6ebb0b.esm.js';
2
+ import { P as PagerDutyCard } from './index-75f25f51.esm.js';
3
3
  import '@backstage/core-plugin-api';
4
4
  import '@backstage/errors';
5
5
  import '@backstage/plugin-home-react';
@@ -34,4 +34,4 @@ const Content = (props) => {
34
34
  };
35
35
 
36
36
  export { Content };
37
- //# sourceMappingURL=index-a6f8b0a3.esm.js.map
37
+ //# sourceMappingURL=index-2133fc09.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-a6f8b0a3.esm.js","sources":["../../src/components/HomePagePagerDutyCard/Content.tsx"],"sourcesContent":["/*\n * Copyright 2020 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// eslint-disable-next-line @backstage/no-undeclared-imports\nimport React from 'react';\n\nimport { PagerDutyEntity } from '../../types';\nimport { PagerDutyCard } from '../PagerDutyCard';\n\n/** @public */\nexport type HomePagePagerDutyCardProps = PagerDutyEntity & {\n readOnly?: boolean;\n};\n\n/** @public */\nexport const Content = (props: HomePagePagerDutyCardProps) => {\n return <PagerDutyCard {...props} />;\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2Ba,MAAA,OAAA,GAAU,CAAC,KAAsC,KAAA;AAC5D,EAAO,uBAAA,KAAA,CAAA,aAAA,CAAC,aAAe,EAAA,EAAA,GAAG,KAAO,EAAA,CAAA,CAAA;AACnC;;;;"}
1
+ {"version":3,"file":"index-2133fc09.esm.js","sources":["../../src/components/HomePagePagerDutyCard/Content.tsx"],"sourcesContent":["/*\n * Copyright 2020 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// eslint-disable-next-line @backstage/no-undeclared-imports\nimport React from 'react';\n\nimport { PagerDutyEntity } from '../../types';\nimport { PagerDutyCard } from '../PagerDutyCard';\n\n/** @public */\nexport type HomePagePagerDutyCardProps = PagerDutyEntity & {\n readOnly?: boolean;\n};\n\n/** @public */\nexport const Content = (props: HomePagePagerDutyCardProps) => {\n return <PagerDutyCard {...props} />;\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2Ba,MAAA,OAAA,GAAU,CAAC,KAAsC,KAAA;AAC5D,EAAO,uBAAA,KAAA,CAAA,aAAA,CAAC,aAAe,EAAA,EAAA,GAAG,KAAO,EAAA,CAAA,CAAA;AACnC;;;;"}
@@ -0,0 +1,193 @@
1
+ import React, { useState, useEffect } from 'react';
2
+ import { Typography, FormControl, Select, MenuItem, Button, Grid } from '@material-ui/core';
3
+ import { Table, Page, Header, Content } from '@backstage/core-components';
4
+ import { useApi } from '@backstage/core-plugin-api';
5
+ import { p as pagerDutyApiRef } from './index-75f25f51.esm.js';
6
+ import { catalogApiRef } from '@backstage/plugin-catalog-react';
7
+ import '@backstage/errors';
8
+ import '@backstage/plugin-home-react';
9
+ import 'luxon';
10
+ import '@material-ui/icons/OpenInBrowser';
11
+ import '../assets/emptystate.svg';
12
+ import 'react-use/lib/useAsyncFn';
13
+ import '@material-ui/lab';
14
+ import '../assets/forbiddenstate.svg';
15
+ import '@material-ui/core/Avatar';
16
+ import '@material-ui/icons/Notifications';
17
+ import 'react-use/lib/useAsync';
18
+ import '@material-ui/icons/Link';
19
+ import '../assets/PD-Green.svg';
20
+ import '../assets/PD-White.svg';
21
+ import 'validate-color';
22
+ import '@material-ui/icons/Info';
23
+ import '@material-ui/icons/CheckCircle';
24
+ import '@material-ui/icons/RadioButtonUnchecked';
25
+ import '@material-ui/core/styles';
26
+ import 'react-use';
27
+ import '@material-ui/lab/Alert/Alert';
28
+ import '@backstage/catalog-model';
29
+ import '@material-ui/icons/AddAlert';
30
+ import '@material-ui/icons/ExpandMore';
31
+
32
+ function getColorFromStatus(status) {
33
+ switch (status) {
34
+ case "InSync":
35
+ return "green";
36
+ case "OutOfSync":
37
+ return "red";
38
+ case "NotMapped":
39
+ return "orange";
40
+ default:
41
+ return "gray";
42
+ }
43
+ }
44
+ const ServiceMappingComponent = () => {
45
+ const [tableData, setTableData] = useState([]);
46
+ const [isLoading, setIsLoading] = useState(true);
47
+ const pagerDutyApi = useApi(pagerDutyApiRef);
48
+ const catalogApi = useApi(catalogApiRef);
49
+ useEffect(() => {
50
+ async function fetchEntities() {
51
+ const { items } = await catalogApi.getEntities({
52
+ filter: { kind: "Component" }
53
+ });
54
+ const backstageServices = [];
55
+ items.forEach((entity) => {
56
+ var _a, _b, _c, _d, _e, _f;
57
+ backstageServices.push({
58
+ name: (_a = entity.metadata) == null ? void 0 : _a.name,
59
+ id: (_c = (_b = entity.metadata) == null ? void 0 : _b.uid) != null ? _c : "",
60
+ system: JSON.stringify((_d = entity.spec) == null ? void 0 : _d.system) || "",
61
+ owner: JSON.stringify((_e = entity.spec) == null ? void 0 : _e.owner) || "",
62
+ lifecycle: JSON.stringify((_f = entity.spec) == null ? void 0 : _f.lifecycle) || ""
63
+ });
64
+ });
65
+ return backstageServices;
66
+ }
67
+ async function fetchServices() {
68
+ const { mappings: foundServices } = await pagerDutyApi.getEntityMappings();
69
+ return foundServices;
70
+ }
71
+ Promise.all([fetchEntities(), fetchServices()]).then(
72
+ ([entities, mappings]) => {
73
+ const data = buildTableData(entities, mappings);
74
+ setTableData(data);
75
+ }
76
+ );
77
+ async function handleMappingChange(service, entityId) {
78
+ service.status = "OutOfSync";
79
+ service.entityRef = entityId;
80
+ await pagerDutyApi.storeServiceMapping(service.serviceId, entityId);
81
+ }
82
+ function buildTableData(entities, mappings) {
83
+ const data = mappings.map((service) => {
84
+ return {
85
+ name: service.serviceName,
86
+ team: service.team,
87
+ escalationPolicy: service.escalationPolicy,
88
+ // status of mapping
89
+ mappingStatus: /* @__PURE__ */ React.createElement(
90
+ Typography,
91
+ {
92
+ variant: "body2",
93
+ style: {
94
+ color: getColorFromStatus(service.status)
95
+ }
96
+ },
97
+ service.status
98
+ ),
99
+ mapping: (
100
+ // dropdown menu with static options. If service.mapping is defined select that option
101
+ /* @__PURE__ */ React.createElement(FormControl, { variant: "standard" }, /* @__PURE__ */ React.createElement(
102
+ Select,
103
+ {
104
+ displayEmpty: true,
105
+ onChange: async (selection) => {
106
+ handleMappingChange(
107
+ service,
108
+ selection.target.value
109
+ );
110
+ },
111
+ value: service.entityRef
112
+ },
113
+ /* @__PURE__ */ React.createElement(MenuItem, { value: "" }, /* @__PURE__ */ React.createElement("em", null, "None")),
114
+ entities.map((backstageService) => {
115
+ return /* @__PURE__ */ React.createElement(
116
+ MenuItem,
117
+ {
118
+ key: backstageService.id,
119
+ value: backstageService.id
120
+ },
121
+ backstageService.name
122
+ );
123
+ })
124
+ ))
125
+ ),
126
+ actions: /* @__PURE__ */ React.createElement(
127
+ Button,
128
+ {
129
+ variant: "contained",
130
+ color: "primary",
131
+ href: service.serviceUrl
132
+ },
133
+ "Open in PagerDuty"
134
+ )
135
+ };
136
+ });
137
+ return data;
138
+ }
139
+ setIsLoading(false);
140
+ }, [catalogApi, pagerDutyApi]);
141
+ const DenseTable = ({ items }) => {
142
+ const [data, setData] = useState([]);
143
+ useEffect(() => {
144
+ setData(items);
145
+ }, [items]);
146
+ const columns = [
147
+ { title: "PagerDuty Service", field: "name" },
148
+ { title: "Team", field: "team" },
149
+ { title: "Escalation Policy", field: "escalationPolicy" },
150
+ { title: "Mapping", field: "mapping" },
151
+ { title: "Status", field: "mappingStatus" },
152
+ { title: "Actions", field: "actions" }
153
+ ];
154
+ return /* @__PURE__ */ React.createElement(
155
+ Table,
156
+ {
157
+ isLoading,
158
+ title: "PagerDuty Service Import",
159
+ subtitle: "Use this page to import services from PagerDuty and map them to existing Backstage services. Only 1:1 mapping is allowed.",
160
+ options: {
161
+ search: true,
162
+ paging: true,
163
+ pageSize: 10,
164
+ pageSizeOptions: [10, 25, 50],
165
+ sorting: true,
166
+ emptyRowsWhenPaging: false,
167
+ showFirstLastPageButtons: true,
168
+ columnResizable: true,
169
+ columnsButton: true,
170
+ rowStyle: {
171
+ height: "10px"
172
+ },
173
+ padding: "dense"
174
+ },
175
+ columns,
176
+ data
177
+ }
178
+ );
179
+ };
180
+ return /* @__PURE__ */ React.createElement(
181
+ DenseTable,
182
+ {
183
+ items: tableData
184
+ }
185
+ );
186
+ };
187
+
188
+ const PagerDutyPage = () => {
189
+ return /* @__PURE__ */ React.createElement(Page, { themeId: "home" }, /* @__PURE__ */ React.createElement(Header, { title: "PagerDuty", subtitle: "Advanced configurations" }), /* @__PURE__ */ React.createElement(Content, null, /* @__PURE__ */ React.createElement(Grid, { container: true, spacing: 3, direction: "column" }, /* @__PURE__ */ React.createElement(Grid, { item: true }, /* @__PURE__ */ React.createElement(ServiceMappingComponent, null)))));
190
+ };
191
+
192
+ export { PagerDutyPage };
193
+ //# sourceMappingURL=index-342ea547.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-342ea547.esm.js","sources":["../../src/components/PagerDutyPage/ServiceMappingComponent.tsx","../../src/components/PagerDutyPage/index.tsx"],"sourcesContent":["import React, { useEffect, useState } from \"react\";\nimport { Table, TableColumn } from \"@backstage/core-components\";\nimport {\n Button,\n FormControl,\n MenuItem,\n Select,\n Typography,\n} from \"@material-ui/core\";\nimport { PagerDutyEntityMapping } from \"@pagerduty/backstage-plugin-common\";\nimport { useApi } from \"@backstage/core-plugin-api\";\nimport { pagerDutyApiRef } from \"../../api\";\nimport { catalogApiRef } from \"@backstage/plugin-catalog-react\";\nimport { Entity } from \"@backstage/catalog-model\";\n\ntype Service = {\n name: string; // \"Ads\"\n id: string; // \"QWe1j283n12j132\"\n system: string; // \"Production\"\n owner: string; // \"Mapped\"\n lifecycle: string; // \"Ads\"\n};\n\n type TableItem = {\n name: string | undefined;\n team: string | undefined;\n escalationPolicy: string | undefined;\n mappingStatus: JSX.Element;\n mapping: JSX.Element;\n actions: JSX.Element;\n };\n\ntype DenseTableProps = {\n items: TableItem[];\n};\n\nfunction getColorFromStatus(status?: string) {\n switch (status) {\n case \"InSync\":\n return \"green\";\n case \"OutOfSync\":\n return \"red\";\n case \"NotMapped\":\n return \"orange\";\n default:\n return \"gray\";\n }\n}\n\n\n\nexport const ServiceMappingComponent = () => {\n // const [catalogEntities, setCatalogEntities] = useState<Service[]>([]);\n // const [serviceMappings, setServiceMappings] = useState<\n // PagerDutyEntityMapping[]\n // >([]);\n const [tableData, setTableData] = useState<TableItem[]>([]);\n const [isLoading, setIsLoading] = useState(true);\n\n const pagerDutyApi = useApi(pagerDutyApiRef);\n const catalogApi = useApi(catalogApiRef);\n\n useEffect(() => {\n async function fetchEntities(): Promise<Service[]> {\n const { items } = await catalogApi.getEntities({\n filter: { kind: \"Component\" },\n });\n\n const backstageServices: Service[] = [];\n items.forEach((entity: Entity) => {\n backstageServices.push({\n name: entity.metadata?.name,\n id: entity.metadata?.uid ?? \"\",\n system: JSON.stringify(entity.spec?.system) || \"\",\n owner: JSON.stringify(entity.spec?.owner) || \"\",\n lifecycle: JSON.stringify(entity.spec?.lifecycle) || \"\",\n });\n });\n\n return backstageServices;\n }\n\n async function fetchServices(): Promise<PagerDutyEntityMapping[]> {\n const { mappings: foundServices } =\n await pagerDutyApi.getEntityMappings();\n\n return foundServices;\n }\n\n Promise.all([fetchEntities(), fetchServices()]).then(\n ([entities, mappings]) => {\n // setCatalogEntities(entities);\n // setServiceMappings(mappings);\n\n const data: TableItem[] = buildTableData(entities, mappings);\n setTableData(data);\n }\n );\n\n async function handleMappingChange(\n service: PagerDutyEntityMapping,\n entityId: string\n ) {\n // update the mapping status\n service.status = \"OutOfSync\";\n\n // update the mapping\n service.entityRef = entityId;\n\n // store the mapping in the database\n await pagerDutyApi.storeServiceMapping(service.serviceId, entityId);\n }\n\n function buildTableData(\n entities: Service[],\n mappings: PagerDutyEntityMapping[]\n ): TableItem[] {\n const data: TableItem[] = mappings.map((service) => {\n return {\n name: service.serviceName,\n team: service.team,\n escalationPolicy: service.escalationPolicy,\n // status of mapping\n mappingStatus: (\n <Typography\n variant=\"body2\"\n style={{\n color: getColorFromStatus(service.status),\n }}\n >\n {service.status}\n </Typography>\n ),\n mapping: (\n // dropdown menu with static options. If service.mapping is defined select that option\n <FormControl variant=\"standard\">\n <Select\n displayEmpty\n onChange={async (selection) => {\n handleMappingChange(\n service,\n selection.target.value as string\n );\n }}\n value={service.entityRef}\n >\n <MenuItem value=\"\">\n <em>None</em>\n </MenuItem>\n {entities.map((backstageService) => {\n return (\n <MenuItem\n key={backstageService.id}\n value={backstageService.id}\n >\n {backstageService.name}\n </MenuItem>\n );\n })}\n </Select>\n </FormControl>\n ),\n actions: (\n <Button\n variant=\"contained\"\n color=\"primary\"\n href={service.serviceUrl}\n >\n Open in PagerDuty\n </Button>\n ),\n };\n });\n\n return data;\n }\n\n setIsLoading(false);\n }, [catalogApi, pagerDutyApi]);\n\n const DenseTable = ({ items }: DenseTableProps) => {\n const [data, setData] = useState<TableItem[]>([]);\n\n useEffect(() => {\n setData(items);\n }, [items]);\n\n const columns: TableColumn[] = [\n { title: \"PagerDuty Service\", field: \"name\" },\n { title: \"Team\", field: \"team\" },\n { title: \"Escalation Policy\", field: \"escalationPolicy\" },\n { title: \"Mapping\", field: \"mapping\" },\n { title: \"Status\", field: \"mappingStatus\" },\n { title: \"Actions\", field: \"actions\" },\n ];\n\n return (\n <Table\n isLoading={isLoading}\n title=\"PagerDuty Service Import\"\n subtitle=\"Use this page to import services from PagerDuty and map them to existing Backstage services. Only 1:1 mapping is allowed.\"\n options={{\n search: true,\n paging: true,\n pageSize: 10,\n pageSizeOptions: [10, 25, 50],\n sorting: true,\n emptyRowsWhenPaging: false,\n showFirstLastPageButtons: true,\n columnResizable: true,\n columnsButton: true,\n rowStyle: {\n height: \"10px\",\n },\n padding: \"dense\",\n }}\n columns={columns}\n data={data}\n />\n );\n };\n\n\n return (\n <DenseTable\n items={tableData}\n />\n );\n};\n","import React from \"react\";\nimport { Grid } from \"@material-ui/core\";\nimport { Header, Page, Content } from \"@backstage/core-components\";\nimport { ServiceMappingComponent } from \"./ServiceMappingComponent\";\n\n/** @public */\nexport const PagerDutyPage = () => {\n // const [toggleImport, setToggleImport] = useState(false);\n // const [toggleSave, setToggleSave] = useState(false);\n\n // const handleImport = () => {\n // setToggleImport(!toggleImport);\n // };\n\n // const handleSave = () => {\n // setToggleSave(!toggleSave);\n // }\n\n return (\n <Page themeId=\"home\">\n <Header title=\"PagerDuty\" subtitle=\"Advanced configurations\" />\n <Content>\n {/* <Grid container spacing={3} direction=\"column\">\n <Grid item alignContent=\"flex-end\">\n <Button variant=\"contained\" color=\"primary\" onClick={() => {handleImport()}}>\n Import\n </Button>\n <Button variant=\"outlined\" color=\"primary\" onClick={() => {handleSave()}}>\n Save\n </Button>\n </Grid>\n </Grid> */}\n <Grid container spacing={3} direction=\"column\">\n <Grid item>\n <ServiceMappingComponent />\n </Grid>\n </Grid>\n </Content>\n </Page>\n );\n};\n"],"names":[],"mappings":"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"}
@@ -229,7 +229,7 @@ const pagerDutyPlugin = createPlugin({
229
229
  const PagerDutyPage = pagerDutyPlugin.provide(
230
230
  createRoutableExtension({
231
231
  name: "PagerDutyPage",
232
- component: () => import('./index-530c316b.esm.js').then((m) => m.PagerDutyPage),
232
+ component: () => import('./index-342ea547.esm.js').then((m) => m.PagerDutyPage),
233
233
  mountPoint: rootRouteRef
234
234
  })
235
235
  );
@@ -257,7 +257,7 @@ const HomePagePagerDutyCard = pagerDutyPlugin.provide(
257
257
  createCardExtension({
258
258
  name: "HomePagePagerDutyCard",
259
259
  title: "PagerDuty Homepage Card",
260
- components: () => import('./index-a6f8b0a3.esm.js'),
260
+ components: () => import('./index-2133fc09.esm.js'),
261
261
  settings: {
262
262
  schema: {
263
263
  title: "PagerDuty",
@@ -1623,4 +1623,4 @@ function TriggerButton(props) {
1623
1623
  const PagerDutyCard = EntityPagerDutyCard;
1624
1624
 
1625
1625
  export { EntityPagerDutyCard$1 as E, HomePagePagerDutyCard as H, PagerDutyCard$1 as P, TriggerButton as T, UnauthorizedError as U, pagerDutyPlugin as a, PagerDutyPage as b, EntityPagerDutySmallCard$1 as c, isPluginApplicableToEntity as d, PagerDutyClient as e, PagerDutyCard as f, isPluginApplicableToEntity$1 as i, pagerDutyApiRef as p };
1626
- //# sourceMappingURL=index-3e6ebb0b.esm.js.map
1626
+ //# sourceMappingURL=index-75f25f51.esm.js.map