Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
fcbadd2
[backend/frontend] feat(integrations): add and display datasheet and …
Kroustille Feb 27, 2026
a613305
[frontend] feat(integrations): add datasheet and demo link fields in …
Kroustille Feb 27, 2026
2781b36
[frontend] feat(services): mutualize multiple images component across…
Kroustille Feb 27, 2026
d1388d7
[frontend] feat(services): display integration images in a carousel
Kroustille Feb 27, 2026
6ca30bb
[frontend] refactor(services): rename useSimpleServiceFormField hook
Kroustille Mar 2, 2026
3051a9c
[frontend] chore: add possibility to disable service form fields
Kroustille Mar 4, 2026
8525054
[frontend] feat: add ability to update a connector urls and images
Kroustille Mar 4, 2026
16828bb
[frontend] feat: display carousel on connector pages
Kroustille Mar 4, 2026
02ce9da
[frontend] chore: use first third party integration image as logo
Kroustille Mar 4, 2026
f9ddca7
[frontend] fix: allow deletion of datasheet or demo URLs
Kroustille Mar 4, 2026
a6dc579
[backend] chore: replace only external image by connector logo
Kroustille Mar 4, 2026
8a4f0be
[backend] test: add tests for document app and document children domain
Kroustille Mar 5, 2026
a54dfc0
[backend] chore: add migration to mark connector images as external
Kroustille Mar 5, 2026
2329175
[backend/frontend] refactor: use GraphQL enum for document source typ…
Kroustille Mar 5, 2026
e084fde
[frontend] chore: disable image edition when it is from external source
Kroustille Mar 5, 2026
3230692
[backend/frontend] chore: implement copilot review comments
Kroustille Mar 5, 2026
fada5a8
Merge branch 'development' into issue/1404
Kroustille Mar 5, 2026
6f78017
[backend/frontend] chore: implement review comments
Kroustille Mar 5, 2026
a6ef5ee
Merge branch 'development' into issue/1404
Kroustille Mar 5, 2026
b594866
[frontend] refactor(service-form): move images states into service fo…
Kroustille Mar 5, 2026
610d2fc
[frontend] fix(third-party): do not display first image in carousel o…
Kroustille Mar 6, 2026
cd1a669
[frontend] fix: display filigran logo for dashboards and scenarios
Kroustille Mar 6, 2026
368ebf4
Merge branch 'development' into issue/1404
Kroustille Mar 19, 2026
74b9f21
Merge branch 'development' into issue/1404
Kroustille Mar 20, 2026
f254ca8
Merge branch 'development' into issue/1404
Kroustille Mar 23, 2026
bb51805
Merge branch 'development' into issue/1404
Kroustille Mar 24, 2026
3c52207
[backend/frontend] feat(resources): split logo and images creation an…
Kroustille Mar 25, 2026
31e1556
Merge branch 'development' into issue/1404
Kroustille Mar 25, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 28 additions & 0 deletions apps/portal-api/src/__generated__/resolvers-types.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,8 @@ interface Integration implements Node & Document {
# Integration
remover_id: ID
integration_type: IntegrationType!
datasheet_url: String
demo_url: String
}

# Strictly equal to Integration. Otherwise we have typing issues because no type overlaps
Expand Down Expand Up @@ -81,6 +83,8 @@ type IntegrationHack implements Node & Document & Integration {
# Integration
remover_id: ID
integration_type: IntegrationType!
datasheet_url: String
demo_url: String
}

