{"version":3,"sources":["src/app/store/incidents/incidentSchemas.service.ts","src/app/store/incidents/incidents.state.ts","src/app/store/incidents/incidentSchemaDetails.actions.ts","src/app/store/incidents/incidentSchemaDetails.state.ts","src/app/store/incidents/incidents.state.module.ts"],"sourcesContent":["import { inject, Injectable } from '@angular/core';\nimport { Apollo, gql } from 'apollo-angular';\nimport { map, Observable } from 'rxjs';\nimport {\n  mapGQLResponse,\n  toIdentifiableEntities,\n} from 'src/app/helpers/graphql';\nimport {\n  IncidentSchema,\n  IncidentSchemaTaskTemplateLink,\n  IncidentSchemaVersion,\n} from 'src/app/models/incident-schema';\nimport { TaskTemplateSpec } from 'src/app/models/task';\nimport { IdentifiableEntities } from 'src/app/store/common/list-entity';\n\nexport const LIST_INCIDENT_SCHEMAS_QUERY = gql`\n  query ListIncidentSchemas($organizationId: ID!) {\n    incidentSchemas(organizationId: $organizationId) {\n      schemas {\n        id\n        name\n        type\n        currentVersion {\n          id\n          version\n        }\n      }\n    }\n  }\n`;\n\nexport const GET_INCIDENT_SCHEMA_QUERY = gql`\n  query GetIncidentSchemas($organizationId: ID!, $schemaId: ID!) {\n    incidentSchema(organizationId: $organizationId, schemaId: $schemaId) {\n      id\n      name\n      type\n      currentVersion {\n        id\n        version\n        states {\n          id\n          name\n          order\n          color\n          icon\n          isDefault\n          isResolved\n        }\n        priorities {\n          id\n          name\n          order\n          color\n          icon\n        }\n        impactLinks {\n          id\n          impact {\n            name\n            order\n            color\n            icon\n            scope\n          }\n        }\n      }\n    }\n  }\n`;\n\nexport const GET_INCIDENT_SCHEMA_TASK_TEMPLATES_QUERY = gql`\n  query GetIncidentSchemaTaskTemplates($organizationId: ID!, $schemaId: ID!) {\n    incidentSchema(organizationId: $organizationId, schemaId: $schemaId) {\n      currentVersion {\n        taskTemplates {\n          linkId\n          template {\n            id\n            name\n            description\n            createdAt\n            updatedAt\n          }\n        }\n      }\n    }\n  }\n`;\n\nexport const GET_INCIDENT_SCHEMA_VERSION_QUERY = gql`\n  query GetIncidentSchemaVersion($organizationId: ID!, $schameVersionId: ID!) {\n    incidentSchemaVersion(\n      organizationId: $organizationId\n      schemaVersionId: $schameVersionId\n    ) {\n      id\n      version\n      states {\n        id\n        name\n        order\n        color\n        icon\n        isDefault\n        isResolved\n      }\n      priorities {\n        id\n        name\n        order\n        color\n        icon\n      }\n    }\n  }\n`;\n\nconst CREATE_INCIDENT_SCHEMA_TASK_TEMPLATE_MUTATION = gql`\n  mutation CreateIncidentSchemaTaskTemplate(\n    $organizationId: ID!\n    $schemaVersionId: ID!\n    $taskTemplateSpec: IncidentSchemaTaskTemplateSpec!\n  ) {\n    createIncidentSchemaTaskTemplate(\n      organizationId: $organizationId\n      schemaVersionId: $schemaVersionId\n      taskTemplateSpec: $taskTemplateSpec\n    ) {\n      linkId\n      template {\n        id\n        name\n        description\n        createdAt\n        updatedAt\n      }\n    }\n  }\n`;\n\nconst UPDATE_INCIDENT_SCHEMA_TASK_TEMPLATE_MUTATION = gql`\n  mutation UpdateIncidentSchemaTaskTemplate(\n    $organizationId: ID!\n    $linkId: ID!\n    $taskTemplateSpec: IncidentSchemaTaskTemplateSpec!\n  ) {\n    updateIncidentSchemaTaskTemplate(\n      organizationId: $organizationId\n      linkId: $linkId\n      taskTemplateSpec: $taskTemplateSpec\n    ) {\n      linkId\n      template {\n        id\n        name\n        description\n        createdAt\n        updatedAt\n      }\n    }\n  }\n`;\n\nconst DELETE_INCIDENT_SCHEMA_TASK_TEMPLATE_MUTATION = gql`\n  mutation DeleteIncidentSchemaTaskTemplate(\n    $organizationId: ID!\n    $linkId: ID!\n  ) {\n    deleteIncidentSchemaTaskTemplate(\n      organizationId: $organizationId\n      linkId: $linkId\n    )\n  }\n`;\n\n@Injectable()\nexport class IncidentSchemasService {\n  private apollo = inject(Apollo);\n\n  listIncidentSchemas(\n    organizationId: string\n  ): Observable<IdentifiableEntities<IncidentSchema>> {\n    return this.apollo\n      .query<{ incidentSchemas: { schemas: IncidentSchema[] } }>({\n        query: LIST_INCIDENT_SCHEMAS_QUERY,\n        variables: {\n          organizationId: organizationId,\n        },\n      })\n      .pipe(\n        map(data => {\n          return toIdentifiableEntities(\n            data.data.incidentSchemas.schemas.map(schema => {\n              return {\n                ...schema,\n                createdAt: new Date(\n                  Date.parse(schema.createdAt as unknown as string)\n                ),\n              };\n            }),\n            'id'\n          );\n        })\n      );\n  }\n\n  getIncidentSchema(\n    organizationId: string,\n    schemaId: string\n  ): Observable<IncidentSchema> {\n    return this.apollo\n      .query<{ incidentSchema: IncidentSchema }>({\n        query: GET_INCIDENT_SCHEMA_QUERY,\n        variables: {\n          organizationId: organizationId,\n          schemaId: schemaId,\n        },\n      })\n      .pipe(\n        map(data => {\n          return data.data.incidentSchema;\n        })\n      );\n  }\n\n  getIncidentSchemaVersion(\n    organizationId: string,\n    schemaVersionId: string\n  ): Observable<IncidentSchemaVersion> {\n    return this.apollo\n      .query<{ incidentSchemaVersion: IncidentSchemaVersion }>({\n        query: GET_INCIDENT_SCHEMA_VERSION_QUERY,\n        variables: {\n          organizationId: organizationId,\n          schameVersionId: schemaVersionId,\n        },\n      })\n      .pipe(\n        map(data => {\n          return mapGQLResponse<{\n            incidentSchemaVersion: IncidentSchemaVersion;\n          }>(data, 'incidentSchemaVersion');\n        })\n      );\n  }\n\n  getIncidentSchemaTaskTemplates(\n    organizationId: string,\n    schemaId: string\n  ): Observable<IdentifiableEntities<IncidentSchemaTaskTemplateLink>> {\n    return this.apollo\n      .query<{\n        incidentSchema: {\n          currentVersion: { taskTemplates: IncidentSchemaTaskTemplateLink[] };\n        };\n      }>({\n        query: GET_INCIDENT_SCHEMA_TASK_TEMPLATES_QUERY,\n        variables: {\n          organizationId: organizationId,\n          schemaId: schemaId,\n        },\n      })\n      .pipe(\n        map(data => {\n          return toIdentifiableEntities(\n            data.data.incidentSchema.currentVersion.taskTemplates,\n            'linkId'\n          );\n        })\n      );\n  }\n\n  createIncidentSchemaTaskTemplate(\n    organizationId: string,\n    schemaVersionId: string,\n    taskTemplateSpec: TaskTemplateSpec\n  ): Observable<IncidentSchemaTaskTemplateLink> {\n    return this.apollo\n      .mutate<{\n        createIncidentSchemaTaskTemplate: IncidentSchemaTaskTemplateLink;\n      }>({\n        mutation: CREATE_INCIDENT_SCHEMA_TASK_TEMPLATE_MUTATION,\n        variables: {\n          organizationId: organizationId,\n          schemaVersionId: schemaVersionId,\n          taskTemplateSpec: taskTemplateSpec,\n        },\n      })\n      .pipe(\n        map(data => {\n          if (data.errors) {\n            throw new Error(data.errors[0].message);\n          }\n          return data.data!.createIncidentSchemaTaskTemplate;\n        })\n      );\n  }\n\n  updateIncidentSchemaTaskTemplate(\n    organizationId: string,\n    linkId: string,\n    taskTemplateSpec: TaskTemplateSpec\n  ): Observable<IncidentSchemaTaskTemplateLink> {\n    return this.apollo\n      .mutate<{\n        updateIncidentSchemaTaskTemplate: IncidentSchemaTaskTemplateLink;\n      }>({\n        mutation: UPDATE_INCIDENT_SCHEMA_TASK_TEMPLATE_MUTATION,\n        variables: {\n          organizationId: organizationId,\n          linkId: linkId,\n          taskTemplateSpec: taskTemplateSpec,\n        },\n      })\n      .pipe(\n        map(data => {\n          if (data.errors) {\n            throw new Error(data.errors[0].message);\n          }\n          return data.data!.updateIncidentSchemaTaskTemplate;\n        })\n      );\n  }\n\n  deleteIncidentSchemaTaskTemplate(\n    organizationId: string,\n    linkId: string\n  ): Observable<boolean> {\n    return this.apollo\n      .mutate<{\n        deleteIncidentSchemaTaskTemplate: boolean;\n      }>({\n        mutation: DELETE_INCIDENT_SCHEMA_TASK_TEMPLATE_MUTATION,\n        variables: {\n          organizationId: organizationId,\n          linkId: linkId,\n        },\n      })\n      .pipe(\n        map(data => {\n          return mapGQLResponse<{\n            deleteIncidentSchemaTaskTemplate: boolean;\n          }>(data, 'deleteIncidentSchemaTaskTemplate');\n        })\n      );\n  }\n}\n","import { inject, Injectable } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport {\n  Action,\n  createSelector,\n  Selector,\n  State,\n  StateContext,\n  Store,\n} from '@ngxs/store';\nimport { catchError, tap } from 'rxjs';\nimport { Incident } from 'src/app/models/incident';\nimport {\n  IncidentSchema,\n  IncidentSchemaVersion,\n} from 'src/app/models/incident-schema';\nimport { MenuService } from 'src/app/services/menu/menu.service';\nimport { ToastService } from 'src/app/services/toast/toast.service';\nimport { Entity, loadEntity, NewEntity } from 'src/app/store/common/entity';\nimport {\n  ListEntities,\n  loadEntities,\n  NewListEntities,\n  removeListEntity,\n  updateListEntity,\n} from 'src/app/store/common/list-entity';\nimport {\n  PaginatedListEntities,\n  PaginatedListEntitiesState,\n} from 'src/app/store/common/paginated-list-entity';\nimport {\n  OffsetPagination,\n  OffsetPaginationState,\n} from 'src/app/store/common/pagination';\nimport { UserState } from 'src/app/store/user/user.state';\nimport {\n  CreateIncidentAction,\n  DeleteIncidentAction,\n  IncidentCreatedAction,\n  LoadIncidents,\n  LoadIncidentSchemasAction,\n  LoadIncidentSchemaVersionAction,\n  UpdateIncidentPriorityAction,\n  UpdateIncidentStateAction,\n} from './incidents.actions';\nimport { IncidentsService } from './incidents.service';\nimport { IncidentSchemasService } from './incidentSchemas.service';\n\nexport interface IncidentsStateModel {\n  incidents: PaginatedListEntitiesState<Incident, OffsetPaginationState>;\n  schemas: ListEntities<IncidentSchema>;\n  currentSchemaVersion: Entity<IncidentSchemaVersion>;\n}\n\nexport type HasProperty<Key extends keyof any, Value> = Record<Key, Value>;\n\n@State<IncidentsStateModel>({\n  name: 'incidents',\n  defaults: {\n    incidents: OffsetPagination.GetDefaultState(),\n    schemas: NewListEntities(),\n    currentSchemaVersion: NewEntity(),\n  },\n})\n@Injectable()\nexport class IncidentsState {\n  store = inject(Store);\n  incidentsService = inject(IncidentsService);\n  incidentSchemasService = inject(IncidentSchemasService);\n  menuService = inject(MenuService);\n  toastService = inject(ToastService);\n  translate = inject(TranslateService);\n\n  incidentPagination = new PaginatedListEntities<\n    IncidentsStateModel,\n    OffsetPagination\n  >('incidents', new OffsetPagination());\n\n  @Selector()\n  static incidents(state: IncidentsStateModel) {\n    return state.incidents;\n  }\n\n  @Selector()\n  static schemas(state: IncidentsStateModel) {\n    return state.schemas;\n  }\n\n  @Selector()\n  static currentSchemaVersion(state: IncidentsStateModel) {\n    return state.currentSchemaVersion;\n  }\n\n  static schema(id: string) {\n    return createSelector([this], (state: IncidentsStateModel) => {\n      return state.schemas.entities[id];\n    });\n  }\n\n  @Action(LoadIncidents)\n  loadIncidentsToState(\n    ctx: StateContext<IncidentsStateModel>,\n    { pagination, query }: LoadIncidents\n  ) {\n    const organizationID = this.store.selectSnapshot(\n      UserState.getCurrentOrganizationID\n    );\n\n    if (!organizationID) throw new Error('No organization ID set');\n\n    return this.incidentPagination.loadEntititesPaginated(\n      ctx,\n      pagination,\n      this.incidentsService.listIncidents(organizationID, pagination, query)\n    );\n  }\n\n  @Action(CreateIncidentAction)\n  createIncident(\n    ctx: StateContext<IncidentsStateModel>,\n    { spec }: CreateIncidentAction\n  ) {\n    const organizationID = this.store.selectSnapshot(\n      UserState.getCurrentOrganizationID\n    );\n\n    if (!organizationID) throw new Error('No organization ID set');\n\n    return this.incidentsService.createIncident(organizationID, spec).pipe(\n      tap(newIncidentId => {\n        this.toastService.showInfo('Incident created', '');\n\n        ctx.dispatch(new IncidentCreatedAction(newIncidentId));\n      }),\n      catchError(err => {\n        this.toastService.showError(\n          new Error('Failed to create incident: ' + err.message)\n        );\n        throw err;\n      })\n    );\n  }\n\n  @Action(LoadIncidentSchemasAction)\n  loadIncidentSchemas(ctx: StateContext<IncidentsStateModel>) {\n    const organizationID = this.store.selectSnapshot(\n      UserState.getCurrentOrganizationID\n    );\n\n    if (!organizationID) throw new Error('No organization ID set');\n\n    return loadEntities(\n      ctx,\n      'schemas',\n      this.incidentSchemasService.listIncidentSchemas(organizationID)\n    );\n  }\n\n  @Action(LoadIncidentSchemaVersionAction)\n  loadIncidentSchemaVersion(\n    ctx: StateContext<IncidentsStateModel>,\n    { schemaVersionId }: LoadIncidentSchemaVersionAction\n  ) {\n    const organizationID = this.store.selectSnapshot(\n      UserState.getCurrentOrganizationID\n    );\n\n    if (!organizationID) throw new Error('No organization ID set');\n\n    return loadEntity(\n      ctx,\n      'currentSchemaVersion',\n      this.incidentSchemasService.getIncidentSchemaVersion(\n        organizationID,\n        schemaVersionId\n      )\n    );\n  }\n\n  @Action(DeleteIncidentAction)\n  deleteIncident(\n    ctx: StateContext<IncidentsStateModel>,\n    { incidentId }: DeleteIncidentAction\n  ) {\n    const organizationID = this.store.selectSnapshot(\n      UserState.getCurrentOrganizationID\n    );\n\n    if (!organizationID) throw new Error('No organization ID set');\n\n    return removeListEntity(\n      ctx,\n      'incidents',\n      incidentId,\n      (incident: Incident) => {\n        return incident.id !== incidentId;\n      },\n      this.incidentsService.deleteIncident(organizationID, incidentId)\n    ).pipe(\n      tap(() => {\n        this.toastService.showInfo(\n          this.translate.instant('toasts.resourceDeleted.title', {\n            resource: 'Incident',\n          }),\n          this.translate.instant('toasts.resourceDeleted.message', {\n            resource: 'incident',\n          })\n        );\n      }),\n      catchError(err => {\n        this.toastService.showError(\n          new Error('Failed to delete incident: ' + err.message)\n        );\n        throw err;\n      })\n    );\n  }\n\n  @Action(UpdateIncidentStateAction)\n  updateIncidentState(\n    ctx: StateContext<IncidentsStateModel>,\n    { incidentId, newStateId }: UpdateIncidentStateAction\n  ) {\n    const organizationID = this.store.selectSnapshot(\n      UserState.getCurrentOrganizationID\n    );\n\n    if (!organizationID) throw new Error('No organization ID set');\n\n    return updateListEntity(\n      ctx,\n      'incidents',\n      incidentId,\n      this.incidentsService.updateIncidentState(\n        organizationID,\n        incidentId,\n        newStateId\n      ),\n      true\n    );\n  }\n\n  @Action(UpdateIncidentPriorityAction)\n  updateIncidentPriority(\n    ctx: StateContext<IncidentsStateModel>,\n    { incidentId, newPriorityId }: UpdateIncidentPriorityAction\n  ) {\n    const organizationID = this.store.selectSnapshot(\n      UserState.getCurrentOrganizationID\n    );\n\n    if (!organizationID) throw new Error('No organization ID set');\n\n    return updateListEntity(\n      ctx,\n      'incidents',\n      incidentId,\n      this.incidentsService.updateIncidentPriority(\n        organizationID,\n        incidentId,\n        newPriorityId\n      ),\n      true\n    );\n  }\n}\n","import { TaskTemplateSpec } from 'src/app/models/task';\n\nexport class LoadIncidentSchemaDetails {\n  static readonly type = '[Incident] Load Incident Schema Details';\n  constructor(public id: string) { }\n}\n\nexport class LoadIncidentSchemaTaskTemplateLinks {\n  static readonly type = '[Incident] Load Incident Schema Task Template Links';\n  constructor(public id: string) { }\n}\n\nexport class CreateIncidentSchemaTaskTemplateAction {\n  static readonly type = '[Incident] Create Incident Schema Task Template';\n  constructor(public taskTemplateSpec: TaskTemplateSpec) { }\n}\n\nexport class UpdateIncidentSchemaTaskTemplateAction {\n  static readonly type = '[Incident] Update Incident Schema Task Template';\n  constructor(\n    public taskTemplateLinkId: string,\n    public taskTemplateSpec: TaskTemplateSpec\n  ) { }\n}\n\nexport class DeleteIncientSchemaTaskTemplateLinkAction {\n  static readonly type = '[Incident] Delete Incident Schema Task Template Link';\n  constructor(public linkId: string) { }\n}\n","import { Injectable, inject } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport {\n  Action,\n  Selector,\n  State,\n  StateContext,\n  Store,\n  createSelector,\n} from '@ngxs/store';\nimport { catchError, tap } from 'rxjs';\nimport {\n  IncidentSchema,\n  IncidentSchemaTaskTemplateLink,\n} from 'src/app/models/incident-schema';\nimport { ToastService } from 'src/app/services/toast/toast.service';\nimport { Entity, NewEntity, loadEntity } from 'src/app/store/common/entity';\nimport { UserState } from 'src/app/store/user/user.state';\nimport {\n  IteratableListEntities,\n  ListEntities,\n  ListEntitiesToIterable,\n  NewListEntities,\n  addListEntity,\n  loadEntities,\n  removeListEntity,\n  updateListEntity,\n} from '../common/list-entity';\nimport {\n  CreateIncidentSchemaTaskTemplateAction,\n  DeleteIncientSchemaTaskTemplateLinkAction,\n  LoadIncidentSchemaDetails,\n  LoadIncidentSchemaTaskTemplateLinks,\n  UpdateIncidentSchemaTaskTemplateAction,\n} from './incidentSchemaDetails.actions';\nimport { IncidentSchemasService } from './incidentSchemas.service';\n\nexport interface IncidentSchemaDetailsStateModel {\n  schema: Entity<IncidentSchema>;\n  taskTemplateLinks: ListEntities<IncidentSchemaTaskTemplateLink>;\n}\n\n@State<IncidentSchemaDetailsStateModel>({\n  name: 'incidentSchemaDetails',\n  defaults: {\n    schema: NewEntity(),\n    taskTemplateLinks: NewListEntities(),\n  },\n})\n@Injectable()\nexport class IncidentSchemaDetailsState {\n  store = inject(Store);\n  incidentSchemaService = inject(IncidentSchemasService);\n  toast = inject(ToastService);\n  translate = inject(TranslateService);\n\n  @Selector()\n  static schema(\n    state: IncidentSchemaDetailsStateModel\n  ): Entity<IncidentSchema> {\n    return state.schema;\n  }\n\n  @Selector()\n  static taskTemplateLinks(\n    state: IncidentSchemaDetailsStateModel\n  ): IteratableListEntities<IncidentSchemaTaskTemplateLink> {\n    return ListEntitiesToIterable(state.taskTemplateLinks);\n  }\n\n  static taskTemplateLink(linkId: string) {\n    return createSelector(\n      [IncidentSchemaDetailsState],\n      (state: IncidentSchemaDetailsStateModel) => {\n        return state.taskTemplateLinks.entities\n          ? state.taskTemplateLinks.entities[linkId]\n          : false;\n      }\n    );\n  }\n\n  @Action(LoadIncidentSchemaDetails)\n  loadIncidentSchemaDetails(\n    ctx: StateContext<IncidentSchemaDetailsStateModel>,\n    { id }: LoadIncidentSchemaDetails\n  ) {\n    const organizationID = this.store.selectSnapshot(\n      UserState.getCurrentOrganizationID\n    );\n\n    if (!organizationID) throw new Error('No organization ID set');\n\n    const observable = this.incidentSchemaService.getIncidentSchema(\n      organizationID,\n      id\n    );\n\n    return loadEntity(ctx, 'schema', observable);\n  }\n\n  @Action(LoadIncidentSchemaTaskTemplateLinks)\n  loadIncidentSchemaTaskTemplateLinks(\n    ctx: StateContext<IncidentSchemaDetailsStateModel>,\n    { id }: LoadIncidentSchemaTaskTemplateLinks\n  ) {\n    const organizationID = this.store.selectSnapshot(\n      UserState.getCurrentOrganizationID\n    );\n\n    if (!organizationID) throw new Error('No organization ID set');\n\n    const observable =\n      this.incidentSchemaService.getIncidentSchemaTaskTemplates(\n        organizationID,\n        id\n      );\n\n    return loadEntities(ctx, 'taskTemplateLinks', observable);\n  }\n\n  @Action(CreateIncidentSchemaTaskTemplateAction)\n  createIncidentSchemaTaskTemplate(\n    ctx: StateContext<IncidentSchemaDetailsStateModel>,\n    { taskTemplateSpec }: CreateIncidentSchemaTaskTemplateAction\n  ) {\n    const schema = ctx.getState().schema;\n\n    if (!schema.data) {\n      return;\n    }\n\n    const organizationID = this.store.selectSnapshot(\n      UserState.getCurrentOrganizationID\n    );\n\n    if (!organizationID) throw new Error('No organization ID set');\n\n    return addListEntity(\n      ctx,\n      'taskTemplateLinks',\n      'linkId',\n      this.incidentSchemaService.createIncidentSchemaTaskTemplate(\n        organizationID,\n        schema.data.currentVersion!.id,\n        taskTemplateSpec\n      )\n    ).pipe(\n      tap(() => {\n        this.toast.showInfo(\n          'Task template created',\n          'The task template has been created'\n        );\n      }),\n      catchError(error => {\n        this.toast.showError(\n          new Error(`Failed to create task template: ${error}`)\n        );\n        throw error;\n      })\n    );\n  }\n\n  @Action(UpdateIncidentSchemaTaskTemplateAction)\n  updateIncidentSchemaTaskTemplate(\n    ctx: StateContext<IncidentSchemaDetailsStateModel>,\n    {\n      taskTemplateLinkId,\n      taskTemplateSpec,\n    }: UpdateIncidentSchemaTaskTemplateAction\n  ) {\n    const schema = ctx.getState().schema;\n\n    if (!schema.data) {\n      return;\n    }\n\n    const organizationID = this.store.selectSnapshot(\n      UserState.getCurrentOrganizationID\n    );\n\n    if (!organizationID) throw new Error('No organization ID set');\n\n    return updateListEntity(\n      ctx,\n      'taskTemplateLinks',\n      taskTemplateLinkId,\n      this.incidentSchemaService.updateIncidentSchemaTaskTemplate(\n        organizationID,\n        taskTemplateLinkId,\n        taskTemplateSpec\n      )\n    ).pipe(\n      tap(() => {\n        this.toast.showInfo(\n          'Task template updated',\n          'The task template has been updated'\n        );\n      }),\n      catchError(error => {\n        this.toast.showError(\n          new Error(`Failed to update task template: ${error}`)\n        );\n        throw error;\n      })\n    );\n  }\n\n  @Action(DeleteIncientSchemaTaskTemplateLinkAction)\n  deleteIncidentSchemaTaskTemplate(\n    ctx: StateContext<IncidentSchemaDetailsStateModel>,\n    { linkId }: DeleteIncientSchemaTaskTemplateLinkAction\n  ) {\n    const schema = ctx.getState().schema;\n\n    if (!schema.data) {\n      return;\n    }\n\n    const organizationID = this.store.selectSnapshot(\n      UserState.getCurrentOrganizationID\n    );\n\n    if (!organizationID) throw new Error('No organization ID set');\n\n    return removeListEntity(\n      ctx,\n      'taskTemplateLinks',\n      linkId,\n      (link: IncidentSchemaTaskTemplateLink) => {\n        return link.linkId !== linkId;\n      },\n      this.incidentSchemaService.deleteIncidentSchemaTaskTemplate(\n        organizationID,\n        linkId\n      )\n    ).pipe(\n      tap(() => {\n        this.toast.showInfo(\n          'Task template deleted',\n          'The task template has been deleted'\n        );\n      }),\n      catchError(err => {\n        this.toast.showError(err);\n        throw err;\n      })\n    );\n  }\n}\n","import { NgModule } from '@angular/core';\nimport { NgxsModule } from '@ngxs/store';\nimport { IncidentsService } from './incidents.service';\nimport { IncidentSchemasService } from './incidentSchemas.service';\nimport { IncidentsState } from './incidents.state';\nimport { IncidentDetailsState } from './incidentDetails.state';\nimport { IncidentSchemaDetailsState } from './incidentSchemaDetails.state';\n\n@NgModule({\n  declarations: [],\n  imports: [\n    NgxsModule.forFeature([\n      IncidentsState,\n      IncidentDetailsState,\n      IncidentSchemaDetailsState,\n    ]),\n  ],\n  providers: [IncidentsService, IncidentSchemasService],\n  bootstrap: [],\n  exports: [],\n})\nexport class IncidentsStateModule {}\n"],"names":["LIST_INCIDENT_SCHEMAS_QUERY","gql","GET_INCIDENT_SCHEMA_QUERY","GET_INCIDENT_SCHEMA_TASK_TEMPLATES_QUERY","GET_INCIDENT_SCHEMA_VERSION_QUERY","CREATE_INCIDENT_SCHEMA_TASK_TEMPLATE_MUTATION","UPDATE_INCIDENT_SCHEMA_TASK_TEMPLATE_MUTATION","DELETE_INCIDENT_SCHEMA_TASK_TEMPLATE_MUTATION","IncidentSchemasService","constructor","apollo","inject","Apollo","listIncidentSchemas","organizationId","query","variables","pipe","map","data","toIdentifiableEntities","incidentSchemas","schemas","schema","__spreadProps","__spreadValues","createdAt","Date","parse","getIncidentSchema","schemaId","incidentSchema","getIncidentSchemaVersion","schemaVersionId","schameVersionId","mapGQLResponse","getIncidentSchemaTaskTemplates","currentVersion","taskTemplates","createIncidentSchemaTaskTemplate","taskTemplateSpec","mutate","mutation","errors","Error","message","updateIncidentSchemaTaskTemplate","linkId","deleteIncidentSchemaTaskTemplate","factory","ɵfac","IncidentsState","constructor","store","inject","Store","incidentsService","IncidentsService","incidentSchemasService","IncidentSchemasService","menuService","MenuService","toastService","ToastService","translate","TranslateService","incidentPagination","PaginatedListEntities","OffsetPagination","incidents","state","schemas","currentSchemaVersion","schema","id","createSelector","entities","loadIncidentsToState","ctx","pagination","query","organizationID","selectSnapshot","UserState","getCurrentOrganizationID","Error","loadEntititesPaginated","listIncidents","createIncident","spec","pipe","tap","newIncidentId","showInfo","dispatch","IncidentCreatedAction","catchError","err","showError","message","loadIncidentSchemas","loadEntities","listIncidentSchemas","loadIncidentSchemaVersion","schemaVersionId","loadEntity","getIncidentSchemaVersion","deleteIncident","incidentId","removeListEntity","incident","instant","resource","updateIncidentState","newStateId","updateListEntity","updateIncidentPriority","newPriorityId","factory","ɵfac","__decorate","Action","LoadIncidents","CreateIncidentAction","LoadIncidentSchemasAction","LoadIncidentSchemaVersionAction","DeleteIncidentAction","UpdateIncidentStateAction","UpdateIncidentPriorityAction","Selector","State","name","defaults","GetDefaultState","NewListEntities","NewEntity","LoadIncidentSchemaDetails","type","constructor","id","LoadIncidentSchemaTaskTemplateLinks","CreateIncidentSchemaTaskTemplateAction","taskTemplateSpec","UpdateIncidentSchemaTaskTemplateAction","taskTemplateLinkId","DeleteIncientSchemaTaskTemplateLinkAction","linkId","IncidentSchemaDetailsState","constructor","store","inject","Store","incidentSchemaService","IncidentSchemasService","toast","ToastService","translate","TranslateService","schema","state","taskTemplateLinks","ListEntitiesToIterable","taskTemplateLink","linkId","createSelector","IncidentSchemaDetailsState_1","entities","loadIncidentSchemaDetails","ctx","id","organizationID","selectSnapshot","UserState","getCurrentOrganizationID","Error","observable","getIncidentSchema","loadEntity","loadIncidentSchemaTaskTemplateLinks","getIncidentSchemaTaskTemplates","loadEntities","createIncidentSchemaTaskTemplate","taskTemplateSpec","getState","data","addListEntity","currentVersion","pipe","tap","showInfo","catchError","error","showError","updateIncidentSchemaTaskTemplate","taskTemplateLinkId","updateListEntity","deleteIncidentSchemaTaskTemplate","removeListEntity","link","err","factory","ɵfac","__decorate","Action","LoadIncidentSchemaDetails","LoadIncidentSchemaTaskTemplateLinks","CreateIncidentSchemaTaskTemplateAction","UpdateIncidentSchemaTaskTemplateAction","DeleteIncientSchemaTaskTemplateLinkAction","Selector","State","name","defaults","NewEntity","NewListEntities","IncidentsStateModule","IncidentsService","IncidentSchemasService","imports","NgxsModule","forFeature","IncidentsState","IncidentDetailsState","IncidentSchemaDetailsState"],"mappings":"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","debug_id":"a390313a-ecab-521f-80ff-62bd87a5f479"}