diff --git a/opencti-platform/opencti-front/lang/back/de.json b/opencti-platform/opencti-front/lang/back/de.json index c57585d5265a5..3fe10bc8efb36 100644 --- a/opencti-platform/opencti-front/lang/back/de.json +++ b/opencti-platform/opencti-front/lang/back/de.json @@ -626,5 +626,9 @@ "X_Aliases": "X_Aliases", "Samples": "Stichproben", "Contains observable": "Enthält beobachtbar", - "Artifact content": "Artefaktinhalt" + "Artifact content": "Artefaktinhalt", + "Deleted entity type": "Gelöschter Entitätstyp", + "Deleted entity id": "Gelöschte Entitäts-ID", + "Deleted entity name": "Gelöschter Entitätsname", + "Deleted elements": "Gelöschte Elemente" } \ No newline at end of file diff --git a/opencti-platform/opencti-front/lang/back/en.json b/opencti-platform/opencti-front/lang/back/en.json index 3abb3d619d70b..bfd677300cf3b 100644 --- a/opencti-platform/opencti-front/lang/back/en.json +++ b/opencti-platform/opencti-front/lang/back/en.json @@ -626,5 +626,9 @@ "X_Aliases": "X_Aliases", "Samples": "Samples", "Contains observable": "Contains observable", - "Artifact content": "Artifact content" + "Artifact content": "Artifact content", + "Deleted entity type": "Deleted entity type", + "Deleted entity id": "Deleted entity id", + "Deleted entity name": "Deleted entity name", + "Deleted elements": "Deleted elements" } \ No newline at end of file diff --git a/opencti-platform/opencti-front/lang/back/es.json b/opencti-platform/opencti-front/lang/back/es.json index f4c43798c7ef9..deb912a351ab2 100644 --- a/opencti-platform/opencti-front/lang/back/es.json +++ b/opencti-platform/opencti-front/lang/back/es.json @@ -626,5 +626,9 @@ "X_Aliases": "X_Aliases", "Samples": "Muestras", "Contains observable": "Contiene observable", - "Artifact content": "Contenido del artefacto" + "Artifact content": "Contenido del artefacto", + "Deleted entity type": "Tipo de entidad eliminada", + "Deleted entity id": "Id de entidad eliminada", + "Deleted entity name": "Nombre de la entidad eliminada", + "Deleted elements": "Elementos eliminados" } \ No newline at end of file diff --git a/opencti-platform/opencti-front/lang/back/fr.json b/opencti-platform/opencti-front/lang/back/fr.json index 5e1854e0f7f78..1f16a25406683 100644 --- a/opencti-platform/opencti-front/lang/back/fr.json +++ b/opencti-platform/opencti-front/lang/back/fr.json @@ -626,5 +626,9 @@ "X_Aliases": "X_Aliases", "Samples": "Échantillons", "Contains observable": "Contient des observables", - "Artifact content": "Contenu de l'artefact" + "Artifact content": "Contenu de l'artefact", + "Deleted entity type": "Type de l'entité supprimée", + "Deleted entity id": "Id de l'entité supprimée", + "Deleted entity name": "Nom de l'entité supprimée", + "Deleted elements": "Éléments supprimés" } \ No newline at end of file diff --git a/opencti-platform/opencti-front/lang/back/ja.json b/opencti-platform/opencti-front/lang/back/ja.json index 3f33e873f50ea..39fcf701878f9 100644 --- a/opencti-platform/opencti-front/lang/back/ja.json +++ b/opencti-platform/opencti-front/lang/back/ja.json @@ -626,5 +626,9 @@ "X_Aliases": "X_エイリアス", "Samples": "サンプル", "Contains observable": "観測値を含む", - "Artifact content": "人工物の内容" + "Artifact content": "人工物の内容", + "Deleted entity type": "削除されたエンティティタイプ", + "Deleted entity id": "削除されたエンティティID", + "Deleted entity name": "削除されたエンティティ名", + "Deleted elements": "削除された要素" } \ No newline at end of file diff --git a/opencti-platform/opencti-front/lang/back/zh.json b/opencti-platform/opencti-front/lang/back/zh.json index 8882e22940fba..f2c413b816a61 100644 --- a/opencti-platform/opencti-front/lang/back/zh.json +++ b/opencti-platform/opencti-front/lang/back/zh.json @@ -626,5 +626,9 @@ "X_Aliases": "X_别名", "Samples": "样本", "Contains observable": "包含观测值", - "Artifact content": "工件内容" -} + "Artifact content": "工件内容", + "Deleted entity type": "删除的实体类型", + "Deleted entity id": "删除的实体 ID", + "Deleted entity name": "删除的实体名称", + "Deleted elements": "删除的元素" +} \ No newline at end of file diff --git a/opencti-platform/opencti-front/src/schema/relay.schema.graphql b/opencti-platform/opencti-front/src/schema/relay.schema.graphql index c3c23da9f63d2..f3dd981f21dd1 100644 --- a/opencti-platform/opencti-front/src/schema/relay.schema.graphql +++ b/opencti-platform/opencti-front/src/schema/relay.schema.graphql @@ -7406,6 +7406,8 @@ type Query { publicBookmarks(uriKey: String!, widgetId: String!): StixDomainObjectConnection publicStixCoreObjects(uriKey: String!, widgetId: String!, startDate: DateTime, endDate: DateTime): StixCoreObjectConnection publicStixRelationships(uriKey: String!, widgetId: String!, startDate: DateTime, endDate: DateTime): StixRelationshipConnection + deleteOperation(id: String!): DeleteOperation + deleteOperations(first: Int, after: ID, orderBy: DeleteOperationOrdering, orderMode: OrderingMode, filters: FilterGroup, search: String): DeleteOperationConnection } type Subscription { @@ -8173,6 +8175,8 @@ type Mutation { aiChangeTone(id: ID!, content: String!, format: Format, tone: Tone): String aiSummarize(id: ID!, content: String!, format: Format): String aiExplain(id: ID!, content: String!): String + deleteOperationRestore(id: ID!): ID + deleteOperationConfirm(id: ID!): ID } type Channel implements BasicObject & StixObject & StixCoreObject & StixDomainObject { @@ -11266,4 +11270,36 @@ enum IndicatorFormat { type AIBus { bus_id: String! content: String! +} + +type DeletedElement { + id: String! + source_index: String! +} + +type DeleteOperation implements InternalObject & BasicObject { + id: ID! + entity_type: String! + standard_id: String! + parent_types: [String!]! + timestamp: DateTime! + user_id: String! + main_entity_type: String! + main_entity_id: String! + main_entity_name: String! + deleted_elements: [DeletedElement!]! +} + +enum DeleteOperationOrdering { + timestamp +} + +type DeleteOperationConnection { + pageInfo: PageInfo! + edges: [DeleteOperationEdge!]! +} + +type DeleteOperationEdge { + cursor: String! + node: DeleteOperation! } \ No newline at end of file diff --git a/opencti-platform/opencti-graphql/graphql-codegen.yml b/opencti-platform/opencti-graphql/graphql-codegen.yml index 763257a4c3654..d7292d1abf7a7 100644 --- a/opencti-platform/opencti-graphql/graphql-codegen.yml +++ b/opencti-platform/opencti-graphql/graphql-codegen.yml @@ -49,6 +49,7 @@ generates: CsvMapper: ../modules/internal/csvMapper/csvMapper-types#BasicStoreEntityCsvMapper Playbook: ../modules/playbook/playbook-types#BasicStoreEntityPlaybook PublicDashboard: ../modules/publicDashboard/publicDashboard-types#BasicStoreEntityPublicDashboard + DeleteOperation: ../modules/deleteOperation/deleteOperation-types#BasicStoreEntityDeleteOperation ./graphql.schema.json: plugins: - "introspection" diff --git a/opencti-platform/opencti-graphql/src/generated/graphql.ts b/opencti-platform/opencti-graphql/src/generated/graphql.ts index 6a4745b8ec2d8..3a035d525d333 100644 --- a/opencti-platform/opencti-graphql/src/generated/graphql.ts +++ b/opencti-platform/opencti-graphql/src/generated/graphql.ts @@ -30,6 +30,7 @@ import type { BasicStoreEntityOrganization } from '../modules/organization/organ import type { BasicStoreEntityCsvMapper } from '../modules/internal/csvMapper/csvMapper-types'; import type { BasicStoreEntityPlaybook } from '../modules/playbook/playbook-types'; import type { BasicStoreEntityPublicDashboard } from '../modules/publicDashboard/publicDashboard-types'; +import type { BasicStoreEntityDeleteOperation } from '../modules/deleteOperation/deleteOperation-types'; export type Maybe = T | null | undefined; export type InputMaybe = T | null; export type Exact = { [K in keyof T]: T[K] }; @@ -5309,6 +5310,42 @@ export type DefinitionRefRelationship = { to?: Maybe>; }; +export type DeleteOperation = BasicObject & InternalObject & { + __typename?: 'DeleteOperation'; + deleted_elements: Array; + entity_type: Scalars['String']['output']; + id: Scalars['ID']['output']; + main_entity_id: Scalars['String']['output']; + main_entity_name: Scalars['String']['output']; + main_entity_type: Scalars['String']['output']; + parent_types: Array; + standard_id: Scalars['String']['output']; + timestamp: Scalars['DateTime']['output']; + user_id: Scalars['String']['output']; +}; + +export type DeleteOperationConnection = { + __typename?: 'DeleteOperationConnection'; + edges: Array; + pageInfo: PageInfo; +}; + +export type DeleteOperationEdge = { + __typename?: 'DeleteOperationEdge'; + cursor: Scalars['String']['output']; + node: DeleteOperation; +}; + +export enum DeleteOperationOrdering { + Timestamp = 'timestamp' +} + +export type DeletedElement = { + __typename?: 'DeletedElement'; + id: Scalars['String']['output']; + source_index: Scalars['String']['output']; +}; + /** Dependency information containing the name and the deployed version. */ export type DependencyVersion = { __typename?: 'DependencyVersion'; @@ -12229,6 +12266,8 @@ export type Mutation = { deleteBackgroundTask: Scalars['ID']['output']; deleteConnector: Scalars['ID']['output']; deleteImport?: Maybe; + deleteOperationConfirm?: Maybe; + deleteOperationRestore?: Maybe; entitySettingsFieldPatch?: Maybe>>; eventAdd?: Maybe; eventContextClean?: Maybe; @@ -12961,6 +13000,16 @@ export type MutationDeleteImportArgs = { }; +export type MutationDeleteOperationConfirmArgs = { + id: Scalars['ID']['input']; +}; + + +export type MutationDeleteOperationRestoreArgs = { + id: Scalars['ID']['input']; +}; + + export type MutationEntitySettingsFieldPatchArgs = { commitMessage?: InputMaybe; ids: Array; @@ -17486,6 +17535,8 @@ export type Query = { dataSources?: Maybe; decayRule?: Maybe; decayRules?: Maybe; + deleteOperation?: Maybe; + deleteOperations?: Maybe; elasticSearchMetrics?: Maybe; enrichmentConnectors?: Maybe>>; entitySetting?: Maybe; @@ -18142,6 +18193,21 @@ export type QueryDecayRulesArgs = { }; +export type QueryDeleteOperationArgs = { + id: Scalars['String']['input']; +}; + + +export type QueryDeleteOperationsArgs = { + after?: InputMaybe; + filters?: InputMaybe; + first?: InputMaybe; + orderBy?: InputMaybe; + orderMode?: InputMaybe; + search?: InputMaybe; +}; + + export type QueryEnrichmentConnectorsArgs = { type: Scalars['String']['input']; }; @@ -27857,13 +27923,13 @@ export type ResolversUnionTypes> = Resol /** Mapping of interface types */ export type ResolversInterfaceTypes> = ResolversObject<{ BackgroundTask: ( ListTask ) | ( QueryTask ) | ( RuleTask ); - BasicObject: ( BasicStoreEntityAdministrativeArea ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, coursesOfAction?: Maybe, createdBy?: Maybe, dataComponents?: Maybe, groupings?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, parentAttackPatterns?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe, subAttackPatterns?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Capability ) | ( BasicStoreEntityCaseIncident ) | ( BasicStoreEntityCaseRfi ) | ( BasicStoreEntityCaseRft ) | ( BasicStoreEntityCaseTemplate ) | ( BasicStoreEntityChannel ) | ( Omit & { administrativeArea?: Maybe, cases?: Maybe, containers?: Maybe, country?: Maybe, createdBy?: Maybe, groupings?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Connector ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, region?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { attackPatterns?: Maybe, cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( BasicStoreEntityCsvMapper ) | ( BasicStoreEntityDataComponent ) | ( BasicStoreEntityDataSource ) | ( BasicStoreEntityDecayRule ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( BasicStoreEntityEntitySetting ) | ( BasicStoreEntityEvent ) | ( ExternalReference ) | ( BasicStoreEntityFeedback ) | ( Omit & { default_dashboard?: Maybe, members?: Maybe } ) | ( BasicStoreEntityGrouping ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, countries?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, countries?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( BasicStoreEntityIndicator ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, organizations?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( BasicStoreEntityIngestionCsv ) | ( BasicStoreEntityIngestionRss ) | ( BasicStoreEntityIngestionTaxii ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, locations?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( KillChainPhase ) | ( Label ) | ( BasicStoreEntityLanguage ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, samples?: Maybe>, stixCoreRelationships?: Maybe } ) | ( BasicStoreEntityMalwareAnalysis ) | ( BasicStoreEntityManagerConfiguration ) | ( MarkingDefinition ) | ( Omit & { administrated_organizations: Array, default_dashboard?: Maybe, default_dashboards: Array, groups?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( BasicStoreEntityNarrative ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, relatedContainers?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( BasicStoreEntityNotification ) | ( BasicStoreEntityNotifier ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, relatedContainers?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, relatedContainers?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( BasicStoreEntityOrganization ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( BasicStoreEntityPlaybook ) | ( Omit & { cases?: Maybe, city?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, serviceDlls?: Maybe, stixCoreRelationships?: Maybe } ) | ( BasicStoreEntityPublicDashboard ) | ( Omit & { cases?: Maybe, containers?: Maybe, countries?: Maybe, createdBy?: Maybe, groupings?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, parentRegions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe, subRegions?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, relatedContainers?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Role ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, parentSectors?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe, subSectors?: Maybe, targetedOrganizations?: Maybe } ) | ( Omit & { platform_critical_alerts: Array, platform_organization?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe, vulnerabilities?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, obsContent?: Maybe, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, organizations?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( BasicStoreEntityTask ) | ( TaskTemplate ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, countries?: Maybe, createdBy?: Maybe, groupings?: Maybe, locations?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( BasicStoreEntityThreatActorIndividual ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( BasicStoreEntityTrigger ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { administrated_organizations: Array, groups?: Maybe, objectOrganization?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( BasicStoreEntityVocabulary ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, softwares?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( BasicStoreEntityWorkspace ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ); + BasicObject: ( BasicStoreEntityAdministrativeArea ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, coursesOfAction?: Maybe, createdBy?: Maybe, dataComponents?: Maybe, groupings?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, parentAttackPatterns?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe, subAttackPatterns?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Capability ) | ( BasicStoreEntityCaseIncident ) | ( BasicStoreEntityCaseRfi ) | ( BasicStoreEntityCaseRft ) | ( BasicStoreEntityCaseTemplate ) | ( BasicStoreEntityChannel ) | ( Omit & { administrativeArea?: Maybe, cases?: Maybe, containers?: Maybe, country?: Maybe, createdBy?: Maybe, groupings?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Connector ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, region?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { attackPatterns?: Maybe, cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( BasicStoreEntityCsvMapper ) | ( BasicStoreEntityDataComponent ) | ( BasicStoreEntityDataSource ) | ( BasicStoreEntityDecayRule ) | ( BasicStoreEntityDeleteOperation ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( BasicStoreEntityEntitySetting ) | ( BasicStoreEntityEvent ) | ( ExternalReference ) | ( BasicStoreEntityFeedback ) | ( Omit & { default_dashboard?: Maybe, members?: Maybe } ) | ( BasicStoreEntityGrouping ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, countries?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, countries?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( BasicStoreEntityIndicator ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, organizations?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( BasicStoreEntityIngestionCsv ) | ( BasicStoreEntityIngestionRss ) | ( BasicStoreEntityIngestionTaxii ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, locations?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( KillChainPhase ) | ( Label ) | ( BasicStoreEntityLanguage ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, samples?: Maybe>, stixCoreRelationships?: Maybe } ) | ( BasicStoreEntityMalwareAnalysis ) | ( BasicStoreEntityManagerConfiguration ) | ( MarkingDefinition ) | ( Omit & { administrated_organizations: Array, default_dashboard?: Maybe, default_dashboards: Array, groups?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( BasicStoreEntityNarrative ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, relatedContainers?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( BasicStoreEntityNotification ) | ( BasicStoreEntityNotifier ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, relatedContainers?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, relatedContainers?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( BasicStoreEntityOrganization ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( BasicStoreEntityPlaybook ) | ( Omit & { cases?: Maybe, city?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, serviceDlls?: Maybe, stixCoreRelationships?: Maybe } ) | ( BasicStoreEntityPublicDashboard ) | ( Omit & { cases?: Maybe, containers?: Maybe, countries?: Maybe, createdBy?: Maybe, groupings?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, parentRegions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe, subRegions?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, relatedContainers?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Role ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, parentSectors?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe, subSectors?: Maybe, targetedOrganizations?: Maybe } ) | ( Omit & { platform_critical_alerts: Array, platform_organization?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe, vulnerabilities?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, obsContent?: Maybe, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, organizations?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( BasicStoreEntityTask ) | ( TaskTemplate ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, countries?: Maybe, createdBy?: Maybe, groupings?: Maybe, locations?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( BasicStoreEntityThreatActorIndividual ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( BasicStoreEntityTrigger ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { administrated_organizations: Array, groups?: Maybe, objectOrganization?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( BasicStoreEntityVocabulary ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, softwares?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( BasicStoreEntityWorkspace ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ); BasicRelationship: ( InternalRelationship ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, from?: Maybe, groupings?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe, to?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, from?: Maybe, groupings?: Maybe, notes?: Maybe, opinions?: Maybe, reports?: Maybe, to?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, from?: Maybe, groupings?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, opinions?: Maybe, reports?: Maybe, to?: Maybe } ); Case: ( BasicStoreEntityCaseIncident ) | ( BasicStoreEntityCaseRfi ) | ( BasicStoreEntityCaseRft ) | ( BasicStoreEntityFeedback ); Container: ( BasicStoreEntityCaseIncident ) | ( BasicStoreEntityCaseRfi ) | ( BasicStoreEntityCaseRft ) | ( BasicStoreEntityFeedback ) | ( BasicStoreEntityGrouping ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, relatedContainers?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, relatedContainers?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, relatedContainers?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, relatedContainers?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( BasicStoreEntityTask ); HashedObservable: ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, obsContent?: Maybe, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ); Identity: ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, organizations?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( BasicStoreEntityOrganization ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, parentSectors?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe, subSectors?: Maybe, targetedOrganizations?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, organizations?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ); - InternalObject: ( Capability ) | ( BasicStoreEntityCaseTemplate ) | ( Connector ) | ( BasicStoreEntityCsvMapper ) | ( BasicStoreEntityDecayRule ) | ( BasicStoreEntityEntitySetting ) | ( Omit & { default_dashboard?: Maybe, members?: Maybe } ) | ( BasicStoreEntityIngestionCsv ) | ( BasicStoreEntityIngestionRss ) | ( BasicStoreEntityIngestionTaxii ) | ( BasicStoreEntityManagerConfiguration ) | ( Omit & { administrated_organizations: Array, default_dashboard?: Maybe, default_dashboards: Array, groups?: Maybe } ) | ( BasicStoreEntityNotification ) | ( BasicStoreEntityNotifier ) | ( BasicStoreEntityPlaybook ) | ( BasicStoreEntityPublicDashboard ) | ( Role ) | ( Omit & { platform_critical_alerts: Array, platform_organization?: Maybe } ) | ( TaskTemplate ) | ( BasicStoreEntityTrigger ) | ( Omit & { administrated_organizations: Array, groups?: Maybe, objectOrganization?: Maybe } ) | ( BasicStoreEntityWorkspace ); + InternalObject: ( Capability ) | ( BasicStoreEntityCaseTemplate ) | ( Connector ) | ( BasicStoreEntityCsvMapper ) | ( BasicStoreEntityDecayRule ) | ( BasicStoreEntityDeleteOperation ) | ( BasicStoreEntityEntitySetting ) | ( Omit & { default_dashboard?: Maybe, members?: Maybe } ) | ( BasicStoreEntityIngestionCsv ) | ( BasicStoreEntityIngestionRss ) | ( BasicStoreEntityIngestionTaxii ) | ( BasicStoreEntityManagerConfiguration ) | ( Omit & { administrated_organizations: Array, default_dashboard?: Maybe, default_dashboards: Array, groups?: Maybe } ) | ( BasicStoreEntityNotification ) | ( BasicStoreEntityNotifier ) | ( BasicStoreEntityPlaybook ) | ( BasicStoreEntityPublicDashboard ) | ( Role ) | ( Omit & { platform_critical_alerts: Array, platform_organization?: Maybe } ) | ( TaskTemplate ) | ( BasicStoreEntityTrigger ) | ( Omit & { administrated_organizations: Array, groups?: Maybe, objectOrganization?: Maybe } ) | ( BasicStoreEntityWorkspace ); Location: ( BasicStoreEntityAdministrativeArea ) | ( Omit & { administrativeArea?: Maybe, cases?: Maybe, containers?: Maybe, country?: Maybe, createdBy?: Maybe, groupings?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, region?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, city?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, countries?: Maybe, createdBy?: Maybe, groupings?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, parentRegions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe, subRegions?: Maybe } ); StixCoreObject: ( BasicStoreEntityAdministrativeArea ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, coursesOfAction?: Maybe, createdBy?: Maybe, dataComponents?: Maybe, groupings?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, parentAttackPatterns?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe, subAttackPatterns?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( BasicStoreEntityCaseIncident ) | ( BasicStoreEntityCaseRfi ) | ( BasicStoreEntityCaseRft ) | ( BasicStoreEntityChannel ) | ( Omit & { administrativeArea?: Maybe, cases?: Maybe, containers?: Maybe, country?: Maybe, createdBy?: Maybe, groupings?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, region?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { attackPatterns?: Maybe, cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( BasicStoreEntityDataComponent ) | ( BasicStoreEntityDataSource ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( BasicStoreEntityEvent ) | ( BasicStoreEntityFeedback ) | ( BasicStoreEntityGrouping ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, countries?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, countries?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( BasicStoreEntityIndicator ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, organizations?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, locations?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( BasicStoreEntityLanguage ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, samples?: Maybe>, stixCoreRelationships?: Maybe } ) | ( BasicStoreEntityMalwareAnalysis ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( BasicStoreEntityNarrative ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, relatedContainers?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, relatedContainers?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, relatedContainers?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( BasicStoreEntityOrganization ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, city?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, serviceDlls?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, countries?: Maybe, createdBy?: Maybe, groupings?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, parentRegions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe, subRegions?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, relatedContainers?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, parentSectors?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe, subSectors?: Maybe, targetedOrganizations?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe, vulnerabilities?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, obsContent?: Maybe, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, organizations?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( BasicStoreEntityTask ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, countries?: Maybe, createdBy?: Maybe, groupings?: Maybe, locations?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( BasicStoreEntityThreatActorIndividual ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, softwares?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ); StixCyberObservable: ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, countries?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, countries?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, serviceDlls?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe, vulnerabilities?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, obsContent?: Maybe, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ) | ( Omit & { cases?: Maybe, containers?: Maybe, createdBy?: Maybe, groupings?: Maybe, indicators?: Maybe, notes?: Maybe, objectOrganization?: Maybe>, observedData?: Maybe, opinions?: Maybe, reports?: Maybe, stixCoreRelationships?: Maybe } ); @@ -28059,6 +28125,11 @@ export type ResolversTypes = ResolversObject<{ DefaultValue: ResolverTypeWrapper; DefaultValueAttribute: ResolverTypeWrapper; DefinitionRefRelationship: ResolverTypeWrapper & { entity: ResolversTypes['StixObjectOrStixRelationshipOrCreator'] }>; + DeleteOperation: ResolverTypeWrapper; + DeleteOperationConnection: ResolverTypeWrapper & { edges: Array }>; + DeleteOperationEdge: ResolverTypeWrapper & { node: ResolversTypes['DeleteOperation'] }>; + DeleteOperationOrdering: DeleteOperationOrdering; + DeletedElement: ResolverTypeWrapper; DependencyVersion: ResolverTypeWrapper; Dictionary: ResolverTypeWrapper; DictionaryInput: DictionaryInput; @@ -28815,6 +28886,10 @@ export type ResolversParentTypes = ResolversObject<{ DefaultValue: DefaultValue; DefaultValueAttribute: DefaultValueAttribute; DefinitionRefRelationship: Omit & { entity: ResolversParentTypes['StixObjectOrStixRelationshipOrCreator'] }; + DeleteOperation: BasicStoreEntityDeleteOperation; + DeleteOperationConnection: Omit & { edges: Array }; + DeleteOperationEdge: Omit & { node: ResolversParentTypes['DeleteOperation'] }; + DeletedElement: DeletedElement; DependencyVersion: DependencyVersion; Dictionary: Dictionary; DictionaryInput: DictionaryInput; @@ -29818,7 +29893,7 @@ export type BankAccountResolvers; export type BasicObjectResolvers = ResolversObject<{ - __resolveType: TypeResolveFn<'AdministrativeArea' | 'Artifact' | 'AttackPattern' | 'AutonomousSystem' | 'BankAccount' | 'Campaign' | 'Capability' | 'CaseIncident' | 'CaseRfi' | 'CaseRft' | 'CaseTemplate' | 'Channel' | 'City' | 'Connector' | 'Country' | 'CourseOfAction' | 'CryptocurrencyWallet' | 'CryptographicKey' | 'CsvMapper' | 'DataComponent' | 'DataSource' | 'DecayRule' | 'Directory' | 'DomainName' | 'EmailAddr' | 'EmailMessage' | 'EmailMimePartType' | 'EntitySetting' | 'Event' | 'ExternalReference' | 'Feedback' | 'Group' | 'Grouping' | 'Hostname' | 'IPv4Addr' | 'IPv6Addr' | 'Incident' | 'Indicator' | 'Individual' | 'Infrastructure' | 'IngestionCsv' | 'IngestionRss' | 'IngestionTaxii' | 'IntrusionSet' | 'KillChainPhase' | 'Label' | 'Language' | 'MacAddr' | 'Malware' | 'MalwareAnalysis' | 'ManagerConfiguration' | 'MarkingDefinition' | 'MeUser' | 'MediaContent' | 'Mutex' | 'Narrative' | 'NetworkTraffic' | 'Note' | 'Notification' | 'Notifier' | 'ObservedData' | 'Opinion' | 'Organization' | 'PaymentCard' | 'PhoneNumber' | 'Playbook' | 'Position' | 'Process' | 'PublicDashboard' | 'Region' | 'Report' | 'Role' | 'Sector' | 'Settings' | 'Software' | 'StixFile' | 'System' | 'Task' | 'TaskTemplate' | 'Text' | 'ThreatActorGroup' | 'ThreatActorIndividual' | 'Tool' | 'Trigger' | 'Url' | 'User' | 'UserAccount' | 'UserAgent' | 'Vocabulary' | 'Vulnerability' | 'WindowsRegistryKey' | 'WindowsRegistryValueType' | 'Workspace' | 'X509Certificate', ParentType, ContextType>; + __resolveType: TypeResolveFn<'AdministrativeArea' | 'Artifact' | 'AttackPattern' | 'AutonomousSystem' | 'BankAccount' | 'Campaign' | 'Capability' | 'CaseIncident' | 'CaseRfi' | 'CaseRft' | 'CaseTemplate' | 'Channel' | 'City' | 'Connector' | 'Country' | 'CourseOfAction' | 'CryptocurrencyWallet' | 'CryptographicKey' | 'CsvMapper' | 'DataComponent' | 'DataSource' | 'DecayRule' | 'DeleteOperation' | 'Directory' | 'DomainName' | 'EmailAddr' | 'EmailMessage' | 'EmailMimePartType' | 'EntitySetting' | 'Event' | 'ExternalReference' | 'Feedback' | 'Group' | 'Grouping' | 'Hostname' | 'IPv4Addr' | 'IPv6Addr' | 'Incident' | 'Indicator' | 'Individual' | 'Infrastructure' | 'IngestionCsv' | 'IngestionRss' | 'IngestionTaxii' | 'IntrusionSet' | 'KillChainPhase' | 'Label' | 'Language' | 'MacAddr' | 'Malware' | 'MalwareAnalysis' | 'ManagerConfiguration' | 'MarkingDefinition' | 'MeUser' | 'MediaContent' | 'Mutex' | 'Narrative' | 'NetworkTraffic' | 'Note' | 'Notification' | 'Notifier' | 'ObservedData' | 'Opinion' | 'Organization' | 'PaymentCard' | 'PhoneNumber' | 'Playbook' | 'Position' | 'Process' | 'PublicDashboard' | 'Region' | 'Report' | 'Role' | 'Sector' | 'Settings' | 'Software' | 'StixFile' | 'System' | 'Task' | 'TaskTemplate' | 'Text' | 'ThreatActorGroup' | 'ThreatActorIndividual' | 'Tool' | 'Trigger' | 'Url' | 'User' | 'UserAccount' | 'UserAgent' | 'Vocabulary' | 'Vulnerability' | 'WindowsRegistryKey' | 'WindowsRegistryValueType' | 'Workspace' | 'X509Certificate', ParentType, ContextType>; entity_type?: Resolver; id?: Resolver; parent_types?: Resolver>, ParentType, ContextType>; @@ -31130,6 +31205,38 @@ export type DefinitionRefRelationshipResolvers; }>; +export type DeleteOperationResolvers = ResolversObject<{ + deleted_elements?: Resolver, ParentType, ContextType>; + entity_type?: Resolver; + id?: Resolver; + main_entity_id?: Resolver; + main_entity_name?: Resolver; + main_entity_type?: Resolver; + parent_types?: Resolver, ParentType, ContextType>; + standard_id?: Resolver; + timestamp?: Resolver; + user_id?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; +}>; + +export type DeleteOperationConnectionResolvers = ResolversObject<{ + edges?: Resolver, ParentType, ContextType>; + pageInfo?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; +}>; + +export type DeleteOperationEdgeResolvers = ResolversObject<{ + cursor?: Resolver; + node?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; +}>; + +export type DeletedElementResolvers = ResolversObject<{ + id?: Resolver; + source_index?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; +}>; + export type DependencyVersionResolvers = ResolversObject<{ name?: Resolver; version?: Resolver; @@ -32643,7 +32750,7 @@ export type IngestionTaxiiEdgeResolvers; export type InternalObjectResolvers = ResolversObject<{ - __resolveType: TypeResolveFn<'Capability' | 'CaseTemplate' | 'Connector' | 'CsvMapper' | 'DecayRule' | 'EntitySetting' | 'Group' | 'IngestionCsv' | 'IngestionRss' | 'IngestionTaxii' | 'ManagerConfiguration' | 'MeUser' | 'Notification' | 'Notifier' | 'Playbook' | 'PublicDashboard' | 'Role' | 'Settings' | 'TaskTemplate' | 'Trigger' | 'User' | 'Workspace', ParentType, ContextType>; + __resolveType: TypeResolveFn<'Capability' | 'CaseTemplate' | 'Connector' | 'CsvMapper' | 'DecayRule' | 'DeleteOperation' | 'EntitySetting' | 'Group' | 'IngestionCsv' | 'IngestionRss' | 'IngestionTaxii' | 'ManagerConfiguration' | 'MeUser' | 'Notification' | 'Notifier' | 'Playbook' | 'PublicDashboard' | 'Role' | 'Settings' | 'TaskTemplate' | 'Trigger' | 'User' | 'Workspace', ParentType, ContextType>; entity_type?: Resolver; id?: Resolver; }>; @@ -33561,6 +33668,8 @@ export type MutationResolvers>; deleteConnector?: Resolver>; deleteImport?: Resolver, ParentType, ContextType, Partial>; + deleteOperationConfirm?: Resolver, ParentType, ContextType, RequireFields>; + deleteOperationRestore?: Resolver, ParentType, ContextType, RequireFields>; entitySettingsFieldPatch?: Resolver>>, ParentType, ContextType, RequireFields>; eventAdd?: Resolver, ParentType, ContextType, RequireFields>; eventContextClean?: Resolver, ParentType, ContextType, RequireFields>; @@ -34880,6 +34989,8 @@ export type QueryResolvers, ParentType, ContextType, Partial>; decayRule?: Resolver, ParentType, ContextType, RequireFields>; decayRules?: Resolver, ParentType, ContextType, Partial>; + deleteOperation?: Resolver, ParentType, ContextType, RequireFields>; + deleteOperations?: Resolver, ParentType, ContextType, Partial>; elasticSearchMetrics?: Resolver, ParentType, ContextType>; enrichmentConnectors?: Resolver>>, ParentType, ContextType, RequireFields>; entitySetting?: Resolver, ParentType, ContextType, RequireFields>; @@ -37914,6 +38025,10 @@ export type Resolvers = ResolversObject<{ DefaultValue?: DefaultValueResolvers; DefaultValueAttribute?: DefaultValueAttributeResolvers; DefinitionRefRelationship?: DefinitionRefRelationshipResolvers; + DeleteOperation?: DeleteOperationResolvers; + DeleteOperationConnection?: DeleteOperationConnectionResolvers; + DeleteOperationEdge?: DeleteOperationEdgeResolvers; + DeletedElement?: DeletedElementResolvers; DependencyVersion?: DependencyVersionResolvers; Dictionary?: DictionaryResolvers; Directory?: DirectoryResolvers; diff --git a/opencti-platform/opencti-graphql/src/modules/deleteOperation/deleteOperation-converter.ts b/opencti-platform/opencti-graphql/src/modules/deleteOperation/deleteOperation-converter.ts new file mode 100644 index 0000000000000..c4c44acd03765 --- /dev/null +++ b/opencti-platform/opencti-graphql/src/modules/deleteOperation/deleteOperation-converter.ts @@ -0,0 +1,23 @@ +import { buildStixObject, cleanObject } from '../../database/stix-converter'; +import { STIX_EXT_OCTI } from '../../types/stix-extensions'; +import type { StixDeleteOperation, StoreEntityDeleteOperation } from './deleteOperation-types'; + +const convertDeleteOperationToStix = (instance: StoreEntityDeleteOperation): StixDeleteOperation => { + const stixObject = buildStixObject(instance); + return { + ...stixObject, + timestamp: instance.timestamp, + user_id: instance.user_id, + main_entity_type: instance.main_entity_type, + main_entity_id: instance.main_entity_id, + main_entity_name: instance.main_entity_name, + extensions: { + [STIX_EXT_OCTI]: cleanObject({ + ...stixObject.extensions[STIX_EXT_OCTI], + extension_type: 'new-sdo', + }) + } + }; +}; + +export default convertDeleteOperationToStix; diff --git a/opencti-platform/opencti-graphql/src/modules/deleteOperation/deleteOperation-domain.ts b/opencti-platform/opencti-graphql/src/modules/deleteOperation/deleteOperation-domain.ts new file mode 100644 index 0000000000000..1cf981438ca49 --- /dev/null +++ b/opencti-platform/opencti-graphql/src/modules/deleteOperation/deleteOperation-domain.ts @@ -0,0 +1,27 @@ +import type { AuthContext, AuthUser } from '../../types/user'; +import { listEntitiesPaginated, storeLoadById } from '../../database/middleware-loader'; +import type { QueryDeleteOperationsArgs } from '../../generated/graphql'; +import { type BasicStoreEntityDeleteOperation, ENTITY_TYPE_DELETE_OPERATION } from './deleteOperation-types'; + +export interface DeletedElement { + id: string + source_index: string +} + +export const findById = (context: AuthContext, user: AuthUser, id: string) => { + return storeLoadById(context, user, id, ENTITY_TYPE_DELETE_OPERATION); +}; + +export const findAll = (context: AuthContext, user: AuthUser, args: QueryDeleteOperationsArgs) => { + return listEntitiesPaginated(context, user, [ENTITY_TYPE_DELETE_OPERATION], args); +}; + +// eslint-disable-next-line @typescript-eslint/no-unused-vars +export const restoreDelete = (context: AuthContext, user: AuthUser, id: string) => { + throw new Error('Restore delete not implemented'); +}; + +// eslint-disable-next-line @typescript-eslint/no-unused-vars +export const completeDelete = (context: AuthContext, user: AuthUser, id: string) => { + throw new Error('Complete delete not implemented'); +}; diff --git a/opencti-platform/opencti-graphql/src/modules/deleteOperation/deleteOperation-graphql.ts b/opencti-platform/opencti-graphql/src/modules/deleteOperation/deleteOperation-graphql.ts new file mode 100644 index 0000000000000..f85f1be4e30a9 --- /dev/null +++ b/opencti-platform/opencti-graphql/src/modules/deleteOperation/deleteOperation-graphql.ts @@ -0,0 +1,8 @@ +import { registerGraphqlSchema } from '../../graphql/schema'; +import deleteOperationTypeDefs from './deleteOperation.graphql'; +import deleteOperationResolvers from './deleteOperation-resolvers'; + +registerGraphqlSchema({ + schema: deleteOperationTypeDefs, + resolver: deleteOperationResolvers, +}); diff --git a/opencti-platform/opencti-graphql/src/modules/deleteOperation/deleteOperation-resolvers.ts b/opencti-platform/opencti-graphql/src/modules/deleteOperation/deleteOperation-resolvers.ts new file mode 100644 index 0000000000000..70b65bf610f45 --- /dev/null +++ b/opencti-platform/opencti-graphql/src/modules/deleteOperation/deleteOperation-resolvers.ts @@ -0,0 +1,19 @@ +import type { Resolvers } from '../../generated/graphql'; +import { completeDelete, findAll, findById, restoreDelete } from './deleteOperation-domain'; + +const deleteOperationResolvers: Resolvers = { + Query: { + deleteOperation: (_, { id }, context) => findById(context, context.user, id), + deleteOperations: (_, args, context) => findAll(context, context.user, args), + }, + Mutation: { + deleteOperationRestore: (_, { id }, context) => { + return restoreDelete(context, context.user, id); + }, + deleteOperationConfirm: (_, { id }, context) => { + return completeDelete(context, context.user, id); + }, + } +}; + +export default deleteOperationResolvers; diff --git a/opencti-platform/opencti-graphql/src/modules/deleteOperation/deleteOperation-types.ts b/opencti-platform/opencti-graphql/src/modules/deleteOperation/deleteOperation-types.ts new file mode 100644 index 0000000000000..baa169e07c257 --- /dev/null +++ b/opencti-platform/opencti-graphql/src/modules/deleteOperation/deleteOperation-types.ts @@ -0,0 +1,29 @@ +import type { StixObject, StixOpenctiExtensionSDO } from '../../types/stix-common'; +import { STIX_EXT_OCTI } from '../../types/stix-extensions'; +import type { BasicStoreEntity, StoreEntity } from '../../types/store'; +import type { DeletedElement } from './deleteOperation-domain'; + +export const ENTITY_TYPE_DELETE_OPERATION = 'DeleteOperation'; + +export interface BasicStoreEntityDeleteOperation extends BasicStoreEntity { + timestamp: Date + user_id: string + main_entity_type: string + main_entity_id: string + main_entity_name: string + deleted_elements: Array +} + +export interface StoreEntityDeleteOperation extends BasicStoreEntityDeleteOperation, StoreEntity { +} + +export interface StixDeleteOperation extends StixObject { + timestamp: Date + user_id: string + main_entity_type: string + main_entity_id: string + main_entity_name: string + extensions: { + [STIX_EXT_OCTI]: StixOpenctiExtensionSDO + } +} diff --git a/opencti-platform/opencti-graphql/src/modules/deleteOperation/deleteOperation.graphql b/opencti-platform/opencti-graphql/src/modules/deleteOperation/deleteOperation.graphql new file mode 100644 index 0000000000000..d4720dad0ee0c --- /dev/null +++ b/opencti-platform/opencti-graphql/src/modules/deleteOperation/deleteOperation.graphql @@ -0,0 +1,55 @@ +# Type +type DeletedElement +{ + id: String! + source_index: String! +} + +type DeleteOperation implements InternalObject & BasicObject { + id: ID! + entity_type: String! + standard_id: String! + parent_types: [String!]! + # DeleteOperation + timestamp: DateTime! + user_id: String! + main_entity_type: String! + main_entity_id: String! + main_entity_name: String! + deleted_elements: [DeletedElement!]! +} + +# Ordering +enum DeleteOperationOrdering { + timestamp +} + +# Relay connections +type DeleteOperationConnection { + pageInfo: PageInfo! + edges: [DeleteOperationEdge!]! +} + +type DeleteOperationEdge { + cursor: String! + node: DeleteOperation! +} + +# Queries +type Query { + deleteOperation(id: String!): DeleteOperation + deleteOperations( + first: Int + after: ID + orderBy: DeleteOperationOrdering + orderMode: OrderingMode + filters: FilterGroup + search: String + ): DeleteOperationConnection +} + +# Mutations +type Mutation { + deleteOperationRestore(id: ID!): ID @auth(for: [KNOWLEDGE_KNUPDATE_KNDELETE]) + deleteOperationConfirm(id: ID!): ID @auth(for: [KNOWLEDGE_KNUPDATE_KNDELETE]) +} \ No newline at end of file diff --git a/opencti-platform/opencti-graphql/src/modules/deleteOperation/deleteOperation.ts b/opencti-platform/opencti-graphql/src/modules/deleteOperation/deleteOperation.ts new file mode 100644 index 0000000000000..edaea0c664752 --- /dev/null +++ b/opencti-platform/opencti-graphql/src/modules/deleteOperation/deleteOperation.ts @@ -0,0 +1,34 @@ +import { v4 as uuidv4 } from 'uuid'; +import { ABSTRACT_INTERNAL_OBJECT } from '../../schema/general'; +import { type ModuleDefinition, registerDefinition } from '../../schema/module'; +import { ENTITY_TYPE_DELETE_OPERATION, type StixDeleteOperation, type StoreEntityDeleteOperation } from './deleteOperation-types'; +import convertDeleteOperationToStix from './deleteOperation-converter'; + +const DELETE_OPERATION_DEFINITION: ModuleDefinition = { + type: { + id: 'deleteOperation', + name: ENTITY_TYPE_DELETE_OPERATION, + category: ABSTRACT_INTERNAL_OBJECT, + aliased: false + }, + identifier: { + definition: { + [ENTITY_TYPE_DELETE_OPERATION]: () => uuidv4() + }, + }, + attributes: [ + { name: 'timestamp', label: 'Timestamp', type: 'date', mandatoryType: 'internal', editDefault: false, multiple: false, upsert: false, isFilterable: true }, + { name: 'user_id', label: 'User_id', type: 'string', format: 'short', mandatoryType: 'internal', editDefault: false, multiple: false, upsert: false, isFilterable: true }, + { name: 'main_entity_type', label: 'Deleted entity type', type: 'string', format: 'short', mandatoryType: 'internal', editDefault: false, multiple: false, upsert: false, isFilterable: true }, + { name: 'main_entity_id', label: 'Deleted entity id', type: 'string', format: 'short', mandatoryType: 'internal', editDefault: false, multiple: false, upsert: false, isFilterable: true }, + { name: 'main_entity_name', label: 'Deleted entity name', type: 'string', format: 'short', mandatoryType: 'internal', editDefault: false, multiple: false, upsert: false, isFilterable: true }, + { name: 'deleted_elements', label: 'Deleted elements', type: 'object', format: 'flat', mandatoryType: 'no', editDefault: false, multiple: true, upsert: false, isFilterable: false }, + ], + relations: [], + representative: (stix: StixDeleteOperation) => { + return stix.main_entity_name; + }, + converter: convertDeleteOperationToStix +}; + +registerDefinition(DELETE_OPERATION_DEFINITION); diff --git a/opencti-platform/opencti-graphql/src/modules/index.ts b/opencti-platform/opencti-graphql/src/modules/index.ts index 7a0c34694e459..2701922d1e9ed 100644 --- a/opencti-platform/opencti-graphql/src/modules/index.ts +++ b/opencti-platform/opencti-graphql/src/modules/index.ts @@ -59,6 +59,7 @@ import './organization/organization'; import './internal/csvMapper/csvMapper'; import './internal/document/document'; import './publicDashboard/publicDashboard'; +import './deleteOperation/deleteOperation'; // endregion // region graphql registration @@ -96,5 +97,6 @@ import './organization/organization-graphql'; import './internal/csvMapper/csvMapper-graphql'; import './publicDashboard/publicDashboard-graphql'; import './ai/ai-graphql'; +import './deleteOperation/deleteOperation-graphql'; // import './internal/document/document-graphql'; # Not needed as document is not fully registered // endregion