News

Es ist möglich, neue News-Artikel zu erstellen und bestehende News aus dem Modul zu laden.

Alle News-Quellen abrufen

Mit der Query newsFeedDatasources können alle verfügbaren News-Quellen geladen werden. Die id einer Quelle wird für weitere Operationen benötigt.

query NewsFeedDatasources {
    newsFeedDatasources {
        id
        type
        title
        color
        active
        url
    }
}

Die Antwort liefert eine Übersicht über alle News-Quellen:

{
    "data": {
        "newsFeedDatasources": [
            {
                "id": "6736f26b1955e13a0da1dfd7",
                "type": "SOCIAL_NETWORK",
                "title": "Instagram",
                "color": "#eb144c",
                "active": true,
                "url": null
            },
            {
                "id": "6720a794a9f8fe011ed9a83c",
                "type": "RSS",
                "title": "RSS Tagesschau",
                "color": "#045dd1",
                "active": true,
                "url": "https://www.tagesschau.de/index~rss2.xml"
            },
            {
                "id": "6720d5a30ae9790950c841ee",
                "type": "MANUAL",
                "title": "App-News",
                "color": "#9900ef",
                "active": true,
                "url": null
            }
        ]
    }
}

Neue News-Quellen erstellen

Mit der Mutation link:/api/#mutation-`createNewsFeedDatasource`] können neue News-Quellen hinzugefügt werden. Die folgenden Typen sind verfügbar: RSS, MANUAL und SOCIAL_NETWORK.

mutation CreateNewsFeedDatasource {
    createNewsFeedDatasource(
        input: {
            type: MANUAL
            active: true
            title: "App-News"
            color: "#333"
            autoSubscribe: false
            subscribable: false
            writerGroupIds: []
        }
    ) {
        id
        type
        title
        color
        active
        url
    }
}

Die Antwort zeigt die neu erstellte News-Quelle:

{
    "data": {
        "createNewsFeedDatasource": {
            "id": "677e6b1814dc2d0bbaa19d90",
            "type": "MANUAL",
            "title": "App-News",
            "color": "#333",
            "active": true,
            "url": null
        }
    }
}

News aus dem Modul laden

Mit der Query newsFeed kann ein chronologisch sortierter Newsfeed basierend auf den angegebenen Datenquellen erstellt werden.

query NewsFeed {
    newsFeed(datasources: ["6720a794a9f8fe011ed9a83c", "6720d5a30ae9790950c841ee"], limit: 3) {
        id
        publishedDate
        title
        body
        link
        mediaRefs {
            url
        }
    }
}

Die Antwort liefert die neuesten drei News:

{
    "data": {
        "newsFeed": [
            {
                "id": "677e5d6372c7195f0f026da5",
                "publishedDate": "2025-01-08T11:05:00Z",
                "title": "Frohes Neues",
                "body": "<div>Wir w&uuml;nschen allen Mitgliedern und ihren Familien ein frohes neues Jahr!</div>",
                "link": "",
                "mediaRefs": []
            },
            {
                "id": "677e5ccb07361654e6ccbf84",
                "publishedDate": "2025-01-08T11:00:04Z",
                "title": "Außenminister Schallenberg wird Übergangskanzler in Österreich",
                "body": "Nach dem Rücktritt von Kanzler Nehammer soll Österreichs Außenminister Schallenberg übergangsweise die Regierung leiten. Der Auftrag zur Regierungsbildung liegt inzwischen bei der rechtspopulistischen FPÖ.",
                "link": "https://www.tagesschau.de/ausland/europa/oesterreich-schallenberg-kanzler-100.html",
                "mediaRefs": [
                    {
                        "url": "https://images.tagesschau.de/image/aec56568-8c97-4498-b7db-d4be53b69907/AAABlEU2bzE/AAABkZLhkrw/16x9-1280/alexander-schallenberg-104.jpg"
                    }
                ]
            },
            {
                "id": "677e5ccb07361654e6ccbf81",
                "publishedDate": "2025-01-08T10:55:53Z",
                "title": "Iran lässt italienische Journalistin Cecilia Sala frei",
                "body": "Knapp drei Wochen war die italienische Journalistin Sala im Iran inhaftiert. Teheran warf ihr Verstöße gegen Mediengesetze des Landes vor. Nun wurde die 29-Jährige laut der italienischen Regierung freigelassen.",
                "link": "https://www.tagesschau.de/ausland/asien/iran-italienische-journalistin-100.html",
                "mediaRefs": [
                    {
                        "url": "https://images.tagesschau.de/image/3ac1031e-2097-43f4-9cce-ef1a1dda3a57/AAABlEWLeRc/AAABkZLhkrw/16x9-1280/cecilia-sala-108.jpg"
                    }
                ]
            }
        ]
    }
}

News-Eintrag erstellen

Mit der Mutation createManualNewsFeedEntry kann ein eigener News-Eintrag erstellt werden. Die Mutation updateManualNewsFeedEntry ermöglicht die Bearbeitung bestehender Einträge, während mit der Mutation deleteManualNewsFeedEntry Einträge gelöscht werden können. Der body-Inhalt wird in HTML bereitgestellt.

mutation CreateManualNewsFeedEntry {
    createManualNewsFeedEntry(
        input: {
            datasourceId: "6720d5a30ae9790950c841ee"
            title: "Erfolgreicher Helfereinsatz"
            mediaRefs: [],
            body: "<div>Am Wochenende fand ein erfolgreicher Helfereinsatz statt.</div>"
            link: ""
            author: "Vorstand"
            publishedDate: "2025-01-08T12:20:00.000Z"
            expirationDate: null
            active: true
        }
    ) {
        id
        datasourceId
        publishedDate
        expirationDate
        title
        body
        link
        author
        active
    }
}

Die Antwort zeigt den erstellten News-Eintrag:

{
    "data": {
        "createManualNewsFeedEntry": {
            "id": "677f98a07acbfb7c9708b5f7",
            "datasourceId": "6720d5a30ae9790950c841ee",
            "publishedDate": "2025-01-08T12:20:00Z",
            "expirationDate": null,
            "title": "Erfolgreicher Helfereinsatz",
            "body": "<div>Am Wochenende fand ein erfolgreicher Helfereinsatz statt.</div>",
            "link": "",
            "author": "Vorstand",
            "active": true
        }
    }
}