type CsvFeed implements Node & Document & Integration {
Expand Down Expand Up @@ -113,6 +117,8 @@ type CsvFeed implements Node & Document & Integration {
remover_id: ID
feed_url: String
integration_type: IntegrationType!
datasheet_url: String
demo_url: String
}

type Connector implements Node & Document & Integration {
Expand Down Expand Up @@ -152,6 +158,8 @@ type Connector implements Node & Document & Integration {
integration_subtype: IntegrationSubType!
manager_supported: Boolean!
playbook_supported: Boolean!
datasheet_url: String
demo_url: String
}

type TaxiiFeed implements Node & Document & Integration {
Expand Down Expand Up @@ -185,6 +193,8 @@ type TaxiiFeed implements Node & Document & Integration {
feed_url: String
integration_type: IntegrationType!
integration_subtype: IntegrationSubType!
datasheet_url: String
demo_url: String
}

type Stream implements Node & Document & Integration {
Expand Down Expand Up @@ -218,6 +228,8 @@ type Stream implements Node & Document & Integration {
feed_url: String
integration_type: IntegrationType!
integration_subtype: IntegrationSubType!
datasheet_url: String
demo_url: String
}

type ThirdPartyIntegration implements Node & Document & Integration {
Expand Down Expand Up @@ -253,4 +265,6 @@ type ThirdPartyIntegration implements Node & Document & Integration {
vendor_url: String!
product_version: String
github_url: String
datasheet_url: String
demo_url: String
}
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ export const isIntegrationType = (

export type Integration = Document & {
integration_type: IntegrationType;
datasheet_url?: string;
demo_url?: string;
};
export type CsvFeed = Integration & {
feed_url: string;
Expand Down Expand Up @@ -75,6 +77,8 @@ export type ConnectorMetadata = MetadataArray<
export const INTEGRATION_CSV_FEED_METADATA: CsvFeedMetadata = [
{ key: 'feed_url' },
{ key: 'integration_type' },
{ key: 'datasheet_url', optional: true },
{ key: 'demo_url', optional: true },
];
export const INTEGRATION_CSV_FEED_METADATA_KEYS =
INTEGRATION_CSV_FEED_METADATA.map(({ key }) => key);
Expand All @@ -83,6 +87,8 @@ export const INTEGRATION_TAXII_FEED_METADATA: TaxiiFeedMetadata = [
{ key: 'feed_url' },
{ key: 'integration_type' },
{ key: 'integration_subtype' },
{ key: 'datasheet_url', optional: true },
{ key: 'demo_url', optional: true },
];
export const INTEGRATION_TAXII_FEED_METADATA_KEYS =
INTEGRATION_TAXII_FEED_METADATA.map(({ key }) => key);
Expand All @@ -91,6 +97,8 @@ export const INTEGRATION_STREAM_METADATA: StreamFeedMetadata = [
{ key: 'feed_url' },
{ key: 'integration_type' },
{ key: 'integration_subtype' },
{ key: 'datasheet_url', optional: true },
{ key: 'demo_url', optional: true },
];
export const INTEGRATION_STREAM_METADATA_KEYS = INTEGRATION_STREAM_METADATA.map(
({ key }) => key
Expand All @@ -102,6 +110,8 @@ export const INTEGRATION_THIRD_PARTY_INTEGRATION_METADATA: ThirdPartyIntegration
{ key: 'product_version', optional: true },
{ key: 'vendor_url' },
{ key: 'github_url', optional: true },
{ key: 'datasheet_url', optional: true },
{ key: 'demo_url', optional: true },
];
export const INTEGRATION_THIRD_PARTY_INTEGRATION_METADATA_KEYS =
INTEGRATION_THIRD_PARTY_INTEGRATION_METADATA.map(({ key }) => key);
Expand All @@ -116,6 +126,8 @@ export const INTEGRATION_CONNECTOR_METADATA: ConnectorMetadata = [
{ key: 'integration_type' },
{ key: 'manager_supported' },
{ key: 'playbook_supported' },
{ key: 'datasheet_url', optional: true },
{ key: 'demo_url', optional: true },
];
export const INTEGRATION_CONNECTOR_METADATA_KEYS =
INTEGRATION_CONNECTOR_METADATA.map(({ key }) => key);
Expand Down
7 changes: 6 additions & 1 deletion apps/portal-front/messages/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -595,6 +595,8 @@
"Form": {
"Author": "Author",
"DeleteSentence": "After clicking that button, click VALIDATE to permanently delete this image.",
"DatasheetUrlLabel": "Datasheet link (url)",
"DemoUrlLabel": "Demo link (url)",
"DescriptionLabel": "Description",
"DescriptionPlaceholder": "This is a paragraph to describe the {documentType}.",
"DescriptionUpdateJSONFile": "You're about to upload a new json file. The previous json file will be deleted. Do you want to continue?",
Expand All @@ -618,6 +620,7 @@
"SlugPlaceholder": "slug",
"UpdateJSONFile": "Update JSON file",
"UploadImage": "Upload new image(s)",
"UrlPlaceholder": "http://www.example.com",
"UseCasesLabel": "Use cases",
"UseCasesPlaceholder": "Add use cases",
"VendorUrlLabel": "Vendor URL"
Expand Down Expand Up @@ -837,7 +840,9 @@
"IntegrationSubType": "Subtype",
"GithubURL": "Github URL",
"VendorURL": "Vendor URL",
"FeedURL": "Feed URL"
"FeedURL": "Feed URL",
"DatasheetURL": "Datasheet URL",
"DemoURL": "Demo URL"
},
"Download": "Download",
"FromVersion": "From version",
Expand Down
9 changes: 7 additions & 2 deletions apps/portal-front/messages/fr.json
Original file line number Diff line number Diff line change
Expand Up @@ -616,6 +616,8 @@
"Form": {
"Author": "Auteur",
"DeleteSentence": "Après avoir cliqué sur ce bouton, cliquez sur VALIDER pour supprimer définitivement cette image.",
"DatasheetUrlLabel": "Lien vers la fiche technique (url)",
"DemoUrlLabel": "Lien vers la démo (url)",
"DescriptionLabel": "Description",
"DescriptionPlaceholder": "Il s'agit d'un paragraphe décrivant le {documentType}.",
"DescriptionUpdateJSONFile": "Vous êtes sur le point de télécharger un nouveau fichier json. Le fichier json précédent sera supprimé. Voulez-vous continuer ?",
Expand All @@ -639,6 +641,7 @@
"SlugPlaceholder": "slug",
"UpdateJSONFile": "Mise à jour du fichier JSON",
"UploadImage": "Télécharger une ou plusieurs nouvelle(s) image(s)",
"UrlPlaceholder": "http://www.example.com",
"UseCasesLabel": "Cas d'utilisation",
"UseCasesPlaceholder": "Ajouter des cas d'utilisation",
"VendorUrlLabel": "URL du fournisseur"
Expand Down Expand Up @@ -858,7 +861,9 @@
"IntegrationSubType": "Sous-type",
"GithubURL": "URL Github",
"VendorURL": "URL du fournisseur",
"FeedURL": "URL du flux"
"FeedURL": "URL du flux",
"DatasheetURL": "Fiche technique URL",
"DemoURL": "URL de la démo"
},
"Download": "Télécharger",
"FromVersion": "Depuis la version",
Expand Down Expand Up @@ -1253,4 +1258,4 @@
"UpdateDocument": "Modifier le document"
},
"entitie(s)": "entité(s)"
}
}
14 changes: 14 additions & 0 deletions apps/portal-front/schema.graphql
Original file line number Diff line number Diff line change
Expand Up @@ -720,6 +720,8 @@ interface Integration implements Node & Document {
children_documents: [ShareableResource!]
remover_id: ID
integration_type: IntegrationType!
datasheet_url: String
demo_url: String
}

type IntegrationHack implements Node & Document & Integration {
Expand All @@ -746,6 +748,8 @@ type IntegrationHack implements Node & Document & Integration {
children_documents: [ShareableResource!]
remover_id: ID
integration_type: IntegrationType!
datasheet_url: String
demo_url: String
}

type CsvFeed implements Node & Document & Integration {
Expand Down Expand Up @@ -773,6 +777,8 @@ type CsvFeed implements Node & Document & Integration {
remover_id: ID
feed_url: String
integration_type: IntegrationType!
datasheet_url: String
demo_url: String
}

type Connector implements Node & Document & Integration {
Expand Down Expand Up @@ -807,6 +813,8 @@ type Connector implements Node & Document & Integration {
integration_subtype: IntegrationSubType!
manager_supported: Boolean!
playbook_supported: Boolean!
datasheet_url: String
demo_url: String
}

type TaxiiFeed implements Node & Document & Integration {
Expand Down Expand Up @@ -835,6 +843,8 @@ type TaxiiFeed implements Node & Document & Integration {
feed_url: String
integration_type: IntegrationType!
integration_subtype: IntegrationSubType!
datasheet_url: String
demo_url: String
}

type Stream implements Node & Document & Integration {
Expand Down Expand Up @@ -863,6 +873,8 @@ type Stream implements Node & Document & Integration {
feed_url: String
integration_type: IntegrationType!
integration_subtype: IntegrationSubType!
datasheet_url: String
demo_url: String
}

type ThirdPartyIntegration implements Node & Document & Integration {
Expand Down Expand Up @@ -893,6 +905,8 @@ type ThirdPartyIntegration implements Node & Document & Integration {
vendor_url: String!
product_version: String
github_url: String
datasheet_url: String
demo_url: String
}

type ServiceGroup implements Node {
Expand Down
Loading