@spotify/backstage-plugin-soundcheck 0.14.1 → 0.14.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/CHANGELOG.md +15 -12
- package/alpha/package.json +1 -1
- package/dist/alpha.d.ts +36 -7
- package/dist/api.esm.js +1 -1
- package/dist/components/CampaignForm/Steps/CampaignDetailsStep/CampaignOwnerField.esm.js +1 -1
- package/dist/components/CertificationSidebar/Check.esm.js +1 -1
- package/dist/components/CertificationSidebar/CheckResultSummaryList.esm.js +1 -1
- package/dist/components/CheckDetails/CheckDetails.esm.js +1 -1
- package/dist/components/CheckDetails/CollapseRow.esm.js +2 -0
- package/dist/components/CheckDetails/FixMeDialog.esm.js +2 -0
- package/dist/components/CheckDetails/OngoingTaskComponent.esm.js +2 -0
- package/dist/components/CheckDetails/ResultStateBox.esm.js +1 -1
- package/dist/components/CheckDetails/ReviewStateComponent.esm.js +2 -0
- package/dist/components/CheckDryRun/CheckDryRunDetails.esm.js +1 -1
- package/dist/components/CheckForm/FormFields/RuleInput/Expressions/ExpressionTypeToggle.esm.js +1 -1
- package/dist/components/CheckForm/FormFields/TeamDetailsInput/TeamDetailsInput.esm.js +1 -1
- package/dist/components/CheckPage/FilterBar/FilterBar.esm.js +1 -1
- package/dist/components/ChecksPage/CheckListPage/CheckSummaryCard.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/Configurator.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/Github/GithubConfigurator.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/Gitlab/GitlabConfigurator.esm.js +2 -0
- package/dist/components/CollectorPage/Configurators/Gitlab/utils.esm.js +2 -0
- package/dist/components/CollectorPage/Configurators/NewRelic/NewRelicConfigurator.esm.js +2 -0
- package/dist/components/CollectorPage/Configurators/NewRelic/utils.esm.js +2 -0
- package/dist/components/CollectorsPage/CollectorListPage/CollectorLogo.esm.js +1 -1
- package/dist/components/CollectorsPage/CollectorListPage/CollectorSummaryCard.esm.js +1 -1
- package/dist/components/EntityContent/EntityContent.esm.js +1 -1
- package/dist/components/FormFieldLabel/FormFieldLabel.esm.js +1 -1
- package/dist/components/GroupSelector/GroupSelector.esm.js +1 -1
- package/dist/components/Router.esm.js +1 -1
- package/dist/components/RoutingPage/RoutingPage.esm.js +1 -1
- package/dist/components/SoundcheckHeader/SoundcheckHeaderContext.esm.js +1 -1
- package/dist/components/SoundcheckHeader/useHeader.esm.js +1 -1
- package/dist/components/TrackForm/Steps/TrackDetailsStep/TrackOwnerSelect/TrackOwnerSelect.esm.js +1 -1
- package/dist/components/TrackPage/FilterBar/FilterBar.esm.js +1 -1
- package/dist/components/TrackPage/TrackPage.esm.js +1 -1
- package/dist/contexts/UserProvider.esm.js +1 -1
- package/dist/graphql/generated/index.esm.js +34 -27
- package/dist/hooks/aggregations/useAggregatedTrackPassRateTrend.esm.js +1 -1
- package/dist/hooks/checks/useCreateCheck.esm.js +1 -1
- package/dist/hooks/checks/useDeleteCheck.esm.js +1 -1
- package/dist/hooks/checks/useExecutableChecks.esm.js +2 -0
- package/dist/hooks/checks/useUpdateCheck.esm.js +1 -1
- package/dist/hooks/graphqlKeys.esm.js +1 -1
- package/dist/hooks/groups/useGroupOptions.esm.js +2 -0
- package/dist/images/new-relic-rgb.svg +1 -0
- package/dist/images/new-relic-white.svg +1 -0
- package/package.json +23 -18
- package/dist/components/GroupSelector/useOptions.esm.js +0 -2
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Page as F,TabbedLayout as l}from"@backstage/core-components";import{useApi as s,featureFlagsApiRef as S,configApiRef as L}from"@backstage/core-plugin-api";import{usePermission as
|
|
1
|
+
import{Page as F,TabbedLayout as l}from"@backstage/core-components";import{useApi as s,featureFlagsApiRef as S,configApiRef as L}from"@backstage/core-plugin-api";import{usePermission as m}from"@backstage/plugin-permission-react";import{makeStyles as D,Box as i}from"@material-ui/core";import{SpotifyLicenseBanner as H}from"@spotify/backstage-plugin-core";import{soundcheckCampaignCreatePermission as N,soundcheckCollectorReadPermission as O,soundcheckCheckCreatePermission as B,soundcheckTrackCreatePermission as G}from"@spotify/backstage-plugin-soundcheck-common";import e from"react";import{Routes as Q,Route as t}from"react-router-dom";import"../../contexts/TrackFormContext.esm.js";import"../../contexts/CheckFormContext.esm.js";import"../../contexts/CampaignFormContext.esm.js";import{UserProvider as $}from"../../contexts/UserProvider.esm.js";import q from"../../hooks/useConfirmationModal.esm.js";import{AlertProvider as M}from"../../hooks/useSoundcheckAlert.esm.js";import{CampaignDetailsPage as U}from"../CampaignDetailsPage/CampaignDetailsPage.esm.js";import{CampaignsPage as V}from"../CampaignsPage/CampaignsPage.esm.js";import{CampaignCreatePage as W}from"../CampaignCreatePage/CampaignCreatePage.esm.js";import{EditCampaignView as j}from"../CampaignsPage/EditCampaignView.esm.js";import{CheckCreatePage as z}from"../CheckCreatePage/CheckCreatePage.esm.js";import{CheckPage as J}from"../CheckPage/CheckPage.esm.js";import{CheckInsightsPage as p}from"../CheckPage/CheckInsightsPage.esm.js";import{ChecksTab as K}from"../ChecksTab/ChecksTab.esm.js";import{CheckTemplatesPage as X}from"../CheckTemplatesPage/CheckTemplatesPage.esm.js";import{CollectorPage as Y}from"../CollectorPage/CollectorPage.esm.js";import{CollectorsPage as Z}from"../CollectorsPage/CollectorsPage.esm.js";import{OverviewPageContent as _}from"../OverviewPage/OverviewPageContent.esm.js";import{QuickstartPage as ee}from"../QuickstartPage/QuickstartPage.esm.js";import{SoundcheckHeader as te}from"../SoundcheckHeader/SoundcheckHeader.esm.js";import{SoundcheckHeaderProvider as ae}from"../SoundcheckHeader/SoundcheckHeaderContext.esm.js";import{SoundcheckQueryClientProvider as ne}from"../SoundcheckQueryClientProvider/SoundcheckQueryClientProvider.esm.js";import{TechHealth as le}from"../TechHealth/TechHealth.esm.js";import{TrackCreatePage as re}from"../TrackCreatePage/TrackCreatePage.esm.js";import{TrackEditPage as ce}from"../TrackEditPage/TrackEditPage.esm.js";import{TrackPage as me}from"../TrackPage/TrackPage.esm.js";import{TracksTab as ie}from"../TracksTab/TracksTab.esm.js";const oe=D(r=>({tabContent:{margin:0,padding:0},root:{"& > *":{display:"flex",flexDirection:"column",flexGrow:1}},pageContent:{display:"flex",flexDirection:"row",flexGrow:1},pageLayout:{display:"flex",flexDirection:"column",flex:"1 1 0%",maxWidth:"100%","& > article":{display:"flex",flexDirection:"column",flex:"1 1 auto",padding:`${r.spacing(3)}px !important`}}})),se=({title:r="Soundcheck"})=>{const c=oe(),a=s(S),d=s(L).getOptionalStringArray("soundcheck.flags"),h=(!a.getRegisteredFlags().find(n=>n.name==="soundcheck-enable-tech-health")||a.isActive("soundcheck-enable-tech-health"))&&!d?.includes("soundcheck-disable-tech-health"),u=!a.getRegisteredFlags().find(n=>n.name==="soundcheck-enable-collectors")||a.isActive("soundcheck-enable-collectors"),o=!a.getRegisteredFlags().find(n=>n.name==="soundcheck-enable-campaigns")||a.isActive("soundcheck-enable-campaigns"),{loading:g,allowed:k}=m({permission:N}),f=!g&&k,{loading:E,allowed:C}=m({permission:O}),{loading:b,allowed:P}=m({permission:B}),v=!a.getRegisteredFlags().find(n=>n.name==="soundcheck-enable-check-creation")||a.isActive("soundcheck-enable-check-creation"),x=!b&&P&&v,{loading:R,allowed:w}=m({permission:G}),T=!a.getRegisteredFlags().find(n=>n.name==="soundcheck-enable-track-creation")||a.isActive("soundcheck-enable-track-creation"),I=!R&&w&&T,y=u&&!E&&C,A=h;return e.createElement(M,null,e.createElement($,null,e.createElement(ne,null,e.createElement(ae,{defaultTitle:r},e.createElement(q,null,e.createElement(i,{className:c.root},e.createElement(F,{themeId:"website"},e.createElement(H,{backend:"soundcheck",invalidLicenseMessage:"Submitted facts and check results will still be stored, but it will not be possible to view certifications or individual results until a valid license is present."}),e.createElement(te,{documentTitle:r}),e.createElement(i,{className:c.pageContent},e.createElement(i,{className:c.pageLayout},e.createElement(Q,null,o&&e.createElement(e.Fragment,null,e.createElement(t,{path:"/campaigns/:campaignId/edit",element:e.createElement(j,null)}),e.createElement(t,{path:"/campaigns/:campaignId",element:e.createElement(U,null)}),f&&e.createElement(t,{path:"/campaigns/create",element:e.createElement(W,null)})),e.createElement(t,{path:"/quickstart",element:e.createElement(ee,null)}),e.createElement(t,{path:"/tracks/:trackId/edit",element:e.createElement(ce,null)}),I&&e.createElement(t,{path:"/tracks/create",element:e.createElement(re,null)}),e.createElement(t,{path:"/tracks/:trackId",element:e.createElement(me,null)}),e.createElement(t,{path:"/tracks/:trackId/checks/:checkId",element:e.createElement(p,null)}),e.createElement(t,{path:"/checks/:checkId",element:e.createElement(p,null)}),e.createElement(t,{path:"/checks/:checkId/edit",element:e.createElement(J,null)}),x&&e.createElement(e.Fragment,null,e.createElement(t,{path:"/checks/create",element:e.createElement(z,null)}),e.createElement(t,{path:"/checks/templates",element:e.createElement(X,null)})),e.createElement(t,{path:"/integrations/:integrationId",element:e.createElement(Y,null)}),e.createElement(t,{path:"/*",element:e.createElement(l,null,e.createElement(l.Route,{title:"Overview",path:"/"},e.createElement("div",{className:c.tabContent},e.createElement(_,{campaignsEnabled:!0}))),A&&e.createElement(l.Route,{title:"Tech Health",path:"/tech-health"},e.createElement(le,null)),e.createElement(l.Route,{title:"Checks",path:"/checks"},e.createElement(K,null)),e.createElement(l.Route,{title:"Tracks",path:"/tracks"},e.createElement(ie,null)),o&&e.createElement(l.Route,{title:"Campaigns",path:"/campaigns"},e.createElement(V,null)),y&&e.createElement(l.Route,{title:"Integrations",path:"/integrations"},e.createElement(Z,null)))}))," ")))))))))};export{se as RoutingPage};
|
|
2
2
|
//# sourceMappingURL=RoutingPage.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import
|
|
1
|
+
import k,{createContext as m,useState as e,useCallback as D}from"react";const u=m({title:"Soundcheck",updateTitle:()=>{},updateDescription:()=>{},updateDocLink:()=>{},updateCustomSubtitle:()=>{},updateSectionRight:()=>{},setDefaultTitle:()=>{}}),C=({children:c,defaultTitle:t})=>{const[o,i]=e(t??"Soundcheck"),[d,a]=e(),[n,l]=e(),[r,p]=e(),[s,S]=e(),h=D(()=>{i(t??"Soundcheck")},[t]);return k.createElement(u.Provider,{value:{title:o,updateTitle:i,description:d,updateDescription:a,docLink:n,updateDocLink:l,customSubtitle:r,updateCustomSubtitle:p,sectionRight:s,updateSectionRight:S,setDefaultTitle:h}},c)};export{u as SoundcheckHeaderContext,C as SoundcheckHeaderProvider};
|
|
2
2
|
//# sourceMappingURL=SoundcheckHeaderContext.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{useContext as
|
|
1
|
+
import{useContext as h,useEffect as k}from"react";import{SoundcheckHeaderContext as L}from"./SoundcheckHeaderContext.esm.js";const S={description:void 0,docLink:void 0,customSubtitle:void 0,sectionRight:void 0},R=({title:t,description:e,docLink:i,customSubtitle:o,sectionRight:c})=>{const{updateTitle:u,title:d,updateDescription:s,description:n,docLink:p,updateDocLink:r,customSubtitle:a,updateCustomSubtitle:l,sectionRight:m,updateSectionRight:f,setDefaultTitle:D}=h(L);k(()=>{t?d!==t&&u(t):D(),n!==e&&s(e),p!==i&&r(i),a!==o&&l(o),m!==c&&f(c)},[t,e,u,s,d,n,p,i,r,a,l,o,m,c,f,D])},b=()=>{R(S)};export{S as DEFAULT_HEADER,R as useHeader,b as useSetHeaderDefault};
|
|
2
2
|
//# sourceMappingURL=useHeader.esm.js.map
|
package/dist/components/TrackForm/Steps/TrackDetailsStep/TrackOwnerSelect/TrackOwnerSelect.esm.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{parseEntityRef as E}from"@backstage/catalog-model";import{Typography as i}from"@material-ui/core";import{makeStyles as y}from"@material-ui/core/styles";import{uniqBy as b}from"lodash";import t from"react";import{useFormContext as g}from"react-hook-form";import"../../../../../contexts/TrackFormContext.esm.js";import"../../../../../contexts/CheckFormContext.esm.js";import"../../../../../contexts/CampaignFormContext.esm.js";import{useLoggedInUser as w}from"../../../../../contexts/UserProvider.esm.js";import{
|
|
1
|
+
import{parseEntityRef as E}from"@backstage/catalog-model";import{Typography as i}from"@material-ui/core";import{makeStyles as y}from"@material-ui/core/styles";import{uniqBy as b}from"lodash";import t from"react";import{useFormContext as g}from"react-hook-form";import"../../../../../contexts/TrackFormContext.esm.js";import"../../../../../contexts/CheckFormContext.esm.js";import"../../../../../contexts/CampaignFormContext.esm.js";import{useLoggedInUser as w}from"../../../../../contexts/UserProvider.esm.js";import{useGroupOptions as S}from"../../../../../hooks/groups/useGroupOptions.esm.js";import{FormControlledAutocomplete as x}from"../../../../FormControlledAutocomplete/FormControlledAutocomplete.esm.js";import{useLabelOptions as R}from"../../../../FormControlledAutocomplete/useLabelOptions.esm.js";import"@material-ui/lab";import"../../../../ListboxVirtualized/ListboxVirtualized.esm.js";import"../../../utils/validation.esm.js";import{TRACK_FIELDS as h}from"../../../utils/trackFormUtils.esm.js";const L=y(m=>({container:{display:"flex",flexDirection:"column",gap:m.spacing(1)}})),O=({disabled:m,ownerEntityRef:o})=>{const a=L(),{options:l,isLoading:p}=S(),{user:s,userEntityRef:n}=w(),{control:c,formState:{errors:f}}=g();let e=b(l.map(r=>({value:r.ref,label:r.name})),"value");n&&(e=[{value:n,label:s?.metadata.name},...e]),o&&n!==o&&!e.some(r=>r.value===o)&&(e=[{value:o,label:E(o).name},...e]);const u=R(e),{name:d,description:v}=h.owner;return t.createElement("div",{className:a.container},t.createElement("div",null,t.createElement(i,{variant:"subtitle2"},d),t.createElement(i,{variant:"caption"},v)),t.createElement("div",null,t.createElement(x,{name:"detailsStep.ownerEntityRef",control:c,width:300,freeSolo:!1,disabled:m||p,helperText:f?.detailsStep?.ownerEntityRef?.message??void 0,placeholder:"Owner",...u})))};export{O as TrackOwnerSelect};
|
|
2
2
|
//# sourceMappingURL=TrackOwnerSelect.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{parseEntityRef as
|
|
1
|
+
import{parseEntityRef as B}from"@backstage/catalog-model";import{EntityDisplayName as C}from"@backstage/plugin-catalog-react";import{makeStyles as D,Typography as G,Checkbox as N}from"@material-ui/core";import $ from"@material-ui/icons/Category";import j from"@material-ui/icons/Class";import q from"@material-ui/icons/Group";import z from"@material-ui/icons/Loop";import{toEntityFilterQuery as M}from"@spotify/backstage-plugin-soundcheck-common";import e,{useMemo as f}from"react";import{useGetEntityFacets as n}from"../../../hooks/catalog/useGetEntityFacets.esm.js";import{useGroupOptions as Q}from"../../../hooks/groups/useGroupOptions.esm.js";import l from"../../MultiSelectFilter/MultiSelectFilter.esm.js";const _=D(t=>({root:{display:"flex",flexDirection:"row",alignItems:"center",gap:t.spacing(2)}})),y=(t,{selected:r})=>e.createElement(e.Fragment,null,e.createElement(N,{value:t,checked:r,color:"primary"}),e.createElement(C,{entityRef:t,hideIcon:!0})),A=({track:t,label:r,owners:d,setOwners:E,lifecycles:u,setLifecycles:g,types:b,setTypes:h,systems:F,setSystems:L})=>{const w=_(),o=M(t.filter),{options:s,isLoading:k}=Q(),O=f(()=>s.map(i=>i.ref),[s]),{data:a,isLoading:x}=n("spec.lifecycle",o),{data:m,isLoading:v}=n("spec.type",o),{data:c,isLoading:R}=n("relations.partOf",o),p=f(()=>c?.filter(i=>{try{return B(i).kind.toLowerCase()==="system"}catch{return!1}}),[c]),S=(a||[]).length<=1,T=(m||[]).length<=1,I=(p||[]).length<=1;return e.createElement("div",{className:w.root},r&&e.createElement(G,{variant:"caption"},`${r}:`),e.createElement(l,{name:"system",label:"System",icon:e.createElement($,null),filters:F,setFilters:L,options:p??[],disabled:R||I,customRenderOption:y}),e.createElement(l,{name:"owner",label:"Owner",icon:e.createElement(q,null),filters:d,setFilters:E,options:O??[],disabled:k,customRenderOption:y}),e.createElement(l,{name:"type",label:"Type",icon:e.createElement(j,null),filters:b,setFilters:h,options:m??[],disabled:v||T}),e.createElement(l,{name:"lifecycle",label:"Lifecycle",icon:e.createElement(z,null),filters:u,setFilters:g,options:a??[],disabled:x||S}))};export{A as FilterBar};
|
|
2
2
|
//# sourceMappingURL=FilterBar.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{MarkdownContent as G,Content as
|
|
1
|
+
import{MarkdownContent as G,Content as N}from"@backstage/core-components";import{useRouteRef as Q}from"@backstage/core-plugin-api";import{EntityRefLink as W}from"@backstage/plugin-catalog-react";import{usePermission as T}from"@backstage/plugin-permission-react";import{makeStyles as $,Button as j,Paper as q,Tabs as J,Tab as L}from"@material-ui/core";import{soundcheckTrackReadPermission as K,soundcheckTrackUpdatePermission as X}from"@spotify/backstage-plugin-soundcheck-common";import t,{useState as Y,useMemo as E}from"react";import{useParams as Z,useNavigate as _}from"react-router-dom";import"@backstage/catalog-model";import"@tanstack/react-query";import"../../api.esm.js";import"../../hooks/graphqlKeys.esm.js";import"../../hooks/useSoundcheckAlert.esm.js";import{useGetAllTracks as ee}from"../../hooks/tracks/useGetAllTracks.esm.js";import"../../hooks/useConfirmationModal.esm.js";import{useCertificationStatus as te}from"../../hooks/aggregations/useCertificationStatus.esm.js";import{useCertificationStatusHistory as re}from"../../hooks/aggregations/useCertificationStatusHistory.esm.js";import{useSearchParam as f}from"../../hooks/useSearchParam.esm.js";import{trackEditRouteRef as ie}from"../../routes.esm.js";import{LevelCard as ae}from"../LevelCard/LevelCard.esm.js";import{LoadingIndicator as ne}from"../LoadingIndicator/LoadingIndicator.esm.js";import{PageWarningMessage as oe}from"../PageWarningMessage/PageWarningMessage.esm.js";import"../SoundcheckHeader/SoundcheckHeader.esm.js";import"../SoundcheckHeader/SoundcheckHeaderContext.esm.js";import{useHeader as se}from"../SoundcheckHeader/useHeader.esm.js";import{FilterBar as ce}from"./FilterBar/FilterBar.esm.js";import{TrackEntitiesTable as le}from"./TrackEntitiesTable/TrackEntitiesTable.esm.js";import{TrackProgressCard as me}from"./TrackProgressCard.esm.js";const R=e=>{const{lifecycles:i,owners:c,types:a,systems:m}=e,n=i?.length?{"spec.lifecycle":i}:void 0,d=c?.length?{"relations.ownedBy":c}:void 0,o=a?.length?{"spec.type":a}:void 0,p=m?.length?{"relations.partOf":m}:void 0;if(n||d||o||p)return{...n,...d,...o,...p}},de=$(e=>({root:{height:"100%",background:e.palette.background.default},header:{backgroundColor:e.palette.background.paper,borderRadius:0,marginBottom:e.spacing(2)},trackProgressContainer:{marginBottom:e.spacing(3)},trackContainerContent:{paddingTop:e.spacing(1),paddingBottom:e.spacing(1),backgroundColor:e.palette.background.paper},levelCard:{margin:e.spacing(1,0,2)},editButton:{marginLeft:"auto"},tabsContainer:{margin:e.spacing(3,0)},trackEntitiesContainer:{marginTop:e.spacing(1)},headerDescription:{fontSize:e.typography.body2.fontSize,margin:e.spacing(.5,0,0),"& p":{margin:0},"& a":{color:"inherit",textDecoration:"underline"}},content:{paddingTop:0},ownerLink:{"& span":{color:"inherit","&:hover":{textDecoration:"underline"}}}}));function P({children:e,value:i,index:c}){return t.createElement("div",{hidden:i!==c},i===c&&e)}const pe=()=>{const e=de(),[i,c]=Y(0),[a,m]=f("owners"),[n,d]=f("lifecycles"),[o,p]=f("types"),[l,B]=f("systems"),S=(g,y)=>{c(y)},{trackId:s}=Z(),{data:x,isLoading:u,isError:D}=ee({ids:[s??""],first:1}),r=x?.edges?.[0]?.node,{data:k,isLoading:h,isError:I}=te({trackId:s,filter:R({lifecycles:n,owners:a,types:o,systems:l})},!!s),{data:M,isLoading:O,isError:z}=re({trackId:s,filter:R({lifecycles:n,owners:a,types:o,systems:l}),numberOfDays:30},!!s),{loading:F,allowed:H}=T({permission:K,resourceRef:s}),{loading:v,allowed:C}=T({permission:X,resourceRef:s}),w=_(),b=Q(ie),A=E(()=>r?.ownerEntityRef?t.createElement(W,{color:"inherit",entityRef:r.ownerEntityRef,className:e.ownerLink}):null,[r?.ownerEntityRef,e.ownerLink]),U=E(()=>!v&&C&&r?.isEditable?t.createElement(j,{className:e.editButton,variant:"contained",color:"primary",onClick:()=>{w(b({trackId:r.id}))}},"Edit Track"):null,[C,e.editButton,b,v,w,r]),V=E(()=>r?.description?t.createElement(G,{className:e.headerDescription,content:r.description}):null,[e.headerDescription,r?.description]);return se({title:r?.name,description:V,customSubtitle:A,sectionRight:U}),t.createElement("div",null,t.createElement(oe,{entityName:"track",entityId:s,showNotFound:!u&&!r,showCannotView:!F&&!H}),u&&t.createElement(ne,null),r&&t.createElement("div",{className:e.root},t.createElement(q,{elevation:1,className:e.header},t.createElement(N,{className:e.trackContainerContent},t.createElement(ce,{track:r,owners:a,setOwners:m,lifecycles:n,setLifecycles:d,types:o,setTypes:p,systems:l,setSystems:B}))),t.createElement(N,{className:e.content},t.createElement("div",{className:e.trackProgressContainer},t.createElement(me,{track:r,status:k,history:M,isLoading:u||h||O,isError:D||I||z})),t.createElement("div",{className:e.tabsContainer},t.createElement(J,{value:i,onChange:S},t.createElement(L,{label:"Levels"}),t.createElement(L,{label:"Entities"})),t.createElement(P,{value:i,index:0},r&&r.levels?.map((g,y)=>t.createElement("div",{className:e.levelCard,key:g.ordinal},t.createElement(ae,{track:r,level:g,index:y,data:k,isLoading:u||h,lifecycles:n,owners:a,types:o,systems:l})))),t.createElement(P,{value:i,index:1},r&&t.createElement("div",{className:e.trackEntitiesContainer},t.createElement(le,{track:r,lifecycles:n,owners:a,types:o,systems:l})))))))};export{pe as TrackPage};
|
|
2
2
|
//# sourceMappingURL=TrackPage.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{stringifyEntityRef as m}from"@backstage/catalog-model";import{useApi as a,identityApiRef as d}from"@backstage/core-plugin-api";import{catalogApiRef as p}from"@backstage/plugin-catalog-react";import y,{createContext as E,useState as R,useEffect as v,useContext as
|
|
1
|
+
import{stringifyEntityRef as m}from"@backstage/catalog-model";import{useApi as a,identityApiRef as d}from"@backstage/core-plugin-api";import{catalogApiRef as p}from"@backstage/plugin-catalog-react";import y,{createContext as E,useState as R,useEffect as v,useContext as A}from"react";import x from"react-use/lib/useAsync";const l={loading:!0},f=E(l),C=()=>A(f),P=({children:u})=>{const[c,n]=R(l),s=a(p),t=a(d),{value:e,loading:r,error:o}=x(async()=>{const[{token:i},g]=await Promise.all([t.getCredentials(),t.getBackstageIdentity()]);return i?await s.getEntityByRef(g.userEntityRef):null},[s,t]);return v(()=>{if(e){const i=m(e);n({user:e,userEntityRef:i,loading:r,error:o})}else n({loading:r,error:o})},[e,r,o]),y.createElement(f.Provider,{value:c},u)};export{P as UserProvider,C as useLoggedInUser};
|
|
2
2
|
//# sourceMappingURL=UserProvider.esm.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import i from"graphql-tag";var
|
|
1
|
+
import i from"graphql-tag";var o=(a=>(a.Medal="MEDAL",a))(o||{}),c=(a=>(a.Lifecycle="LIFECYCLE",a.Name="NAME",a.Owner="OWNER",a.State="STATE",a.System="SYSTEM",a.Type="TYPE",a))(c||{}),l=(a=>(a.Asc="ASC",a.Desc="DESC",a))(l||{}),g=(a=>(a.Error="ERROR",a.Failed="FAILED",a.NotApplicable="NOT_APPLICABLE",a.NotReported="NOT_REPORTED",a.Passed="PASSED",a.Warning="WARNING",a))(g||{}),p=(a=>(a.CertificationLevel="CERTIFICATION_LEVEL",a.CheckPassRate="CHECK_PASS_RATE",a.Lifecycle="LIFECYCLE",a.Name="NAME",a.Owner="OWNER",a.System="SYSTEM",a.Type="TYPE",a))(p||{});const d=i`
|
|
2
2
|
fragment CertificationSummary on Certification {
|
|
3
3
|
entityRef
|
|
4
4
|
program {
|
|
@@ -63,7 +63,7 @@ import i from"graphql-tag";var u=(a=>(a.Medal="MEDAL",a))(u||{}),c=(a=>(a.Lifecy
|
|
|
63
63
|
result
|
|
64
64
|
timestamp
|
|
65
65
|
}
|
|
66
|
-
`,
|
|
66
|
+
`,u=i`
|
|
67
67
|
fragment LevelResultDetails on LevelResult {
|
|
68
68
|
ordinal
|
|
69
69
|
name
|
|
@@ -165,7 +165,7 @@ import i from"graphql-tag";var u=(a=>(a.Medal="MEDAL",a))(u||{}),c=(a=>(a.Lifecy
|
|
|
165
165
|
description
|
|
166
166
|
}
|
|
167
167
|
}
|
|
168
|
-
|
|
168
|
+
`,q=i`
|
|
169
169
|
mutation createProgram($input: ProgramInput!) {
|
|
170
170
|
program: createProgram(input: $input) {
|
|
171
171
|
id
|
|
@@ -175,7 +175,7 @@ import i from"graphql-tag";var u=(a=>(a.Medal="MEDAL",a))(u||{}),c=(a=>(a.Lifecy
|
|
|
175
175
|
documentationURL
|
|
176
176
|
}
|
|
177
177
|
}
|
|
178
|
-
|
|
178
|
+
`,$=i`
|
|
179
179
|
mutation deleteCampaign($campaignId: String!) {
|
|
180
180
|
campaignDeleted: deleteCampaign(campaignId: $campaignId)
|
|
181
181
|
}
|
|
@@ -328,7 +328,7 @@ import i from"graphql-tag";var u=(a=>(a.Medal="MEDAL",a))(u||{}),c=(a=>(a.Lifecy
|
|
|
328
328
|
}
|
|
329
329
|
}
|
|
330
330
|
${f}
|
|
331
|
-
${m}`,
|
|
331
|
+
${m}`,b=i`
|
|
332
332
|
query getCertificationDetails($entityRef: String!) {
|
|
333
333
|
certifications(entityRef: $entityRef, includeFilteredChecks: false) {
|
|
334
334
|
program {
|
|
@@ -346,7 +346,7 @@ ${m}`,A=i`
|
|
|
346
346
|
}
|
|
347
347
|
}
|
|
348
348
|
${s}
|
|
349
|
-
${
|
|
349
|
+
${u}`,A=i`
|
|
350
350
|
query getCertificationDetailsForTrack($entityRef: String!, $programId: String!) {
|
|
351
351
|
programCertification(
|
|
352
352
|
entityRef: $entityRef
|
|
@@ -369,7 +369,7 @@ ${o}`,H=i`
|
|
|
369
369
|
}
|
|
370
370
|
}
|
|
371
371
|
${s}
|
|
372
|
-
${
|
|
372
|
+
${u}`,H=i`
|
|
373
373
|
query getCertificationStatus($input: CertificationStatusInput!) {
|
|
374
374
|
certificationStatus(input: $input) {
|
|
375
375
|
numberOfEntities
|
|
@@ -383,7 +383,7 @@ ${o}`,b=i`
|
|
|
383
383
|
}
|
|
384
384
|
}
|
|
385
385
|
}
|
|
386
|
-
`,
|
|
386
|
+
`,x=i`
|
|
387
387
|
query getCertificationStatusHistory($input: CertificationStatusHistoryInput!) {
|
|
388
388
|
certificationStatusHistory(input: $input) {
|
|
389
389
|
numberOfEntities
|
|
@@ -399,7 +399,7 @@ ${o}`,b=i`
|
|
|
399
399
|
}
|
|
400
400
|
}
|
|
401
401
|
}
|
|
402
|
-
`,
|
|
402
|
+
`,M=i`
|
|
403
403
|
query getCheckResultDetails($entityRef: String!, $programId: String!, $checkId: String!) {
|
|
404
404
|
checkResult(entityRef: $entityRef, programId: $programId, checkId: $checkId) {
|
|
405
405
|
...CheckResultDetails
|
|
@@ -493,6 +493,7 @@ ${o}`,b=i`
|
|
|
493
493
|
isEditable
|
|
494
494
|
schedule
|
|
495
495
|
pathResolver
|
|
496
|
+
templateRef
|
|
496
497
|
}
|
|
497
498
|
}
|
|
498
499
|
pageInfo {
|
|
@@ -508,6 +509,10 @@ ${o}`,b=i`
|
|
|
508
509
|
entityRefsForTechHealthFilter(ownerEntityRef: $ownerEntityRef)
|
|
509
510
|
}
|
|
510
511
|
`,j=i`
|
|
512
|
+
query getExecutableChecks {
|
|
513
|
+
executableChecks
|
|
514
|
+
}
|
|
515
|
+
`,z=i`
|
|
511
516
|
query getFacetsForOwner($ownerEntityRef: String!) {
|
|
512
517
|
facetsForOwner(ownerEntityRef: $ownerEntityRef) {
|
|
513
518
|
types {
|
|
@@ -517,7 +522,7 @@ ${o}`,b=i`
|
|
|
517
522
|
}
|
|
518
523
|
}
|
|
519
524
|
}
|
|
520
|
-
`,
|
|
525
|
+
`,J=i`
|
|
521
526
|
query getFact($entityRef: String!, $factRef: String!, $path: String, $pathResolver: String, $refresh: Boolean) {
|
|
522
527
|
fact(
|
|
523
528
|
entityRef: $entityRef
|
|
@@ -541,7 +546,7 @@ ${o}`,b=i`
|
|
|
541
546
|
resolvedValue
|
|
542
547
|
}
|
|
543
548
|
}
|
|
544
|
-
`,
|
|
549
|
+
`,Q=i`
|
|
545
550
|
query getCollectors($ids: [String!]) {
|
|
546
551
|
collectors(ids: $ids) {
|
|
547
552
|
id
|
|
@@ -559,13 +564,13 @@ ${o}`,b=i`
|
|
|
559
564
|
}
|
|
560
565
|
}
|
|
561
566
|
}
|
|
562
|
-
`,
|
|
567
|
+
`,X=i`
|
|
563
568
|
query getFactSchemas($collectorId: String!, $factName: String!) {
|
|
564
569
|
factSchema(collectorId: $collectorId, factName: $factName) {
|
|
565
570
|
schema
|
|
566
571
|
}
|
|
567
572
|
}
|
|
568
|
-
`,
|
|
573
|
+
`,Z=i`
|
|
569
574
|
query getIndividualCheckPassRates($filter: Filter) {
|
|
570
575
|
individualCheckPassRates(filter: $filter) {
|
|
571
576
|
id
|
|
@@ -576,7 +581,7 @@ ${o}`,b=i`
|
|
|
576
581
|
trendPassRates
|
|
577
582
|
}
|
|
578
583
|
}
|
|
579
|
-
`,
|
|
584
|
+
`,ee=i`
|
|
580
585
|
query getIndividualEntityPassRates($input: PassRatesInput) {
|
|
581
586
|
individualEntityPassRates(input: $input) {
|
|
582
587
|
totalCount
|
|
@@ -598,7 +603,7 @@ ${o}`,b=i`
|
|
|
598
603
|
}
|
|
599
604
|
}
|
|
600
605
|
}
|
|
601
|
-
`,
|
|
606
|
+
`,te=i`
|
|
602
607
|
query getIndividualGroupPassRates($input: PassRatesInput) {
|
|
603
608
|
groupPassRates(input: $input) {
|
|
604
609
|
totalCount
|
|
@@ -620,7 +625,7 @@ ${o}`,b=i`
|
|
|
620
625
|
}
|
|
621
626
|
}
|
|
622
627
|
}
|
|
623
|
-
`,
|
|
628
|
+
`,re=i`
|
|
624
629
|
query getIndividualTrackPassRate($filter: Filter) {
|
|
625
630
|
individualTrackPassRate(filter: $filter) {
|
|
626
631
|
id
|
|
@@ -635,25 +640,25 @@ ${o}`,b=i`
|
|
|
635
640
|
}
|
|
636
641
|
}
|
|
637
642
|
}
|
|
638
|
-
`,
|
|
643
|
+
`,ae=i`
|
|
639
644
|
query getOperators {
|
|
640
645
|
operators {
|
|
641
646
|
name
|
|
642
647
|
title
|
|
643
648
|
}
|
|
644
649
|
}
|
|
645
|
-
`,
|
|
650
|
+
`,ie=i`
|
|
646
651
|
query getOverallCheckPassRates($filter: Filter) {
|
|
647
652
|
overallCheckPassRates(filter: $filter)
|
|
648
653
|
}
|
|
649
|
-
`,
|
|
654
|
+
`,ne=i`
|
|
650
655
|
query getOverallEntityPassRates($filter: Filter) {
|
|
651
656
|
overallEntityPassRates(filter: $filter) {
|
|
652
657
|
id
|
|
653
658
|
trendPassRates
|
|
654
659
|
}
|
|
655
660
|
}
|
|
656
|
-
`,
|
|
661
|
+
`,se=i`
|
|
657
662
|
query getOverallGroupPassRates($input: PassRatesInput) {
|
|
658
663
|
groupPassRates(input: $input) {
|
|
659
664
|
totalCount
|
|
@@ -673,7 +678,7 @@ ${o}`,b=i`
|
|
|
673
678
|
}
|
|
674
679
|
}
|
|
675
680
|
}
|
|
676
|
-
`,
|
|
681
|
+
`,ue=i`
|
|
677
682
|
query getOverallTrackPassRate($filter: Filter) {
|
|
678
683
|
overallTrackPassRate(filter: $filter) {
|
|
679
684
|
levelOrdinal
|
|
@@ -687,7 +692,7 @@ ${o}`,b=i`
|
|
|
687
692
|
id
|
|
688
693
|
}
|
|
689
694
|
}
|
|
690
|
-
`,
|
|
695
|
+
`,ce=i`
|
|
691
696
|
query getPlaylists($entityRef: String!) {
|
|
692
697
|
playlists(entityRef: $entityRef) {
|
|
693
698
|
id
|
|
@@ -697,7 +702,7 @@ ${o}`,b=i`
|
|
|
697
702
|
trackIds
|
|
698
703
|
}
|
|
699
704
|
}
|
|
700
|
-
`,
|
|
705
|
+
`,le=i`
|
|
701
706
|
query getProgramOverviewForOwner($ownerEntityRef: String!, $facet: FacetInput, $first: Int, $after: String, $entitySearch: String) {
|
|
702
707
|
programOverviewForOwner(
|
|
703
708
|
ownerEntityRef: $ownerEntityRef
|
|
@@ -728,7 +733,7 @@ ${o}`,b=i`
|
|
|
728
733
|
}
|
|
729
734
|
}
|
|
730
735
|
${s}
|
|
731
|
-
${y}`,
|
|
736
|
+
${y}`,ge=i`
|
|
732
737
|
query getTrackEntities($input: TrackEntitiesInput!) {
|
|
733
738
|
trackEntities(input: $input) {
|
|
734
739
|
totalCount
|
|
@@ -754,12 +759,14 @@ ${y}`,le=i`
|
|
|
754
759
|
passed
|
|
755
760
|
failed
|
|
756
761
|
warning
|
|
762
|
+
error
|
|
757
763
|
notApplicable
|
|
758
764
|
notReported
|
|
759
765
|
statusByLevel {
|
|
760
766
|
ordinal
|
|
761
767
|
passed
|
|
762
768
|
failed
|
|
769
|
+
error
|
|
763
770
|
warning
|
|
764
771
|
notApplicable
|
|
765
772
|
notReported
|
|
@@ -769,11 +776,11 @@ ${y}`,le=i`
|
|
|
769
776
|
}
|
|
770
777
|
}
|
|
771
778
|
}
|
|
772
|
-
`,
|
|
779
|
+
`,pe=i`
|
|
773
780
|
query getTrackOwners {
|
|
774
781
|
trackOwners
|
|
775
782
|
}
|
|
776
|
-
`,
|
|
783
|
+
`,de=i`
|
|
777
784
|
query getTracks($filter: ListEntityFilter!) {
|
|
778
785
|
programs(filter: $filter) {
|
|
779
786
|
totalCount
|
|
@@ -801,5 +808,5 @@ ${y}`,le=i`
|
|
|
801
808
|
}
|
|
802
809
|
}
|
|
803
810
|
}
|
|
804
|
-
${R}`,
|
|
811
|
+
${R}`,me=(a,n,e,t)=>a();function fe(a,n=me){return{archiveCampaign(e,t){return n(r=>a.request(k,e,{...t,...r}),"archiveCampaign","mutation",e)},createCampaign(e,t){return n(r=>a.request(v,e,{...t,...r}),"createCampaign","mutation",e)},createCheck(e,t){return n(r=>a.request(P,e,{...t,...r}),"createCheck","mutation",e)},createProgram(e,t){return n(r=>a.request(q,e,{...t,...r}),"createProgram","mutation",e)},deleteCampaign(e,t){return n(r=>a.request($,e,{...t,...r}),"deleteCampaign","mutation",e)},deleteChecker(e,t){return n(r=>a.request(D,e,{...t,...r}),"deleteChecker","mutation",e)},deleteProgram(e,t){return n(r=>a.request(E,e,{...t,...r}),"deleteProgram","mutation",e)},executeCheck(e,t){return n(r=>a.request(S,e,{...t,...r}),"executeCheck","mutation",e)},updateCampaign(e,t){return n(r=>a.request(I,e,{...t,...r}),"updateCampaign","mutation",e)},updateCheck(e,t){return n(r=>a.request(O,e,{...t,...r}),"updateCheck","mutation",e)},updateCollectorConfig(e,t){return n(r=>a.request(F,e,{...t,...r}),"updateCollectorConfig","mutation",e)},updateProgram(e,t){return n(r=>a.request(w,e,{...t,...r}),"updateProgram","mutation",e)},getAllCertifications(e,t){return n(r=>a.request(T,e,{...t,...r}),"getAllCertifications","query",e)},getCampaignOwners(e,t){return n(r=>a.request(L,e,{...t,...r}),"getCampaignOwners","query",e)},getCampaignProgress(e,t){return n(r=>a.request(G,e,{...t,...r}),"getCampaignProgress","query",e)},getCampaigns(e,t){return n(r=>a.request(N,e,{...t,...r}),"getCampaigns","query",e)},getCertificationDetails(e,t){return n(r=>a.request(b,e,{...t,...r}),"getCertificationDetails","query",e)},getCertificationDetailsForTrack(e,t){return n(r=>a.request(A,e,{...t,...r}),"getCertificationDetailsForTrack","query",e)},getCertificationStatus(e,t){return n(r=>a.request(H,e,{...t,...r}),"getCertificationStatus","query",e)},getCertificationStatusHistory(e,t){return n(r=>a.request(x,e,{...t,...r}),"getCertificationStatusHistory","query",e)},getCheckResultDetails(e,t){return n(r=>a.request(M,e,{...t,...r}),"getCheckResultDetails","query",e)},getCheckEntities(e,t){return n(r=>a.request(B,e,{...t,...r}),"getCheckEntities","query",e)},getCheckOwners(e,t){return n(r=>a.request(U,e,{...t,...r}),"getCheckOwners","query",e)},getCheckStatus(e,t){return n(r=>a.request(V,e,{...t,...r}),"getCheckStatus","query",e)},getCheckStatusHistory(e,t){return n(r=>a.request(Y,e,{...t,...r}),"getCheckStatusHistory","query",e)},getCheckTemplates(e,t){return n(r=>a.request(_,e,{...t,...r}),"getCheckTemplates","query",e)},getCheckers(e,t){return n(r=>a.request(W,e,{...t,...r}),"getCheckers","query",e)},getEntityRefsForTechHealthFilter(e,t){return n(r=>a.request(K,e,{...t,...r}),"getEntityRefsForTechHealthFilter","query",e)},getExecutableChecks(e,t){return n(r=>a.request(j,e,{...t,...r}),"getExecutableChecks","query",e)},getFacetsForOwner(e,t){return n(r=>a.request(z,e,{...t,...r}),"getFacetsForOwner","query",e)},getFact(e,t){return n(r=>a.request(J,e,{...t,...r}),"getFact","query",e)},getCollectors(e,t){return n(r=>a.request(Q,e,{...t,...r}),"getCollectors","query",e)},getFactSchemas(e,t){return n(r=>a.request(X,e,{...t,...r}),"getFactSchemas","query",e)},getIndividualCheckPassRates(e,t){return n(r=>a.request(Z,e,{...t,...r}),"getIndividualCheckPassRates","query",e)},getIndividualEntityPassRates(e,t){return n(r=>a.request(ee,e,{...t,...r}),"getIndividualEntityPassRates","query",e)},getIndividualGroupPassRates(e,t){return n(r=>a.request(te,e,{...t,...r}),"getIndividualGroupPassRates","query",e)},getIndividualTrackPassRate(e,t){return n(r=>a.request(re,e,{...t,...r}),"getIndividualTrackPassRate","query",e)},getOperators(e,t){return n(r=>a.request(ae,e,{...t,...r}),"getOperators","query",e)},getOverallCheckPassRates(e,t){return n(r=>a.request(ie,e,{...t,...r}),"getOverallCheckPassRates","query",e)},getOverallEntityPassRates(e,t){return n(r=>a.request(ne,e,{...t,...r}),"getOverallEntityPassRates","query",e)},getOverallGroupPassRates(e,t){return n(r=>a.request(se,e,{...t,...r}),"getOverallGroupPassRates","query",e)},getOverallTrackPassRate(e,t){return n(r=>a.request(ue,e,{...t,...r}),"getOverallTrackPassRate","query",e)},getPathResolvers(e,t){return n(r=>a.request(oe,e,{...t,...r}),"getPathResolvers","query",e)},getPlaylists(e,t){return n(r=>a.request(ce,e,{...t,...r}),"getPlaylists","query",e)},getProgramOverviewForOwner(e,t){return n(r=>a.request(le,e,{...t,...r}),"getProgramOverviewForOwner","query",e)},getTrackEntities(e,t){return n(r=>a.request(ge,e,{...t,...r}),"getTrackEntities","query",e)},getTrackOwners(e,t){return n(r=>a.request(pe,e,{...t,...r}),"getTrackOwners","query",e)},getTracks(e,t){return n(r=>a.request(de,e,{...t,...r}),"getTracks","query",e)}}}export{k as ArchiveCampaignDocument,o as BadgeVariant,m as CampaignLevelFragmentDoc,d as CertificationSummaryFragmentDoc,c as CheckEntityField,h as CheckResultDetailsFragmentDoc,C as CheckResultSummaryFragmentDoc,v as CreateCampaignDocument,P as CreateCheckDocument,q as CreateProgramDocument,$ as DeleteCampaignDocument,D as DeleteCheckerDocument,E as DeleteProgramDocument,l as Direction,S as ExecuteCheckDocument,T as GetAllCertificationsDocument,L as GetCampaignOwnersDocument,G as GetCampaignProgressDocument,N as GetCampaignsDocument,b as GetCertificationDetailsDocument,A as GetCertificationDetailsForTrackDocument,H as GetCertificationStatusDocument,x as GetCertificationStatusHistoryDocument,B as GetCheckEntitiesDocument,U as GetCheckOwnersDocument,M as GetCheckResultDetailsDocument,V as GetCheckStatusDocument,Y as GetCheckStatusHistoryDocument,_ as GetCheckTemplatesDocument,W as GetCheckersDocument,Q as GetCollectorsDocument,K as GetEntityRefsForTechHealthFilterDocument,j as GetExecutableChecksDocument,z as GetFacetsForOwnerDocument,J as GetFactDocument,X as GetFactSchemasDocument,Z as GetIndividualCheckPassRatesDocument,ee as GetIndividualEntityPassRatesDocument,te as GetIndividualGroupPassRatesDocument,re as GetIndividualTrackPassRateDocument,ae as GetOperatorsDocument,ie as GetOverallCheckPassRatesDocument,ne as GetOverallEntityPassRatesDocument,se as GetOverallGroupPassRatesDocument,ue as GetOverallTrackPassRateDocument,oe as GetPathResolversDocument,ce as GetPlaylistsDocument,le as GetProgramOverviewForOwnerDocument,ge as GetTrackEntitiesDocument,pe as GetTrackOwnersDocument,de as GetTracksDocument,s as HighestLevelFragmentDoc,u as LevelResultDetailsFragmentDoc,f as MilestoneFragmentDoc,y as OverviewLevelResultFragmentDoc,g as ResultState,p as TrackEntityField,R as TrackLevelFragmentDoc,I as UpdateCampaignDocument,O as UpdateCheckDocument,F as UpdateCollectorConfigDocument,w as UpdateProgramDocument,fe as getSdk};
|
|
805
812
|
//# sourceMappingURL=index.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{useApi as
|
|
1
|
+
import{useApi as t}from"@backstage/core-plugin-api";import{useQuery as s}from"@tanstack/react-query";import{soundcheckApiRef as a}from"../../api.esm.js";import{QueryKeys as o}from"../graphqlKeys.esm.js";const c=(e,n)=>{const r=t(a);return s([o.GetOverallTrackPassRateTrends,e],async()=>r.getOverallTrackPassRate(e),{staleTime:12*60*60*1e3,refetchInterval:!1,refetchOnWindowFocus:!1,enabled:!0})};export{c as useAggregatedTrackPassRateTrend};
|
|
2
2
|
//# sourceMappingURL=useAggregatedTrackPassRateTrend.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{useApi as
|
|
1
|
+
import{useApi as a}from"@backstage/core-plugin-api";import{useQueryClient as n,useMutation as u}from"@tanstack/react-query";import{soundcheckApiRef as l}from"../../api.esm.js";import{MutationKeys as h,QueryKeys as o}from"../graphqlKeys.esm.js";import{useSoundcheckAlert as m}from"../useSoundcheckAlert.esm.js";const y="Error Creating Check";function k(){const i=a(l),t=n(),{showAlert:s}=m(),c=async r=>{const e=await i.createCheck(r);if(!e)throw new Error("Failed to create check.");return e};return u([h.CreateCheck],c,{onSuccess:()=>{Promise.all([t.invalidateQueries({queryKey:[o.GetChecks]}),t.invalidateQueries({queryKey:[o.GetCheckOwners]}),t.invalidateQueries({queryKey:[o.ExecutableChecks]})])},onError:r=>{let e="Failed to create check.";r instanceof Error&&(e=r.message),s({severity:"error",title:y,message:e})}})}export{k as useCreateCheck};
|
|
2
2
|
//# sourceMappingURL=useCreateCheck.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{useApi as u}from"@backstage/core-plugin-api";import{useQueryClient as l,useMutation as a}from"@tanstack/react-query";import{soundcheckApiRef as m}from"../../api.esm.js";import{MutationKeys as
|
|
1
|
+
import{useApi as u}from"@backstage/core-plugin-api";import{useQueryClient as l,useMutation as a}from"@tanstack/react-query";import{soundcheckApiRef as m}from"../../api.esm.js";import{MutationKeys as y,QueryKeys as o}from"../graphqlKeys.esm.js";import{useSoundcheckAlert as h}from"../useSoundcheckAlert.esm.js";const d="Error Deleting Check";function k(){const s=u(m),r=l(),{showAlert:c}=h(),n=async e=>{const t=await s.deleteCheck(e);if(!t)throw new Error(`Failed to delete check ${e}`);return t};return a([y.DeleteCheck],n,{onSuccess:()=>Promise.all([r.invalidateQueries({queryKey:[o.GetChecks]}),r.invalidateQueries({queryKey:[o.GetAllPrograms]}),r.invalidateQueries({queryKey:[o.GetCheckOwners]}),r.invalidateQueries({queryKey:[o.ExecutableChecks]})]),onError:(e,t)=>{let i=`Failed to delete check ${t}`;e instanceof Error&&(i=e.message),c({severity:"error",title:d,message:i})}})}export{k as useDeleteCheck};
|
|
2
2
|
//# sourceMappingURL=useDeleteCheck.esm.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{useApi as r}from"@backstage/core-plugin-api";import{useQuery as t}from"@tanstack/react-query";import{soundcheckApiRef as c}from"../../api.esm.js";import{QueryKeys as o}from"../graphqlKeys.esm.js";function s(){const e=r(c);return t([o.ExecutableChecks],async()=>e.getExecutableChecks(),{staleTime:5*60*1e3,refetchInterval:!1,refetchOnWindowFocus:!1})}export{s as useExecutableChecks};
|
|
2
|
+
//# sourceMappingURL=useExecutableChecks.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{useApi as
|
|
1
|
+
import{useApi as u}from"@backstage/core-plugin-api";import{useQueryClient as a,useMutation as n}from"@tanstack/react-query";import{soundcheckApiRef as h}from"../../api.esm.js";import{MutationKeys as l,QueryKeys as o}from"../graphqlKeys.esm.js";import{useSoundcheckAlert as m}from"../useSoundcheckAlert.esm.js";const p="Error Creating Check";function d(){const i=u(h),t=a(),{showAlert:s}=m(),c=async r=>{const e=await i.updateCheck(r);if(!e)throw new Error("Failed to update check.");return e};return n([l.UpdateCheck],c,{onSuccess:()=>{Promise.all([t.invalidateQueries({queryKey:[o.GetChecks]}),t.invalidateQueries({queryKey:[o.GetCheckOwners]}),t.invalidateQueries({queryKey:[o.ExecutableChecks]})])},onError:r=>{let e="Failed to update check.";r instanceof Error&&(e=r.message),s({severity:"error",title:p,message:e})}})}export{d as useUpdateCheck};
|
|
2
2
|
//# sourceMappingURL=useUpdateCheck.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var t=(e=>(e.GetAllPrograms="soundcheck/programs",e.GetChecks="soundcheck/checks",e.GetCollectors="soundcheck/collectors",e.GetFactSchema="soundcheck/collectors/schema",e.GetEntityFacets="soundcheck/catalog/facets",e.GetSoftwareEntityRefsForUser="soundcheck/entities/softwareEntityRefsForUser",e.GetEntityRefs="soundcheck/catalog/entityRefs",e.GetCampaigns="soundcheck/campaigns",e.GetCampaignProgress="soundcheck/campaigns/getCampaignProgress",e.GetOverallCheckPassRateTrends="soundcheck/charts/overallCheckPassRateTrends",e.GetIndividualCheckPassRateTrends="soundcheck/charts/getIndividualCheckPassRateTrends",e.GetOverallTrackPassRateTrends="soundcheck/charts/overallTrackPassRateTrends",e.GetIndividualTrackPassRateTrends="soundcheck/charts/individualTrackPassRateTrends",e.GetOverallEntityPassRateTrends="soundcheck/charts/overallEntityPassRateTrends",e.GetIndividualEntityPassRateTrends="soundcheck/charts/individualEntityPassRateTrends",e.GetOverallGroupPassRateTrends="soundcheck/charts/overallGroupPassRateTrends",e.GetIndividualGroupPassRateTrends="soundcheck/charts/individualGroupPassRateTrends",e.EntityByRef="soundcheck/catalog/entityByRef",e.EntitiesByRefs="soundcheck/catalog/entitiesByRef",e.TrackEntities="soundcheck/track/entities",e.CheckEntities="soundcheck/check/entities",e.CertificationStatus="soundcheck/certificationStatus",e.CertificationStatusHistory="soundcheck/certificationStatusHistory",e.CheckStatus="soundcheck/checkStatus",e.CheckStatusHistory="soundcheck/checkStatusHistory",e.CheckDetails="soundcheck/checkDetails",e.Certifications="soundcheck/certifications",e.CertificationDetails="soundcheck/certificationDetails",e.GetCheckOwners="soundcheck/checks/getOwners",e.GetTrackOwners="soundcheck/tracks/getOwners",e.GetCampaignOwners="soundcheck/campaigns/getOwners",e.CheckTemplates="soundcheck/checkTemplates",e))(t||{}),s=(e=>(e.DeleteCheck="soundcheck/deleteCheck",e.CreateCheck="soundcheck/createCheck",e.UpdateCheck="soundcheck/updateCheck",e.ExecuteCheck="soundcheck/executeCheck",e.DeleteProgram="soundcheck/deleteProgram",e.CreateProgram="soundcheck/createProgram",e.UpdateProgram="soundcheck/updateProgram",e.UpdateCollectorConfig="soundcheck/updateCollectorConfig",e.CreateCampaign="soundcheck/createCampaign",e.UpdateCampaign="soundcheck/updateCampaign",e.DeleteCampaign="soundcheck/deleteCampaign",e.ArchiveCampaign="soundcheck/archiveCampaign",e))(s||{});export{s as MutationKeys,t as QueryKeys};
|
|
1
|
+
var t=(e=>(e.GetAllPrograms="soundcheck/programs",e.GetChecks="soundcheck/checks",e.GetCollectors="soundcheck/collectors",e.GetFactSchema="soundcheck/collectors/schema",e.GetEntityFacets="soundcheck/catalog/facets",e.GetSoftwareEntityRefsForUser="soundcheck/entities/softwareEntityRefsForUser",e.GetEntityRefs="soundcheck/catalog/entityRefs",e.ExecutableChecks="soundcheck/executableChecks",e.GetCampaigns="soundcheck/campaigns",e.GetCampaignProgress="soundcheck/campaigns/getCampaignProgress",e.GetOverallCheckPassRateTrends="soundcheck/charts/overallCheckPassRateTrends",e.GetIndividualCheckPassRateTrends="soundcheck/charts/getIndividualCheckPassRateTrends",e.GetOverallTrackPassRateTrends="soundcheck/charts/overallTrackPassRateTrends",e.GetIndividualTrackPassRateTrends="soundcheck/charts/individualTrackPassRateTrends",e.GetOverallEntityPassRateTrends="soundcheck/charts/overallEntityPassRateTrends",e.GetIndividualEntityPassRateTrends="soundcheck/charts/individualEntityPassRateTrends",e.GetOverallGroupPassRateTrends="soundcheck/charts/overallGroupPassRateTrends",e.GetIndividualGroupPassRateTrends="soundcheck/charts/individualGroupPassRateTrends",e.EntityByRef="soundcheck/catalog/entityByRef",e.EntitiesByRefs="soundcheck/catalog/entitiesByRef",e.TrackEntities="soundcheck/track/entities",e.CheckEntities="soundcheck/check/entities",e.CertificationStatus="soundcheck/certificationStatus",e.CertificationStatusHistory="soundcheck/certificationStatusHistory",e.CheckStatus="soundcheck/checkStatus",e.CheckStatusHistory="soundcheck/checkStatusHistory",e.CheckDetails="soundcheck/checkDetails",e.Certifications="soundcheck/certifications",e.CertificationDetails="soundcheck/certificationDetails",e.GetCheckOwners="soundcheck/checks/getOwners",e.GetTrackOwners="soundcheck/tracks/getOwners",e.GetCampaignOwners="soundcheck/campaigns/getOwners",e.GetTrackRelatedGroups="soundcheck/track/getTrackRelatedGroups",e.CheckTemplates="soundcheck/checkTemplates",e))(t||{}),s=(e=>(e.DeleteCheck="soundcheck/deleteCheck",e.CreateCheck="soundcheck/createCheck",e.UpdateCheck="soundcheck/updateCheck",e.ExecuteCheck="soundcheck/executeCheck",e.DeleteProgram="soundcheck/deleteProgram",e.CreateProgram="soundcheck/createProgram",e.UpdateProgram="soundcheck/updateProgram",e.UpdateCollectorConfig="soundcheck/updateCollectorConfig",e.CreateCampaign="soundcheck/createCampaign",e.UpdateCampaign="soundcheck/updateCampaign",e.DeleteCampaign="soundcheck/deleteCampaign",e.ArchiveCampaign="soundcheck/archiveCampaign",e))(s||{});export{s as MutationKeys,t as QueryKeys};
|
|
2
2
|
//# sourceMappingURL=graphqlKeys.esm.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{useMemo as u}from"react";import"@backstage/catalog-model";import"@backstage/core-plugin-api";import"@tanstack/react-query";import"../../api.esm.js";import"../graphqlKeys.esm.js";import{useAllGroups as f}from"./useAllGroups.esm.js";import{useUsersGroupClaims as l}from"./useUsersGroupClaims.esm.js";import"../useSoundcheckAlert.esm.js";import"../useConfirmationModal.esm.js";import"react-router-dom";const c=()=>{const{data:s,isLoading:i,isError:p}=l(),{data:t,isLoading:m,isError:a}=f();return{options:u(()=>{const o=new Map;return s&&s.forEach(({name:e,ref:r,type:n})=>{o.set(`${r}`,{name:e,ref:r,type:n,key:"My Groups"})}),t&&t.forEach(({name:e,ref:r})=>{o.has(`${r}`)||o.set(`${r}`,{name:e,ref:r,key:"All Groups"})}),[...o.values()]},[s,t]),isLoading:i||m,isError:p||a}};export{c as useGroupOptions};
|
|
2
|
+
//# sourceMappingURL=useGroupOptions.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 819 158.97"><defs><style>.cls-1{fill:#00ac69;}.cls-2{fill:#1ce783;}.cls-3{fill:#1d252c;}</style></defs><polygon class="cls-1" points="111.19 55.03 111.19 103.94 68.84 128.4 68.84 158.97 137.68 119.23 137.68 39.74 111.19 55.03"/><polygon class="cls-2" points="68.84 30.58 111.19 55.03 137.68 39.74 137.68 39.74 68.84 0 0 39.74 0 39.74 26.48 55.03 68.84 30.58"/><polygon class="cls-3" points="42.36 94.78 42.36 143.69 68.84 158.97 68.84 79.49 0 39.74 0 70.32 42.36 94.78"/><path class="cls-3" d="M242.17,50.14c-14.82,0-21.84,9.36-21.84,9.36h-.78L218,51.7H200.05v79.56h19.5v-46c0-10.14,7-17.16,17.16-17.16s17.16,7,17.16,17.16v46h19.5V83.68C273.37,63.4,260.11,50.14,242.17,50.14Z" transform="translate(-10 -10.51)"/><polygon class="cls-3" points="442.47 93.45 441.35 93.45 428.09 41.19 408.25 41.19 394.99 93.45 393.88 93.45 380.61 41.19 360.33 41.19 380.61 120.75 404.36 120.75 417.61 69.27 418.73 69.27 431.99 120.75 455.73 120.75 476.01 41.19 455.73 41.19 442.47 93.45"/><path class="cls-3" d="M545.72,58.72h-.78l-1.56-7H527v79.55h19.5v-46c0-10.14,4.68-14.82,14.82-14.82h10V51.71h-11.6A17.56,17.56,0,0,0,545.72,58.72Z" transform="translate(-10 -10.51)"/><path class="cls-3" d="M614.47,50.14c-23.39,0-40.55,17.16-40.55,41.34s16.19,41.34,40.55,41.34c19.73,0,31.61-11.61,36.56-20.15l-17.9-6.38c-1.77,3.24-8.91,9.47-18.66,9.47-11.37,0-19.49-7.12-21.05-18h59.27a35.38,35.38,0,0,0,.78-7.8C653.47,67.3,636.31,50.14,614.47,50.14ZM593.42,84.46c2.34-10.14,9.36-17.94,21.05-17.94,10.93,0,17.94,7.8,19.5,17.94Z" transform="translate(-10 -10.51)"/><path class="cls-3" d="M326.4,50.14c-23.4,0-40.56,17.16-40.56,41.34S302,132.82,326.4,132.82c19.73,0,31.6-11.61,36.55-20.15l-17.9-6.38c-1.77,3.24-8.9,9.47-18.65,9.47-11.37,0-19.5-7.12-21.06-18h59.28a35.38,35.38,0,0,0,.78-7.8C365.4,67.3,348.24,50.14,326.4,50.14ZM305.34,84.46c2.34-10.14,9.36-17.94,21.06-17.94,10.92,0,17.94,7.8,19.5,17.94Z" transform="translate(-10 -10.51)"/><rect class="cls-3" x="692.14" y="9.78" width="19.5" height="19.5"/><path class="cls-3" d="M775.45,114.88c-11.7,0-21.06-9.36-21.06-23.4s9.36-23.4,21.06-23.4,16.38,7.8,17.94,12.48l17.66-6.28c-4.28-11.11-14.78-24.14-35.6-24.14-23.4,0-40.56,17.16-40.56,41.34s17.16,41.34,40.56,41.34c21,0,31.5-13.24,35.7-24.88l-17.76-6.32C791.83,107.08,787.15,114.88,775.45,114.88Z" transform="translate(-10 -10.51)"/><polygon class="cls-3" points="645.63 27.11 656.7 27.11 656.7 120.75 676.2 120.75 676.2 9.78 645.63 9.78 645.63 27.11"/><rect class="cls-3" x="692.14" y="41.19" width="19.5" height="79.56"/><path class="cls-3" d="M821.59,116a7.52,7.52,0,1,0,7.41,7.52A7.28,7.28,0,0,0,821.59,116Zm0,13.89a6.37,6.37,0,1,1,6.26-6.37A6.12,6.12,0,0,1,821.59,129.85Z" transform="translate(-10 -10.51)"/><path class="cls-3" d="M824.82,122.13a2.64,2.64,0,0,0-2.82-2.62h-3.34v7.84h1.15v-2.72h1.05l2.71,2.72H825l-2.71-2.72A2.53,2.53,0,0,0,824.82,122.13Zm-5,1.35v-2.82H822a1.5,1.5,0,0,1,1.68,1.47c0,.83-.53,1.35-1.68,1.35Z" transform="translate(-10 -10.51)"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 819 158.97"><defs><style>.cls-1{fill:#fff;}</style></defs><path class="cls-1" d="M242.17,50.14c-14.82,0-21.84,9.36-21.84,9.36h-.78L218,51.7H200.05v79.56h19.5v-46c0-10.14,7-17.16,17.16-17.16s17.16,7,17.16,17.16v46h19.5V83.68C273.37,63.4,260.11,50.14,242.17,50.14Z" transform="translate(-10 -10.51)"/><polygon class="cls-1" points="442.47 93.45 441.35 93.45 428.09 41.19 408.25 41.19 394.99 93.45 393.88 93.45 380.61 41.19 360.33 41.19 380.61 120.75 404.36 120.75 417.61 69.27 418.73 69.27 431.99 120.75 455.73 120.75 476.01 41.19 455.73 41.19 442.47 93.45"/><path class="cls-1" d="M545.72,58.72h-.78l-1.56-7H527v79.55h19.5v-46c0-10.14,4.68-14.82,14.82-14.82h10V51.71h-11.6A17.56,17.56,0,0,0,545.72,58.72Z" transform="translate(-10 -10.51)"/><path class="cls-1" d="M614.47,50.14c-23.39,0-40.55,17.16-40.55,41.34s16.19,41.34,40.55,41.34c19.73,0,31.61-11.61,36.56-20.15l-17.9-6.38c-1.77,3.24-8.91,9.47-18.66,9.47-11.37,0-19.49-7.12-21.05-18h59.27a35.38,35.38,0,0,0,.78-7.8C653.47,67.3,636.31,50.14,614.47,50.14ZM593.42,84.46c2.34-10.14,9.36-17.94,21.05-17.94,10.93,0,17.94,7.8,19.5,17.94Z" transform="translate(-10 -10.51)"/><path class="cls-1" d="M326.4,50.14c-23.4,0-40.56,17.16-40.56,41.34S302,132.82,326.4,132.82c19.73,0,31.6-11.61,36.55-20.15l-17.9-6.38c-1.77,3.24-8.9,9.47-18.65,9.47-11.37,0-19.5-7.12-21.06-18h59.28a35.38,35.38,0,0,0,.78-7.8C365.4,67.3,348.24,50.14,326.4,50.14ZM305.34,84.46c2.34-10.14,9.36-17.94,21.06-17.94,10.92,0,17.94,7.8,19.5,17.94Z" transform="translate(-10 -10.51)"/><rect class="cls-1" x="692.14" y="9.78" width="19.5" height="19.5"/><path class="cls-1" d="M775.45,114.88c-11.7,0-21.06-9.36-21.06-23.4s9.36-23.4,21.06-23.4,16.38,7.8,17.94,12.48l17.66-6.28c-4.28-11.11-14.78-24.14-35.6-24.14-23.4,0-40.56,17.16-40.56,41.34s17.16,41.34,40.56,41.34c21,0,31.5-13.24,35.7-24.88l-17.76-6.32C791.83,107.08,787.15,114.88,775.45,114.88Z" transform="translate(-10 -10.51)"/><polygon class="cls-1" points="645.63 27.11 656.7 27.11 656.7 120.75 676.2 120.75 676.2 9.78 645.63 9.78 645.63 27.11"/><rect class="cls-1" x="692.14" y="41.19" width="19.5" height="79.56"/><path class="cls-1" d="M821.59,116a7.52,7.52,0,1,0,7.41,7.52A7.28,7.28,0,0,0,821.59,116Zm0,13.89a6.37,6.37,0,1,1,6.26-6.37A6.12,6.12,0,0,1,821.59,129.85Z" transform="translate(-10 -10.51)"/><path class="cls-1" d="M824.82,122.13a2.64,2.64,0,0,0-2.82-2.62h-3.34v7.84h1.15v-2.72h1.05l2.71,2.72H825l-2.71-2.72A2.53,2.53,0,0,0,824.82,122.13Zm-5,1.35v-2.82H822a1.5,1.5,0,0,1,1.68,1.47c0,.83-.53,1.35-1.68,1.35Z" transform="translate(-10 -10.51)"/><polygon class="cls-1" points="68.84 0 8.05 35.09 34.53 50.38 68.84 30.58 111.19 55.03 111.19 103.94 76.89 123.75 76.89 154.33 137.68 119.23 137.68 39.74 68.84 0"/><polygon class="cls-1" points="42.36 94.78 42.36 143.69 68.84 158.97 68.84 79.49 0 39.74 0 70.32 42.36 94.78"/></svg>
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@spotify/backstage-plugin-soundcheck",
|
|
3
3
|
"description": "Ensure quality, reliability and alignment of software development with codified checks and guidance.",
|
|
4
|
-
"version": "0.14.
|
|
4
|
+
"version": "0.14.2",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
6
6
|
"homepage": "https://backstage.spotify.com",
|
|
7
7
|
"main": "./dist/index.esm.js",
|
|
@@ -25,6 +25,7 @@
|
|
|
25
25
|
"default": "./dist/index.esm.js"
|
|
26
26
|
},
|
|
27
27
|
"./alpha": {
|
|
28
|
+
"backstage": "@backstage/FrontendPlugin",
|
|
28
29
|
"import": "./dist/alpha.esm.js",
|
|
29
30
|
"types": "./dist/alpha.d.ts",
|
|
30
31
|
"default": "./dist/alpha.esm.js"
|
|
@@ -44,14 +45,15 @@
|
|
|
44
45
|
"prepare": "yarn generate"
|
|
45
46
|
},
|
|
46
47
|
"dependencies": {
|
|
47
|
-
"@backstage/catalog-client": "^1.7.
|
|
48
|
+
"@backstage/catalog-client": "^1.7.1",
|
|
48
49
|
"@backstage/catalog-model": "^1.7.0",
|
|
49
|
-
"@backstage/core-compat-api": "^0.3.
|
|
50
|
-
"@backstage/core-components": "^0.15.
|
|
51
|
-
"@backstage/core-plugin-api": "^1.
|
|
52
|
-
"@backstage/frontend-plugin-api": "^0.
|
|
53
|
-
"@backstage/plugin-catalog-react": "^1.
|
|
54
|
-
"@backstage/plugin-permission-react": "^0.4.
|
|
50
|
+
"@backstage/core-compat-api": "^0.3.1",
|
|
51
|
+
"@backstage/core-components": "^0.15.1",
|
|
52
|
+
"@backstage/core-plugin-api": "^1.10.0",
|
|
53
|
+
"@backstage/frontend-plugin-api": "^0.9.0",
|
|
54
|
+
"@backstage/plugin-catalog-react": "^1.14.0",
|
|
55
|
+
"@backstage/plugin-permission-react": "^0.4.27",
|
|
56
|
+
"@backstage/plugin-scaffolder-react": "^1.13.0",
|
|
55
57
|
"@backstage/types": "^1.1.1",
|
|
56
58
|
"@date-io/luxon": "^1.0.0",
|
|
57
59
|
"@hookform/resolvers": "^3.3.2",
|
|
@@ -59,8 +61,9 @@
|
|
|
59
61
|
"@material-ui/icons": "^4.9.1",
|
|
60
62
|
"@material-ui/lab": "4.0.0-alpha.61",
|
|
61
63
|
"@material-ui/pickers": "3.3.11",
|
|
62
|
-
"@
|
|
63
|
-
"@spotify/backstage-plugin-
|
|
64
|
+
"@mui/styles": "^5.14.7",
|
|
65
|
+
"@spotify/backstage-plugin-core": "^0.8.2",
|
|
66
|
+
"@spotify/backstage-plugin-soundcheck-common": "^0.14.2",
|
|
64
67
|
"@tanstack/react-query": "^4.6.1",
|
|
65
68
|
"@types/react-csv": "^1.1.6",
|
|
66
69
|
"@uiw/react-md-editor": "3.20.10",
|
|
@@ -68,6 +71,7 @@
|
|
|
68
71
|
"cron-validate": "^1.4.5",
|
|
69
72
|
"cronstrue": "^2.28.0",
|
|
70
73
|
"framer-motion": "^6.0.0",
|
|
74
|
+
"git-url-parse": "^15.0.0",
|
|
71
75
|
"graphql-request": "6.1.0",
|
|
72
76
|
"js-yaml": "^4.1.0",
|
|
73
77
|
"lodash": "^4.17.21",
|
|
@@ -92,23 +96,24 @@
|
|
|
92
96
|
"react-router-dom": "6.0.0-beta.0 || ^6.3.0"
|
|
93
97
|
},
|
|
94
98
|
"devDependencies": {
|
|
95
|
-
"@backstage/cli": "^0.
|
|
96
|
-
"@backstage/core-app-api": "^1.15.
|
|
97
|
-
"@backstage/dev-utils": "^1.1.
|
|
99
|
+
"@backstage/cli": "^0.28.0",
|
|
100
|
+
"@backstage/core-app-api": "^1.15.1",
|
|
101
|
+
"@backstage/dev-utils": "^1.1.2",
|
|
98
102
|
"@backstage/e2e-test-utils": "^0.1.1",
|
|
99
|
-
"@backstage/frontend-test-utils": "^0.2.
|
|
100
|
-
"@backstage/test-utils": "^1.
|
|
103
|
+
"@backstage/frontend-test-utils": "^0.2.1",
|
|
104
|
+
"@backstage/test-utils": "^1.7.0",
|
|
101
105
|
"@graphql-codegen/cli": "^5.0.0",
|
|
102
106
|
"@graphql-codegen/typescript": "^4.0.0",
|
|
103
107
|
"@graphql-codegen/typescript-graphql-request": "^6.0.0",
|
|
104
108
|
"@graphql-codegen/typescript-operations": "^4.0.0",
|
|
105
109
|
"@playwright/test": "^1.32.3",
|
|
106
|
-
"@sp4b-dev/test-utils": "^0.0.
|
|
107
|
-
"@spotify/backstage-plugin-core-common": "^0.6.
|
|
108
|
-
"@spotify/backstage-plugin-soundcheck-node": "^0.8.
|
|
110
|
+
"@sp4b-dev/test-utils": "^0.0.8",
|
|
111
|
+
"@spotify/backstage-plugin-core-common": "^0.6.2",
|
|
112
|
+
"@spotify/backstage-plugin-soundcheck-node": "^0.8.3",
|
|
109
113
|
"@testing-library/jest-dom": "^6.0.0",
|
|
110
114
|
"@testing-library/react": "^14.0.0",
|
|
111
115
|
"@testing-library/user-event": "^14.0.0",
|
|
116
|
+
"@types/git-url-parse": "^9.0.0",
|
|
112
117
|
"@types/jest": "^29.4.0",
|
|
113
118
|
"@types/luxon": "^3.0.1",
|
|
114
119
|
"@types/node": "^20.0.0",
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{useMemo as u}from"react";import"@backstage/catalog-model";import"@backstage/core-plugin-api";import"@tanstack/react-query";import"../../api.esm.js";import"../../hooks/graphqlKeys.esm.js";import{useAllGroups as f}from"../../hooks/groups/useAllGroups.esm.js";import{useUsersGroupClaims as l}from"../../hooks/groups/useUsersGroupClaims.esm.js";import"../../hooks/useSoundcheckAlert.esm.js";import"../../hooks/useConfirmationModal.esm.js";import"react-router-dom";const c=()=>{const{data:s,isLoading:i,isError:p}=l(),{data:t,isLoading:m,isError:a}=f();return{options:u(()=>{const o=new Map;return s&&s.forEach(({name:e,ref:r,type:n})=>{o.set(`${r}`,{name:e,ref:r,type:n,key:"My Groups"})}),t&&t.forEach(({name:e,ref:r})=>{o.has(`${r}`)||o.set(`${r}`,{name:e,ref:r,key:"All Groups"})}),[...o.values()]},[s,t]),isLoading:i||m,isError:p||a}};export{c as useOptions};
|
|
2
|
-
//# sourceMappingURL=useOptions.esm.js.map
|