From f3412e40a53f05782b12a7fb6f8ac29e946111fb Mon Sep 17 00:00:00 2001 From: Leo Kewitz Date: Thu, 12 Dec 2024 15:51:02 +0100 Subject: [PATCH] chore: update schemas and langs --- lang/ca.json | 4 +- lang/cs.json | 4 +- lang/de.json | 4 +- lang/en.json | 4 +- lang/es.json | 4 +- lang/fr.json | 4 +- lang/he.json | 4 +- lang/it.json | 4 +- lang/ja.json | 4 +- lang/ko.json | 4 +- lang/nl.json | 4 +- lang/pl.json | 4 +- lang/pt-BR.json | 4 +- lang/pt.json | 4 +- lang/ru.json | 4 +- lang/sk-SK.json | 4 +- lang/sv-SE.json | 4 +- lang/uk.json | 4 +- lang/zh.json | 4 +- lib/graphql/types/v2/gql.ts | 1 - lib/graphql/types/v2/graphql.ts | 2846 ++++++++++++++++++++++++++++++- lib/graphql/types/v2/schema.ts | 36 +- 22 files changed, 2924 insertions(+), 35 deletions(-) diff --git a/lang/ca.json b/lang/ca.json index fbd3b5d2b3e..2ce260a26fa 100644 --- a/lang/ca.json +++ b/lang/ca.json @@ -940,8 +940,10 @@ "contribution.amount.other.label": "Other", "Contribution.ChargeDate": "Charge Date", "contribution.createdAt": "Created on {date}", + "Contribution.CreationDate": "Creation Date", "contribution.edit": "Edit Contribution", "Contribution.GoToPage": "Go to contribution page", + "Contribution.LastChargeDate": "Last Charge Date", "contribution.minimumAmount": "Minimum amount: {minAmount} {currency}", "contribution.paymentFee": "Payment processor fee", "contribution.quantity": "Quantitat", @@ -1049,7 +1051,6 @@ "CreateConversationFAQ.target.content": "All Conversations are public. Anyone can see and respond to them.", "CreateConversationForm.Submit": "Inicia una conversa", "createCustomTiers": "Create your own tiers", - "Created": "Created", "created": "Created", "CreatedBy": "by {name}", "CreateEvent": "Create event", @@ -2718,6 +2719,7 @@ "OGk6DC": "This Year", "OGmPSV": "Ignore Collective balance check", "oisSUu": "Contribution processing (crypto)", + "oJNxUE": "Next Charge Date", "oK0S4l": "Transaction ID", "OKMbES": "Create expected funds", "oKmsSw": "Requires tax form", diff --git a/lang/cs.json b/lang/cs.json index 3915c28e506..47092f9cb1e 100644 --- a/lang/cs.json +++ b/lang/cs.json @@ -940,8 +940,10 @@ "contribution.amount.other.label": "Ostatní", "Contribution.ChargeDate": "Charge Date", "contribution.createdAt": "Vytvořeno dne {date}", + "Contribution.CreationDate": "Creation Date", "contribution.edit": "Upravit příspěvek", "Contribution.GoToPage": "Přejít na stránku s příspěvkem", + "Contribution.LastChargeDate": "Last Charge Date", "contribution.minimumAmount": "Minimum amount: {minAmount} {currency}", "contribution.paymentFee": "Poplatek zpracovatele platby", "contribution.quantity": "Množství", @@ -1049,7 +1051,6 @@ "CreateConversationFAQ.target.content": "All Conversations are public. Anyone can see and respond to them.", "CreateConversationForm.Submit": "Vytvořit konverzaci", "createCustomTiers": "Create your own tiers", - "Created": "Created", "created": "Created", "CreatedBy": "by {name}", "CreateEvent": "Create event", @@ -2718,6 +2719,7 @@ "OGk6DC": "This Year", "OGmPSV": "Ignore Collective balance check", "oisSUu": "Contribution processing (crypto)", + "oJNxUE": "Next Charge Date", "oK0S4l": "Transaction ID", "OKMbES": "Create expected funds", "oKmsSw": "Requires tax form", diff --git a/lang/de.json b/lang/de.json index d44959536ff..3fb37594f42 100644 --- a/lang/de.json +++ b/lang/de.json @@ -940,8 +940,10 @@ "contribution.amount.other.label": "Andere", "Contribution.ChargeDate": "Charge Date", "contribution.createdAt": "Erstellt am {date}", + "Contribution.CreationDate": "Creation Date", "contribution.edit": "Spende bearbeiten", "Contribution.GoToPage": "Zur Beitragsseite", + "Contribution.LastChargeDate": "Last Charge Date", "contribution.minimumAmount": "Mindestbetrag: {minAmount} {currency}", "contribution.paymentFee": "Gebühr für Zahlungsabwicklung", "contribution.quantity": "Quantity", @@ -1049,7 +1051,6 @@ "CreateConversationFAQ.target.content": "Alle Unterhaltungen sind öffentlich. Jeder kann sie sehen und darauf antworten.", "CreateConversationForm.Submit": "Unterhaltung beginnen", "createCustomTiers": "Eigene Stufen erstellen", - "Created": "Created", "created": "Created", "CreatedBy": "von {name}", "CreateEvent": "Create event", @@ -2718,6 +2719,7 @@ "OGk6DC": "Dieses Jahr", "OGmPSV": "Ignore Collective balance check", "oisSUu": "Beitragsverarbeitung (Krypto)", + "oJNxUE": "Next Charge Date", "oK0S4l": "Transaktions-ID", "OKMbES": "Create expected funds", "oKmsSw": "Erfordert ein Steuerformular", diff --git a/lang/en.json b/lang/en.json index 11f1fd429a0..74f2f923d7c 100644 --- a/lang/en.json +++ b/lang/en.json @@ -940,8 +940,10 @@ "contribution.amount.other.label": "Other", "Contribution.ChargeDate": "Charge Date", "contribution.createdAt": "Created on {date}", + "Contribution.CreationDate": "Creation Date", "contribution.edit": "Edit Contribution", "Contribution.GoToPage": "Go to contribution page", + "Contribution.LastChargeDate": "Last Charge Date", "contribution.minimumAmount": "Minimum amount: {minAmount} {currency}", "contribution.paymentFee": "Payment processor fee", "contribution.quantity": "Quantity", @@ -1049,7 +1051,6 @@ "CreateConversationFAQ.target.content": "All Conversations are public. Anyone can see and respond to them.", "CreateConversationForm.Submit": "Create Conversation", "createCustomTiers": "Create your own tiers", - "Created": "Created", "created": "Created", "CreatedBy": "by {name}", "CreateEvent": "Create event", @@ -2718,6 +2719,7 @@ "OGk6DC": "This Year", "OGmPSV": "Ignore Collective balance check", "oisSUu": "Contribution processing (crypto)", + "oJNxUE": "Next Charge Date", "oK0S4l": "Transaction ID", "OKMbES": "Create expected funds", "oKmsSw": "Requires tax form", diff --git a/lang/es.json b/lang/es.json index 153cf7082eb..d58ff1d5943 100644 --- a/lang/es.json +++ b/lang/es.json @@ -940,8 +940,10 @@ "contribution.amount.other.label": "Otro", "Contribution.ChargeDate": "Fecha de cobro", "contribution.createdAt": "Creado el {date}", + "Contribution.CreationDate": "Creation Date", "contribution.edit": "Editar Contribución", "Contribution.GoToPage": "Ir a la página de contribución", + "Contribution.LastChargeDate": "Last Charge Date", "contribution.minimumAmount": "Monto mínimo: {minAmount} {currency}", "contribution.paymentFee": "Comisión del procesador de pagos", "contribution.quantity": "Cantidad", @@ -1049,7 +1051,6 @@ "CreateConversationFAQ.target.content": "Todas las conversaciones son públicas. Cualquiera puede verlas y responderlas.", "CreateConversationForm.Submit": "Crear conversación", "createCustomTiers": "Crear tus propias Categorías", - "Created": "Created", "created": "Creado", "CreatedBy": "por {name}", "CreateEvent": "Crear Evento", @@ -2718,6 +2719,7 @@ "OGk6DC": "Este Año", "OGmPSV": "Ignorar la comprobación del saldo del Colectivo", "oisSUu": "Contribución que se está procesando (cripto)", + "oJNxUE": "Next Charge Date", "oK0S4l": "Identificador de la Transacción", "OKMbES": "Crear fondos previstos", "oKmsSw": "Requiere formulario fiscal", diff --git a/lang/fr.json b/lang/fr.json index 140f39b242c..548e7688fc8 100644 --- a/lang/fr.json +++ b/lang/fr.json @@ -940,8 +940,10 @@ "contribution.amount.other.label": "Autre", "Contribution.ChargeDate": "Charge Date", "contribution.createdAt": "Créé le {date}", + "Contribution.CreationDate": "Creation Date", "contribution.edit": "Modifier la contribution", "Contribution.GoToPage": "Aller à la page Contribution", + "Contribution.LastChargeDate": "Last Charge Date", "contribution.minimumAmount": "Montant minimum : {minAmount} {currency}", "contribution.paymentFee": "Frais du processeur de paiement", "contribution.quantity": "Quantité", @@ -1049,7 +1051,6 @@ "CreateConversationFAQ.target.content": "Toutes les conversations sont publiques. N'importe qui peut les voir et y répondre.", "CreateConversationForm.Submit": "Démarrer une Conversation", "createCustomTiers": "Créer vos propres paliers", - "Created": "Created", "created": "Créé", "CreatedBy": "par {name}", "CreateEvent": "Créer un évènement", @@ -2718,6 +2719,7 @@ "OGk6DC": "Cette année", "OGmPSV": "Ignore Collective balance check", "oisSUu": "Traitement de la contribution (crypto)", + "oJNxUE": "Next Charge Date", "oK0S4l": "ID de la transaction", "OKMbES": "Créer des fonds attendus", "oKmsSw": "Formulaire fiscal requis", diff --git a/lang/he.json b/lang/he.json index 6007e103026..803a6c32743 100644 --- a/lang/he.json +++ b/lang/he.json @@ -940,8 +940,10 @@ "contribution.amount.other.label": "אחר", "Contribution.ChargeDate": "Charge Date", "contribution.createdAt": "Created on {date}", + "Contribution.CreationDate": "Creation Date", "contribution.edit": "Edit Contribution", "Contribution.GoToPage": "Go to contribution page", + "Contribution.LastChargeDate": "Last Charge Date", "contribution.minimumAmount": "סכום מינימלי: {minAmount}{currency}", "contribution.paymentFee": "עמלות טיפול בתשלום", "contribution.quantity": "כמות", @@ -1049,7 +1051,6 @@ "CreateConversationFAQ.target.content": "כל השיחות ציבוריות. כולן יכולות לראות ולהגיב.", "CreateConversationForm.Submit": "יצירת דיון", "createCustomTiers": "יצירת דרגות משלך", - "Created": "Created", "created": "Created", "CreatedBy": "על ידי {name}", "CreateEvent": "Create event", @@ -2718,6 +2719,7 @@ "OGk6DC": "השנה", "OGmPSV": "Ignore Collective balance check", "oisSUu": "Contribution processing (crypto)", + "oJNxUE": "Next Charge Date", "oK0S4l": "Transaction ID", "OKMbES": "Create expected funds", "oKmsSw": "Requires tax form", diff --git a/lang/it.json b/lang/it.json index 6b45b317b88..ec71919626b 100644 --- a/lang/it.json +++ b/lang/it.json @@ -940,8 +940,10 @@ "contribution.amount.other.label": "Altro", "Contribution.ChargeDate": "Charge Date", "contribution.createdAt": "Created on {date}", + "Contribution.CreationDate": "Creation Date", "contribution.edit": "Edit Contribution", "Contribution.GoToPage": "Go to contribution page", + "Contribution.LastChargeDate": "Last Charge Date", "contribution.minimumAmount": "Importo minimo: {minAmount} {currency}", "contribution.paymentFee": "Payment processor fee", "contribution.quantity": "Quantità", @@ -1049,7 +1051,6 @@ "CreateConversationFAQ.target.content": "Tutte le conversazioni sono pubbliche. Chiunque può vedere e rispondere a loro.", "CreateConversationForm.Submit": "Crea conversazione", "createCustomTiers": "Create your own tiers", - "Created": "Created", "created": "Created", "CreatedBy": "da {name}", "CreateEvent": "Create event", @@ -2718,6 +2719,7 @@ "OGk6DC": "Quest'anno", "OGmPSV": "Ignore Collective balance check", "oisSUu": "Contribution processing (crypto)", + "oJNxUE": "Next Charge Date", "oK0S4l": "ID della transazione", "OKMbES": "Create expected funds", "oKmsSw": "Requires tax form", diff --git a/lang/ja.json b/lang/ja.json index cf2f2282b5a..38117712755 100644 --- a/lang/ja.json +++ b/lang/ja.json @@ -940,8 +940,10 @@ "contribution.amount.other.label": "その他", "Contribution.ChargeDate": "Charge Date", "contribution.createdAt": "Created on {date}", + "Contribution.CreationDate": "Creation Date", "contribution.edit": "Edit Contribution", "Contribution.GoToPage": "この財政貢献の詳細ページへ移動", + "Contribution.LastChargeDate": "Last Charge Date", "contribution.minimumAmount": "最少金額: {minAmount} {currency}", "contribution.paymentFee": "決済代行手数料", "contribution.quantity": "数量", @@ -1049,7 +1051,6 @@ "CreateConversationFAQ.target.content": "すべての会話は公開されます。誰もが会話を見たり、返信したりできます。", "CreateConversationForm.Submit": "会話を開始", "createCustomTiers": "Create your own tiers", - "Created": "Created", "created": "Created", "CreatedBy": "{name}", "CreateEvent": "Create event", @@ -2718,6 +2719,7 @@ "OGk6DC": "今年", "OGmPSV": "Ignore Collective balance check", "oisSUu": "Contribution processing (crypto)", + "oJNxUE": "Next Charge Date", "oK0S4l": "Transaction ID", "OKMbES": "Create expected funds", "oKmsSw": "Requires tax form", diff --git a/lang/ko.json b/lang/ko.json index ddeedf34f32..96bf9cf6bde 100644 --- a/lang/ko.json +++ b/lang/ko.json @@ -940,8 +940,10 @@ "contribution.amount.other.label": "기타", "Contribution.ChargeDate": "Charge Date", "contribution.createdAt": "Created on {date}", + "Contribution.CreationDate": "Creation Date", "contribution.edit": "Edit Contribution", "Contribution.GoToPage": "Go to contribution page", + "Contribution.LastChargeDate": "Last Charge Date", "contribution.minimumAmount": "Minimum amount: {minAmount} {currency}", "contribution.paymentFee": "결제 처리 수수료", "contribution.quantity": "수량", @@ -1049,7 +1051,6 @@ "CreateConversationFAQ.target.content": "All Conversations are public. Anyone can see and respond to them.", "CreateConversationForm.Submit": "대화 만들기", "createCustomTiers": "Create your own tiers", - "Created": "Created", "created": "Created", "CreatedBy": "by {name}", "CreateEvent": "Create event", @@ -2718,6 +2719,7 @@ "OGk6DC": "This Year", "OGmPSV": "Ignore Collective balance check", "oisSUu": "Contribution processing (crypto)", + "oJNxUE": "Next Charge Date", "oK0S4l": "Transaction ID", "OKMbES": "Create expected funds", "oKmsSw": "Requires tax form", diff --git a/lang/nl.json b/lang/nl.json index 8dace59538d..97c4ab72024 100644 --- a/lang/nl.json +++ b/lang/nl.json @@ -940,8 +940,10 @@ "contribution.amount.other.label": "Andere", "Contribution.ChargeDate": "Charge Date", "contribution.createdAt": "Created on {date}", + "Contribution.CreationDate": "Creation Date", "contribution.edit": "Edit Contribution", "Contribution.GoToPage": "Go to contribution page", + "Contribution.LastChargeDate": "Last Charge Date", "contribution.minimumAmount": "Minimum bedrag: {minAmount} {currency}", "contribution.paymentFee": "Payment processor fee", "contribution.quantity": "Aantal", @@ -1049,7 +1051,6 @@ "CreateConversationFAQ.target.content": "All Conversations are public. Anyone can see and respond to them.", "CreateConversationForm.Submit": "Gesprek aanmaken", "createCustomTiers": "Create your own tiers", - "Created": "Created", "created": "Aangemaakt", "CreatedBy": "door {name}", "CreateEvent": "Create event", @@ -2718,6 +2719,7 @@ "OGk6DC": "Dit jaar", "OGmPSV": "Ignore Collective balance check", "oisSUu": "Contribution processing (crypto)", + "oJNxUE": "Next Charge Date", "oK0S4l": "Transactie-ID", "OKMbES": "Create expected funds", "oKmsSw": "Belastingformulier vereist", diff --git a/lang/pl.json b/lang/pl.json index 0ce6a4512ae..4b235390752 100644 --- a/lang/pl.json +++ b/lang/pl.json @@ -940,8 +940,10 @@ "contribution.amount.other.label": "Inne", "Contribution.ChargeDate": "Charge Date", "contribution.createdAt": "Utworzono {date}", + "Contribution.CreationDate": "Creation Date", "contribution.edit": "Edytuj Wkład", "Contribution.GoToPage": "Przejdź do strony z wpłatami", + "Contribution.LastChargeDate": "Last Charge Date", "contribution.minimumAmount": "Kwota minimalna: {minAmount} {currency}", "contribution.paymentFee": "Opłata za przetwarzanie płatności", "contribution.quantity": "Ilość", @@ -1049,7 +1051,6 @@ "CreateConversationFAQ.target.content": "Wszystkie rozmowy są publiczne. Każdy może je zobaczyć i odpowiedzieć na nie.", "CreateConversationForm.Submit": "Stwórz zbiórkę", "createCustomTiers": "Twórz swoje własne poziomy", - "Created": "Created", "created": "Created", "CreatedBy": "przez {name}", "CreateEvent": "Create event", @@ -2718,6 +2719,7 @@ "OGk6DC": "Ten rok", "OGmPSV": "Ignore Collective balance check", "oisSUu": "Przetwarzanie wkładu (kryptowaluta)", + "oJNxUE": "Next Charge Date", "oK0S4l": "ID Transakcji", "OKMbES": "Create expected funds", "oKmsSw": "Requires tax form", diff --git a/lang/pt-BR.json b/lang/pt-BR.json index 19c98c1d953..b40c8dc15a6 100644 --- a/lang/pt-BR.json +++ b/lang/pt-BR.json @@ -940,8 +940,10 @@ "contribution.amount.other.label": "Outro", "Contribution.ChargeDate": "Charge Date", "contribution.createdAt": "Criado em {date}", + "Contribution.CreationDate": "Creation Date", "contribution.edit": "Editar Contribuição", "Contribution.GoToPage": "Ir para a página de contribuição", + "Contribution.LastChargeDate": "Last Charge Date", "contribution.minimumAmount": "Valor mínimo: {minAmount} {currency}", "contribution.paymentFee": "Taxa do processador de pagamento", "contribution.quantity": "Quantidade", @@ -1049,7 +1051,6 @@ "CreateConversationFAQ.target.content": "Todas as conversas são públicas. Qualquer pessoa pode ver e respondê-las.", "CreateConversationForm.Submit": "Criar uma conversa", "createCustomTiers": "Crie seus próprios níveis", - "Created": "Created", "created": "Criado", "CreatedBy": "por {name}", "CreateEvent": "Criar evento", @@ -2718,6 +2719,7 @@ "OGk6DC": "This Year", "OGmPSV": "Ignore Collective balance check", "oisSUu": "Contribution processing (crypto)", + "oJNxUE": "Next Charge Date", "oK0S4l": "Transaction ID", "OKMbES": "Create expected funds", "oKmsSw": "Requires tax form", diff --git a/lang/pt.json b/lang/pt.json index df12eea5336..505247ff4ad 100644 --- a/lang/pt.json +++ b/lang/pt.json @@ -940,8 +940,10 @@ "contribution.amount.other.label": "Outro", "Contribution.ChargeDate": "Charge Date", "contribution.createdAt": "Created on {date}", + "Contribution.CreationDate": "Creation Date", "contribution.edit": "Edit Contribution", "Contribution.GoToPage": "Go to contribution page", + "Contribution.LastChargeDate": "Last Charge Date", "contribution.minimumAmount": "Minimum amount: {minAmount} {currency}", "contribution.paymentFee": "Taxa de processamento de pagamento", "contribution.quantity": "Quantidade", @@ -1049,7 +1051,6 @@ "CreateConversationFAQ.target.content": "All Conversations are public. Anyone can see and respond to them.", "CreateConversationForm.Submit": "Create Conversation", "createCustomTiers": "Create your own tiers", - "Created": "Created", "created": "Created", "CreatedBy": "por {name}", "CreateEvent": "Create event", @@ -2718,6 +2719,7 @@ "OGk6DC": "This Year", "OGmPSV": "Ignore Collective balance check", "oisSUu": "Contribution processing (crypto)", + "oJNxUE": "Next Charge Date", "oK0S4l": "Transaction ID", "OKMbES": "Create expected funds", "oKmsSw": "Requires tax form", diff --git a/lang/ru.json b/lang/ru.json index fc0779b6ab1..82ee5a31f43 100644 --- a/lang/ru.json +++ b/lang/ru.json @@ -940,8 +940,10 @@ "contribution.amount.other.label": "Другое", "Contribution.ChargeDate": "Charge Date", "contribution.createdAt": "Создано {date}", + "Contribution.CreationDate": "Creation Date", "contribution.edit": "Edit Contribution", "Contribution.GoToPage": "Go to contribution page", + "Contribution.LastChargeDate": "Last Charge Date", "contribution.minimumAmount": "Минимальная сумма: {minAmount} {currency}", "contribution.paymentFee": "Комиссия обработки платежа", "contribution.quantity": "Количество", @@ -1049,7 +1051,6 @@ "CreateConversationFAQ.target.content": "Все обсуждения открыты. Каждый может видеть их и отвечать на них.", "CreateConversationForm.Submit": "Создать обсуждение", "createCustomTiers": "Создать свои уровни", - "Created": "Created", "created": "Created", "CreatedBy": "{name}", "CreateEvent": "Создать событие", @@ -2718,6 +2719,7 @@ "OGk6DC": "This Year", "OGmPSV": "Ignore Collective balance check", "oisSUu": "Contribution processing (crypto)", + "oJNxUE": "Next Charge Date", "oK0S4l": "Transaction ID", "OKMbES": "Create expected funds", "oKmsSw": "Requires tax form", diff --git a/lang/sk-SK.json b/lang/sk-SK.json index fb3e3dd348e..fea1700958c 100644 --- a/lang/sk-SK.json +++ b/lang/sk-SK.json @@ -940,8 +940,10 @@ "contribution.amount.other.label": "Ostatné", "Contribution.ChargeDate": "Charge Date", "contribution.createdAt": "Vytvorené dňa {date}", + "Contribution.CreationDate": "Creation Date", "contribution.edit": "Upraviť príspevok", "Contribution.GoToPage": "Prejsť na stránku s príspevkami", + "Contribution.LastChargeDate": "Last Charge Date", "contribution.minimumAmount": "Minimálna suma: {minAmount} {currency}", "contribution.paymentFee": "Poplatok za spracovanie platby", "contribution.quantity": "Množstvo", @@ -1049,7 +1051,6 @@ "CreateConversationFAQ.target.content": "Všetky Konverzácie sú verejné. Ktokoľvek ich môže vidieť a reagovať na ne.", "CreateConversationForm.Submit": "Vytvoriť Konverzáciu", "createCustomTiers": "Vytvorte si vaše vlastné úrovne", - "Created": "Created", "created": "Vytvorené", "CreatedBy": "podľa používateľa {name}", "CreateEvent": "Vytvoriť udalosť", @@ -2718,6 +2719,7 @@ "OGk6DC": "This Year", "OGmPSV": "Ignore Collective balance check", "oisSUu": "Contribution processing (crypto)", + "oJNxUE": "Next Charge Date", "oK0S4l": "Transaction ID", "OKMbES": "Create expected funds", "oKmsSw": "Requires tax form", diff --git a/lang/sv-SE.json b/lang/sv-SE.json index 537d208e1a0..e2742a5acdb 100644 --- a/lang/sv-SE.json +++ b/lang/sv-SE.json @@ -940,8 +940,10 @@ "contribution.amount.other.label": "Övriga", "Contribution.ChargeDate": "Charge Date", "contribution.createdAt": "Created on {date}", + "Contribution.CreationDate": "Creation Date", "contribution.edit": "Edit Contribution", "Contribution.GoToPage": "Go to contribution page", + "Contribution.LastChargeDate": "Last Charge Date", "contribution.minimumAmount": "Minsta belopp: {minAmount} {currency}", "contribution.paymentFee": "Betalningshanteringsavgift", "contribution.quantity": "Antal", @@ -1049,7 +1051,6 @@ "CreateConversationFAQ.target.content": "Alla forumtrådar är offentliga. Vem som helst kan se och svara på dem.", "CreateConversationForm.Submit": "Skapa konversation", "createCustomTiers": "Skapa dina egna nivåer", - "Created": "Created", "created": "Created", "CreatedBy": "av {name}", "CreateEvent": "Create event", @@ -2718,6 +2719,7 @@ "OGk6DC": "I år", "OGmPSV": "Ignore Collective balance check", "oisSUu": "Bidraget bearbetas (krypto)", + "oJNxUE": "Next Charge Date", "oK0S4l": "Transaction ID", "OKMbES": "Create expected funds", "oKmsSw": "Requires tax form", diff --git a/lang/uk.json b/lang/uk.json index 4a505d82e6d..2b688cd1f05 100644 --- a/lang/uk.json +++ b/lang/uk.json @@ -940,8 +940,10 @@ "contribution.amount.other.label": "Інше", "Contribution.ChargeDate": "Charge Date", "contribution.createdAt": "Створено {date}", + "Contribution.CreationDate": "Creation Date", "contribution.edit": "Редагувати внесок", "Contribution.GoToPage": "Перейти на сторінку внесків", + "Contribution.LastChargeDate": "Last Charge Date", "contribution.minimumAmount": "Найменша сума: {minAmount} {currency}", "contribution.paymentFee": "Комісія обробника платежу", "contribution.quantity": "Кількість", @@ -1049,7 +1051,6 @@ "CreateConversationFAQ.target.content": "Всі обговорення загальнодоступні. Кожен може побачити та відповісти на них.", "CreateConversationForm.Submit": "Створити розмову", "createCustomTiers": "Створіть свої власні рівні", - "Created": "Created", "created": "Створено", "CreatedBy": "від {name}", "CreateEvent": "Створити подію", @@ -2718,6 +2719,7 @@ "OGk6DC": "Цього року", "OGmPSV": "Ignore Collective balance check", "oisSUu": "Обробка внеску (криптовалюта)", + "oJNxUE": "Next Charge Date", "oK0S4l": "ID транзакції", "OKMbES": "Create expected funds", "oKmsSw": "Requires tax form", diff --git a/lang/zh.json b/lang/zh.json index db0b170b6d9..f639c74df9d 100644 --- a/lang/zh.json +++ b/lang/zh.json @@ -940,8 +940,10 @@ "contribution.amount.other.label": "其他", "Contribution.ChargeDate": "Charge Date", "contribution.createdAt": "创建于 {date}", + "Contribution.CreationDate": "Creation Date", "contribution.edit": "编辑贡献", "Contribution.GoToPage": "千万贡献页", + "Contribution.LastChargeDate": "Last Charge Date", "contribution.minimumAmount": "最小金额:{minAmount} {currency}", "contribution.paymentFee": "支付手续费", "contribution.quantity": "数量", @@ -1049,7 +1051,6 @@ "CreateConversationFAQ.target.content": "所有对话都是公开的,任何人都可以看到和回应。", "CreateConversationForm.Submit": "创建新对话", "createCustomTiers": "创建你自己的等级。", - "Created": "Created", "created": "Created", "CreatedBy": "由 {name}", "CreateEvent": "创建活动", @@ -2718,6 +2719,7 @@ "OGk6DC": "今天", "OGmPSV": "Ignore Collective balance check", "oisSUu": "贡献处理中(crypto)", + "oJNxUE": "Next Charge Date", "oK0S4l": "交易 ID", "OKMbES": "Create expected funds", "oKmsSw": "需要税表", diff --git a/lib/graphql/types/v2/gql.ts b/lib/graphql/types/v2/gql.ts index c60a42c68a2..646b95b90c6 100644 --- a/lib/graphql/types/v2/gql.ts +++ b/lib/graphql/types/v2/gql.ts @@ -11,7 +11,6 @@ import { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/ * 3. It does not support dead code elimination, so it will add unused operations. * * Therefore it is highly recommended to use the babel or swc plugin for production. - * Learn more about it here: https://the-guild.dev/graphql/codegen/plugins/presets/preset-client#reducing-bundle-size */ const documents = { "\n fragment AccountHoverCardFields on Account {\n id\n name\n slug\n type\n description\n imageUrl\n isHost\n isArchived\n ... on Individual {\n isGuest\n }\n ... on AccountWithHost {\n host {\n id\n slug\n }\n approvedAt\n }\n\n ... on AccountWithParent {\n parent {\n id\n slug\n }\n }\n }\n": types.AccountHoverCardFieldsFragmentDoc, diff --git a/lib/graphql/types/v2/graphql.ts b/lib/graphql/types/v2/graphql.ts index f671ff35f9e..aa207f70736 100644 --- a/lib/graphql/types/v2/graphql.ts +++ b/lib/graphql/types/v2/graphql.ts @@ -450,6 +450,15 @@ export enum AccountCacheType { GRAPHQL_QUERIES = 'GRAPHQL_QUERIES' } +/** A collection of "Accounts" */ +export type AccountCollection = Collection & { + __typename?: 'AccountCollection'; + limit?: Maybe; + nodes?: Maybe>>; + offset?: Maybe; + totalCount?: Maybe; +}; + export enum AccountFreezeAction { FREEZE = 'FREEZE', UNFREEZE = 'UNFREEZE' @@ -461,6 +470,18 @@ export enum AccountOrdersFilter { OUTGOING = 'OUTGOING' } +/** Fields for the user permissions on an account */ +export type AccountPermissions = { + __typename?: 'AccountPermissions'; + /** Whether the current user can add funds to this account */ + addFunds: Permission; + /** Whether the current user can download this account's payment receipts */ + canDownloadPaymentReceipts: Permission; + /** Whether the current user can contact this account */ + contact: Permission; + id: Scalars['String']['output']; +}; + export type AccountReferenceInput = { /** The public id identifying the account (ie: dgm9bnk8-0437xqry-ejpvzeol-jdayw5re) */ id?: InputMaybe; @@ -473,6 +494,235 @@ export type AccountReferenceInput = { slug?: InputMaybe; }; +/** Stats for the Account */ +export type AccountStats = { + __typename?: 'AccountStats'; + /** @deprecated 2022-10-21: Use activeRecurringContributionsV2 while we migrate to better semantics. */ + activeRecurringContributions?: Maybe; + /** Returns some statistics about active recurring contributions, broken down by frequency */ + activeRecurringContributionsBreakdown: Array; + /** @deprecated 2024-03-04: Use activeRecurringContributionsBreakdown while we migrate to better semantics. */ + activeRecurringContributionsV2?: Maybe; + /** Amount pledged time series */ + amountPledgedTimeSeries: TimeSeriesAmount; + /** Amount of money in cents in the currency of the collective */ + balance: Amount; + /** Balance time series */ + balanceTimeSeries: TimeSeriesAmount; + /** + * Amount of money in cents in the currency of the collective currently available to spend + * @deprecated 2022-12-13: Use balance + withBlockedFunds instead + */ + balanceWithBlockedFunds: Amount; + /** + * The consolidated amount of all the events and projects combined. + * @deprecated 2022-09-02: Use balance + includeChildren instead + */ + consolidatedBalance: Amount; + /** Return amount stats for contributions (default, and only for now: one-time vs recurring) */ + contributionsAmount?: Maybe>>; + /** Return amount time series for contributions (default, and only for now: one-time vs recurring) */ + contributionsAmountTimeSeries: TimeSeriesAmount; + contributionsCount: Scalars['Int']['output']; + contributorsCount: Scalars['Int']['output']; + /** Returns expense tags for collective sorted by popularity */ + expensesTags?: Maybe>>; + /** History of the expense tags used by this collective. */ + expensesTagsTimeSeries: TimeSeriesAmount; + id?: Maybe; + /** Average amount spent per month based on the last 90 days */ + monthlySpending: Amount; + /** Total amount received */ + totalAmountReceived: Amount; + /** Total amount received time series */ + totalAmountReceivedTimeSeries: TimeSeriesAmount; + /** Total amount spent */ + totalAmountSpent: Amount; + /** + * Total net amount received + * @deprecated 2022-12-13: Use totalAmountReceived + net=true instead + */ + totalNetAmountReceived: Amount; + /** + * Total net amount received time series + * @deprecated 2022-12-13: Use totalAmountReceivedTimeSeries + net=true instead + */ + totalNetAmountReceivedTimeSeries: TimeSeriesAmount; + /** Total of paid expenses to the account, filter per expense type */ + totalPaidExpenses: Amount; + yearlyBudget: Amount; + /** @deprecated 2023-03-01: This field will be removed soon, please use totalMoneyManaged */ + yearlyBudgetManaged: Amount; +}; + + +/** Stats for the Account */ +export type AccountStatsActiveRecurringContributionsBreakdownArgs = { + frequency?: InputMaybe; + includeChildren?: InputMaybe; +}; + + +/** Stats for the Account */ +export type AccountStatsActiveRecurringContributionsV2Args = { + frequency?: ContributionFrequency; +}; + + +/** Stats for the Account */ +export type AccountStatsAmountPledgedTimeSeriesArgs = { + dateFrom?: InputMaybe; + dateTo?: InputMaybe; + includeExpectedFunds?: InputMaybe; + timeUnit?: InputMaybe; +}; + + +/** Stats for the Account */ +export type AccountStatsBalanceArgs = { + currency?: InputMaybe; + dateTo?: InputMaybe; + includeChildren?: InputMaybe; + withBlockedFunds?: InputMaybe; +}; + + +/** Stats for the Account */ +export type AccountStatsBalanceTimeSeriesArgs = { + currency?: InputMaybe; + dateFrom?: InputMaybe; + dateTo?: InputMaybe; + includeChildren?: InputMaybe; + kind?: InputMaybe>>; + net?: InputMaybe; + periodInMonths?: InputMaybe; + timeUnit?: InputMaybe; +}; + + +/** Stats for the Account */ +export type AccountStatsContributionsAmountArgs = { + dateFrom?: InputMaybe; + dateTo?: InputMaybe; + includeChildren?: InputMaybe; + kind?: InputMaybe>>; +}; + + +/** Stats for the Account */ +export type AccountStatsContributionsAmountTimeSeriesArgs = { + dateFrom?: InputMaybe; + dateTo?: InputMaybe; + includeChildren?: InputMaybe; + kind?: InputMaybe>>; + timeUnit?: InputMaybe; +}; + + +/** Stats for the Account */ +export type AccountStatsContributionsCountArgs = { + dateFrom?: InputMaybe; + dateTo?: InputMaybe; + includeChildren?: InputMaybe; +}; + + +/** Stats for the Account */ +export type AccountStatsContributorsCountArgs = { + dateFrom?: InputMaybe; + dateTo?: InputMaybe; + includeChildren?: InputMaybe; +}; + + +/** Stats for the Account */ +export type AccountStatsExpensesTagsArgs = { + dateFrom?: InputMaybe; + dateTo?: InputMaybe; + includeChildren?: InputMaybe; + limit?: Scalars['Int']['input']; + truncate?: InputMaybe; +}; + + +/** Stats for the Account */ +export type AccountStatsExpensesTagsTimeSeriesArgs = { + dateFrom?: InputMaybe; + dateTo?: InputMaybe; + includeChildren?: InputMaybe; + timeUnit?: InputMaybe; +}; + + +/** Stats for the Account */ +export type AccountStatsTotalAmountReceivedArgs = { + currency?: InputMaybe; + dateFrom?: InputMaybe; + dateTo?: InputMaybe; + includeChildren?: InputMaybe; + kind?: InputMaybe>>; + net?: InputMaybe; + periodInMonths?: InputMaybe; + useCache?: Scalars['Boolean']['input']; +}; + + +/** Stats for the Account */ +export type AccountStatsTotalAmountReceivedTimeSeriesArgs = { + currency?: InputMaybe; + dateFrom?: InputMaybe; + dateTo?: InputMaybe; + includeChildren?: InputMaybe; + kind?: InputMaybe>>; + net?: InputMaybe; + periodInMonths?: InputMaybe; + timeUnit?: InputMaybe; +}; + + +/** Stats for the Account */ +export type AccountStatsTotalAmountSpentArgs = { + currency?: InputMaybe; + dateFrom?: InputMaybe; + dateTo?: InputMaybe; + includeChildren?: InputMaybe; + includeGiftCards?: InputMaybe; + kind?: InputMaybe>>; + net?: InputMaybe; + periodInMonths?: InputMaybe; +}; + + +/** Stats for the Account */ +export type AccountStatsTotalNetAmountReceivedArgs = { + dateFrom?: InputMaybe; + dateTo?: InputMaybe; + includeChildren?: InputMaybe; + kind?: InputMaybe>>; + periodInMonths?: InputMaybe; +}; + + +/** Stats for the Account */ +export type AccountStatsTotalNetAmountReceivedTimeSeriesArgs = { + currency?: InputMaybe; + dateFrom?: InputMaybe; + dateTo?: InputMaybe; + includeChildren?: InputMaybe; + kind?: InputMaybe>>; + periodInMonths?: InputMaybe; + timeUnit?: InputMaybe; +}; + + +/** Stats for the Account */ +export type AccountStatsTotalPaidExpensesArgs = { + currency?: InputMaybe; + dateFrom?: InputMaybe; + dateTo?: InputMaybe; + expenseType?: InputMaybe>>; +}; + /** All account types */ export enum AccountType { BOT = 'BOT', @@ -491,11 +741,150 @@ export type AccountUpdateInput = { id: Scalars['String']['input']; }; +/** An account that can receive financial contributions */ +export type AccountWithContributions = { + /** [!] Warning: this query is currently in beta and the API might change */ + activeContributors: AccountCollection; + /** Returns true if the remote user can start the process to resume contributions for account */ + canStartResumeContributionsProcess: Scalars['Boolean']['output']; + contributionPolicy?: Maybe; + /** All the persons and entities that contribute to this account */ + contributors: ContributorCollection; + /** Returns true if the account has started the process to resume contributions */ + hasResumeContributionsProcessStarted: Scalars['Boolean']['output']; + /** Returns true if a custom contribution to Open Collective can be submitted for contributions made to this account */ + platformContributionAvailable: Scalars['Boolean']['output']; + /** How much platform fees are charged for this account */ + platformFeePercent: Scalars['Float']['output']; + tiers: TierCollection; + /** Number of unique financial contributors. */ + totalFinancialContributors: Scalars['Int']['output']; +}; + + +/** An account that can receive financial contributions */ +export type AccountWithContributionsActiveContributorsArgs = { + dateFrom?: InputMaybe; + dateTo?: InputMaybe; + includeActiveRecurringContributions?: InputMaybe; + limit?: Scalars['Int']['input']; + offset?: Scalars['Int']['input']; +}; + + +/** An account that can receive financial contributions */ +export type AccountWithContributionsContributorsArgs = { + limit?: Scalars['Int']['input']; + offset?: Scalars['Int']['input']; + roles?: InputMaybe>>; +}; + + +/** An account that can receive financial contributions */ +export type AccountWithContributionsTiersArgs = { + limit?: Scalars['Int']['input']; + offset?: Scalars['Int']['input']; +}; + + +/** An account that can receive financial contributions */ +export type AccountWithContributionsTotalFinancialContributorsArgs = { + accountType?: InputMaybe; +}; + +/** An account that can be hosted by a Host */ +export type AccountWithHost = { + /** Date of approval by the Fiscal Host. */ + approvedAt?: Maybe; + /** Returns the Fiscal Host */ + host?: Maybe; + /** Returns agreements this account has with its host, or null if not enough permissions. */ + hostAgreements?: Maybe; + /** Returns the Fiscal Host application */ + hostApplication?: Maybe; + /** Fees percentage that the host takes for this collective */ + hostFeePercent?: Maybe; + /** Describe how the host charges the collective */ + hostFeesStructure?: Maybe; + /** Returns whether it's active: can accept financial contributions and pay expenses. */ + isActive: Scalars['Boolean']['output']; + /** Returns whether it's approved by the Fiscal Host */ + isApproved: Scalars['Boolean']['output']; + /** Fees percentage that the platform takes for this collective */ + platformFeePercent?: Maybe; + summary?: Maybe; + /** Date when the collective was last unfrozen by current Fiscal Host */ + unfrozenAt?: Maybe; +}; + + +/** An account that can be hosted by a Host */ +export type AccountWithHostHostAgreementsArgs = { + limit?: Scalars['Int']['input']; + offset?: Scalars['Int']['input']; +}; + + +/** An account that can be hosted by a Host */ +export type AccountWithHostHostFeePercentArgs = { + paymentMethodService?: InputMaybe; + paymentMethodType?: InputMaybe; +}; + + +/** An account that can be hosted by a Host */ +export type AccountWithHostSummaryArgs = { + dateFrom?: InputMaybe; + dateTo?: InputMaybe; +}; + +/** An account that has a parent account */ +export type AccountWithParent = { + /** The Account parenting this account */ + parent?: Maybe; +}; + +/** Fields for an accounting category */ +export type AccountingCategory = { + __typename?: 'AccountingCategory'; + /** The account this category belongs to */ + account: Host; + /** If the category is applicable to the Host or Hosted Collectives */ + appliesTo: AccountingCategoryAppliesTo; + /** The code of the accounting category */ + code: Scalars['String']['output']; + /** The time of creation of this accounting category */ + createdAt: Scalars['DateTime']['output']; + /** If meant for expenses, the types of expenses this category applies to */ + expensesTypes?: Maybe>>; + /** A friendly name for non-accountants (i.e. expense submitters and collective admins) */ + friendlyName?: Maybe; + /** Whether this category is only meant for the host admins */ + hostOnly: Scalars['Boolean']['output']; + id: Scalars['String']['output']; + /** Instructions for the expense submitters */ + instructions?: Maybe; + /** The kind of transactions this category applies to */ + kind?: Maybe; + /** The technical name of the accounting category */ + name: Scalars['String']['output']; +}; + export enum AccountingCategoryAppliesTo { HOST = 'HOST', HOSTED_COLLECTIVES = 'HOSTED_COLLECTIVES' } +/** A collection of "Accounting Categories" */ +export type AccountingCategoryCollection = Collection & { + __typename?: 'AccountingCategoryCollection'; + limit?: Maybe; + /** The Accounting Categories */ + nodes: Array; + offset?: Maybe; + totalCount?: Maybe; +}; + /** Input for creating or updating an account category */ export type AccountingCategoryInput = { /** If the category is applicable to the Host or Hosted Collectives */ @@ -528,6 +917,39 @@ export type AccountingCategoryReferenceInput = { id: Scalars['NonEmptyString']['input']; }; +/** An activity describing something that happened on the platform */ +export type Activity = { + __typename?: 'Activity'; + /** The account targeted by this activity, if any */ + account?: Maybe; + /** The conversation related to this activity, if any */ + conversation?: Maybe; + /** The date on which the ConnectedAccount was created */ + createdAt: Scalars['DateTime']['output']; + /** Data attached to this activity (if any) */ + data: Scalars['JSON']['output']; + /** The expense related to this activity, if any */ + expense?: Maybe; + /** The account that authored by this activity, if any */ + fromAccount?: Maybe; + /** The host under which this activity happened, if any */ + host?: Maybe; + /** Unique identifier for this activity */ + id: Scalars['String']['output']; + /** The person who triggered the action, if any */ + individual?: Maybe; + /** Specifies whether this is a system generated activity */ + isSystem: Scalars['Boolean']['output']; + /** The order related to this activity, if any */ + order?: Maybe; + /** The transaction related to this activity, if any */ + transaction?: Maybe; + /** The type of the activity */ + type: ActivityType; + /** The update related to this activity, if any */ + update?: Maybe; +}; + export enum ActivityAndClassesType { ACCOUNTING_CATEGORIES_EDITED = 'ACCOUNTING_CATEGORIES_EDITED', ACTIVATED_COLLECTIVE_AS_HOST = 'ACTIVATED_COLLECTIVE_AS_HOST', @@ -688,6 +1110,34 @@ export enum ActivityClassType { VIRTUAL_CARDS = 'VIRTUAL_CARDS' } +/** A collection of "Activities" */ +export type ActivityCollection = Collection & { + __typename?: 'ActivityCollection'; + limit?: Maybe; + nodes?: Maybe>; + offset?: Maybe; + totalCount?: Maybe; +}; + +export type ActivitySubscription = { + __typename?: 'ActivitySubscription'; + /** The account which this notification setting is applied to */ + account?: Maybe; + /** Wheter this notification setting is active or not */ + active: Scalars['Boolean']['output']; + /** The channel this setting is notifying through */ + channel: ActivityChannel; + createdAt: Scalars['DateTime']['output']; + /** Unique identifier for this notification setting */ + id: Scalars['String']['output']; + /** The user who defined the setting */ + individual: Individual; + /** The type of Activity this setting is notifying about */ + type: Scalars['String']['output']; + /** If channel supports, this is the webhook URL we submit the notification to */ + webhookUrl?: Maybe; +}; + export enum ActivityType { ACCOUNTING_CATEGORIES_EDITED = 'ACCOUNTING_CATEGORIES_EDITED', ACTIVATED_COLLECTIVE_AS_HOST = 'ACTIVATED_COLLECTIVE_AS_HOST', @@ -823,6 +1273,40 @@ export enum ActivityType { WEBHOOK_STRIPE_RECEIVED = 'WEBHOOK_STRIPE_RECEIVED' } +/** Response for the addTwoFactorAuthTokenToIndividual mutation */ +export type AddTwoFactorAuthTokenToIndividualResponse = { + __typename?: 'AddTwoFactorAuthTokenToIndividualResponse'; + /** The Individual that the 2FA has been enabled for */ + account: Individual; + /** The recovery codes for the Individual to write down */ + recoveryCodes?: Maybe>>; +}; + +/** An agreement */ +export type Agreement = { + __typename?: 'Agreement'; + account: Account; + attachment?: Maybe; + /** The time of creation of this agreement */ + createdAt: Scalars['DateTime']['output']; + createdBy?: Maybe; + expiresAt?: Maybe; + host: Host; + id?: Maybe; + /** Additional notes about the agreement for the host admins */ + notes?: Maybe; + title: Scalars['String']['output']; +}; + +/** A collection of "Agreement" */ +export type AgreementCollection = Collection & { + __typename?: 'AgreementCollection'; + limit?: Maybe; + nodes?: Maybe>; + offset?: Maybe; + totalCount?: Maybe; +}; + export type AgreementReferenceInput = { /** The public id identifying the agreement (ie: dgm9bnk8-0437xqry-ejpvzeol-jdayw5re) */ id?: InputMaybe; @@ -830,6 +1314,16 @@ export type AgreementReferenceInput = { legacyId?: InputMaybe; }; +/** A financial amount. */ +export type Amount = { + __typename?: 'Amount'; + currency?: Maybe; + /** If the amount was generated from a currency conversion, this field contains details about the conversion */ + exchangeRate?: Maybe; + value?: Maybe; + valueInCents?: Maybe; +}; + /** Input type for an amount with the value and currency */ export type AmountInput = { /** The currency string */ @@ -850,6 +1344,37 @@ export type AmountRangeInput = { lte?: InputMaybe; }; +/** Statistics with amounts */ +export type AmountStats = { + __typename?: 'AmountStats'; + /** Total amount for this label */ + amount: Amount; + /** Number of entries for this label */ + count?: Maybe; + /** Name/Label for the amount */ + label: Scalars['String']['output']; +}; + +/** An OAuth application. */ +export type Application = { + __typename?: 'Application'; + account: Account; + /** @deprecated 2022-06-16: This Application object will only be used for OAuth tokens. Use PersonalToken for user tokens */ + apiKey?: Maybe; + clientId?: Maybe; + clientSecret?: Maybe; + description?: Maybe; + id: Scalars['String']['output']; + legacyId: Scalars['Int']['output']; + name?: Maybe; + oAuthAuthorization?: Maybe; + /** Whether this application is allowed to directly use operations that would normally require 2FA */ + preAuthorize2FA: Scalars['Boolean']['output']; + redirectUri?: Maybe; + /** @deprecated 2022-06-16: This Application object will only be used for OAuth tokens. Use PersonalToken for user tokens */ + type?: Maybe; +}; + /** Input type for Application */ export type ApplicationCreateInput = { /** The account to use as the owner of the application. Defaults to currently logged in user. */ @@ -1888,6 +2413,70 @@ export enum CollectiveFeatureStatus { UNSUPPORTED = 'UNSUPPORTED' } +/** Describes the features enabled and available for this account */ +export type CollectiveFeatures = { + __typename?: 'CollectiveFeatures'; + ABOUT?: Maybe; + ALIPAY?: Maybe; + ALL?: Maybe; + COLLECTIVE_GOALS?: Maybe; + CONNECTED_ACCOUNTS?: Maybe; + CONTACT_COLLECTIVE?: Maybe; + CONTACT_FORM?: Maybe; + CONVERSATIONS?: Maybe; + CREATE_COLLECTIVE?: Maybe; + EMAIL_NOTIFICATIONS_PANEL?: Maybe; + EMIT_GIFT_CARDS?: Maybe; + EVENTS?: Maybe; + HOST_DASHBOARD?: Maybe; + MULTI_CURRENCY_EXPENSES?: Maybe; + ORDER?: Maybe; + PAYPAL_DONATIONS?: Maybe; + PAYPAL_PAYOUTS?: Maybe; + PROJECTS?: Maybe; + RECEIVE_EXPENSES?: Maybe; + RECEIVE_FINANCIAL_CONTRIBUTIONS?: Maybe; + RECEIVE_HOST_APPLICATIONS?: Maybe; + RECURRING_CONTRIBUTIONS?: Maybe; + REQUEST_VIRTUAL_CARDS?: Maybe; + STRIPE_PAYMENT_INTENT?: Maybe; + TEAM?: Maybe; + TOP_FINANCIAL_CONTRIBUTORS?: Maybe; + TRANSACTIONS?: Maybe; + TRANSFERWISE?: Maybe; + UPDATES?: Maybe; + USE_EXPENSES?: Maybe; + USE_PAYMENT_METHODS?: Maybe; + VIRTUAL_CARDS?: Maybe; + /** The id of the account */ + id: Scalars['String']['output']; +}; + +/** This represents an Comment */ +export type Comment = { + __typename?: 'Comment'; + account?: Maybe; + createdAt?: Maybe; + fromAccount?: Maybe; + html?: Maybe; + id?: Maybe; + /** Returns a map of reactions counts for this comment */ + reactions?: Maybe; + /** The type of this comment */ + type: CommentType; + /** Returns the list of reactions added to this comment by logged in user */ + userReactions?: Maybe>>; +}; + +/** A collection of "Comments" */ +export type CommentCollection = Collection & { + __typename?: 'CommentCollection'; + limit?: Maybe; + nodes?: Maybe>>; + offset?: Maybe; + totalCount?: Maybe; +}; + /** Input to create a comment. You can only specify one entity type: expense, conversation, update or host application */ export type CommentCreateInput = { /** @deprecated 2022-08-26: Please use "conversation" */ @@ -1923,6 +2512,33 @@ export type CommentUpdateInput = { id: Scalars['String']['input']; }; +/** Response for the confirmGuestAccount mutation */ +export type ConfirmGuestAccountResponse = { + __typename?: 'ConfirmGuestAccountResponse'; + /** A token that can be used to sign in */ + accessToken: Scalars['String']['output']; + /** The validated account */ + account: Account; +}; + +/** This represents a Connected Account */ +export type ConnectedAccount = { + __typename?: 'ConnectedAccount'; + /** The date on which the ConnectedAccount was created */ + createdAt: Scalars['DateTime']['output']; + /** Unique identifier for this connected account */ + id: Scalars['String']['output']; + /** + * The internal database identifier of the Connected Account (ie: 580) + * @deprecated 2020-05-01: should only be used during the transition to GraphQL API v2. + */ + legacyId?: Maybe; + service: ConnectedAccountService; + settings?: Maybe; + /** The date on which the ConnectedAccount was last updated */ + updatedAt: Scalars['DateTime']['output']; +}; + export type ConnectedAccountCreateInput = { /** Optional Client ID for the token or secret */ clientId?: InputMaybe; @@ -1969,12 +2585,159 @@ export enum ContributionFrequency { YEARLY = 'YEARLY' } +/** Contribution statistics related to the given accounts */ +export type ContributionStats = { + __typename?: 'ContributionStats'; + /** The total number of contributions */ + contributionsCount: Scalars['Int']['output']; + /** The daily average income */ + dailyAverageIncomeAmount: Amount; + /** Number of one time contributions */ + oneTimeContributionsCount: Scalars['Int']['output']; + /** Number of recurring contributions */ + recurringContributionsCount: Scalars['Int']['output']; +}; + +/** + * + * A person or an entity that contributes financially or by any other mean to the mission + * of the collective. While "Member" is dedicated to permissions, this type is meant + * to surface all the public contributors and properly groups contributors who are part of + * multiple tiers. + * + */ +export type Contributor = { + __typename?: 'Contributor'; + account?: Maybe; + /** + * If the contributor has a page on Open Collective, this is the slug to link to it. Always null for incognito contributors + * @deprecated 2024-08-26: Use account.slug instead + */ + collectiveSlug?: Maybe; + /** Description of how the member contribute. Will usually be a tier name, or "design" or "code". */ + description?: Maybe; + /** A unique identifier for this member */ + id: Scalars['String']['output']; + /** + * Contributor avatar or logo + * @deprecated 2024-08-26: Use account.image instead + */ + image?: Maybe; + /** True if the contributor is a collective admin */ + isAdmin: Scalars['Boolean']['output']; + /** True if the contributor is a financial contributor */ + isBacker: Scalars['Boolean']['output']; + /** True if the contributor is a core contributor */ + isCore: Scalars['Boolean']['output']; + /** + * Defines if the contributors wants to be incognito (name not displayed) + * @deprecated 2024-08-26: Use account.isIncognito instead + */ + isIncognito: Scalars['Boolean']['output']; + /** + * Name of the contributor + * @deprecated 2024-08-26: Use account.name instead + */ + name: Scalars['String']['output']; + /** A public message from contributors to describe their contributions */ + publicMessage?: Maybe; + /** All the roles for a given contributor */ + roles?: Maybe>>; + /** Member join date */ + since: Scalars['DateTime']['output']; + /** How much money the user has contributed */ + totalAmountContributed: Amount; + /** + * How much money the user has contributed for this (in cents, using collective currency) + * @deprecated 2024-08-26: Use totalAmountContributed instead + */ + totalAmountDonated: Scalars['Int']['output']; + /** + * Whether the contributor is an individual, an organization... + * @deprecated 2024-08-26: Use account.type instead + */ + type: Scalars['String']['output']; +}; + + +/** + * + * A person or an entity that contributes financially or by any other mean to the mission + * of the collective. While "Member" is dedicated to permissions, this type is meant + * to surface all the public contributors and properly groups contributors who are part of + * multiple tiers. + * + */ +export type ContributorImageArgs = { + format?: InputMaybe; + height?: InputMaybe; +}; + +/** A collection of "Contributor" */ +export type ContributorCollection = Collection & { + __typename?: 'ContributorCollection'; + limit?: Maybe; + nodes?: Maybe>>; + offset?: Maybe; + totalCount?: Maybe; +}; + +/** A conversation thread */ +export type Conversation = { + __typename?: 'Conversation'; + account?: Maybe; + /** The root comment / starter for this conversation */ + body?: Maybe; + /** List the comments for this conversation. Not backed by a loader, don't use this in lists. */ + comments: CommentCollection; + createdAt: Scalars['DateTime']['output']; + followers: AccountCollection; + fromAccount?: Maybe; + id: Scalars['String']['output']; + slug: Scalars['String']['output']; + stats?: Maybe; + summary: Scalars['String']['output']; + tags?: Maybe>>; + title: Scalars['String']['output']; + updatedAt: Scalars['DateTime']['output']; +}; + + +/** A conversation thread */ +export type ConversationCommentsArgs = { + limit?: Scalars['Int']['input']; + offset?: Scalars['Int']['input']; +}; + + +/** A conversation thread */ +export type ConversationFollowersArgs = { + limit?: Scalars['Int']['input']; + offset?: Scalars['Int']['input']; +}; + +/** A collection of "Conversations" */ +export type ConversationCollection = Collection & { + __typename?: 'ConversationCollection'; + limit?: Maybe; + nodes?: Maybe>>; + offset?: Maybe; + totalCount?: Maybe; +}; + export type ConversationReferenceInput = { /** The public id identifying the conversation */ id?: InputMaybe; legacyId?: InputMaybe; }; +export type ConversationStats = { + __typename?: 'ConversationStats'; + /** Total number of comments for this conversation */ + commentsCount?: Maybe; + id: Scalars['String']['output']; +}; + /** Two-letters country code following ISO3166_1 */ export enum CountryIso { /** Andorra */ @@ -2477,6 +3240,111 @@ export enum CountryIso { ZW = 'ZW' } +/** This represents a Credit transaction */ +export type Credit = Transaction & { + __typename?: 'Credit'; + /** The account on the main side of the transaction (CREDIT -> recipient, DEBIT -> sender) */ + account?: Maybe; + amount: Amount; + amountInHostCurrency: Amount; + balanceInHostCurrency?: Maybe; + clearedAt?: Maybe; + createdAt?: Maybe; + description?: Maybe; + expense?: Maybe; + fromAccount?: Maybe; + /** Account that emitted the gift card used for this transaction (if any) */ + giftCardEmitterAccount?: Maybe; + group: Scalars['String']['output']; + host?: Maybe; + /** Exchange rate between the currency of the transaction and the currency of the host (transaction.amount * transaction.hostCurrencyFxRate = transaction.amountInHostCurrency) */ + hostCurrencyFxRate?: Maybe; + hostFee: Amount; + id: Scalars['String']['output']; + invoiceTemplate?: Maybe; + isDisputed?: Maybe; + isInReview?: Maybe; + isOrderRejected: Scalars['Boolean']['output']; + isRefund?: Maybe; + isRefunded?: Maybe; + kind?: Maybe; + legacyId: Scalars['Int']['output']; + /** Merchant ID related to the Transaction (Stripe, PayPal, Wise, Privacy) */ + merchantId?: Maybe; + netAmount: Amount; + netAmountInHostCurrency: Amount; + /** The account on the opposite side of the transaction (CREDIT -> sender, DEBIT -> recipient) */ + oppositeAccount?: Maybe; + /** The opposite transaction (CREDIT -> DEBIT, DEBIT -> CREDIT) */ + oppositeTransaction?: Maybe; + order?: Maybe; + paymentMethod?: Maybe; + /** Payment Processor Fee (usually in host currency) */ + paymentProcessorFee: Amount; + paymentProcessorUrl?: Maybe; + payoutMethod?: Maybe; + /** The permissions given to current logged in user for this transaction */ + permissions: TransactionPermissions; + platformFee: Amount; + refundTransaction?: Maybe; + relatedTransactions: Array>; + taxAmount: Amount; + /** If a tax is set, this field will contain more info about the tax */ + taxInfo?: Maybe; + toAccount?: Maybe; + type: TransactionType; + updatedAt?: Maybe; + /** @deprecated 2021-08-15: Use id instead. */ + uuid: Scalars['String']['output']; +}; + + +/** This represents a Credit transaction */ +export type CreditDescriptionArgs = { + dynamic?: InputMaybe; + full?: InputMaybe; +}; + + +/** This represents a Credit transaction */ +export type CreditHostFeeArgs = { + fetchHostFee?: InputMaybe; +}; + + +/** This represents a Credit transaction */ +export type CreditNetAmountArgs = { + fetchHostFee?: InputMaybe; + fetchPaymentProcessorFee?: InputMaybe; + fetchTax?: InputMaybe; +}; + + +/** This represents a Credit transaction */ +export type CreditNetAmountInHostCurrencyArgs = { + fetchHostFee?: InputMaybe; + fetchPaymentProcessorFee?: InputMaybe; + fetchTax?: InputMaybe; +}; + + +/** This represents a Credit transaction */ +export type CreditPaymentProcessorFeeArgs = { + fetchPaymentProcessorFee?: InputMaybe; +}; + + +/** This represents a Credit transaction */ +export type CreditRelatedTransactionsArgs = { + kind?: InputMaybe>>; +}; + + +/** This represents a Credit transaction */ +export type CreditTaxAmountArgs = { + fetchTax?: InputMaybe; +}; + export type CreditCardCreateInput = { /** @deprecated 2022-11-22: the `token` parameter is sufficient */ brand?: InputMaybe; @@ -2494,6 +3362,14 @@ export type CreditCardCreateInput = { zip?: InputMaybe; }; +export type CreditCardWithStripeError = { + __typename?: 'CreditCardWithStripeError'; + /** The payment method created */ + paymentMethod: PaymentMethod; + /** This field will be set if there was an error with Stripe during strong customer authentication */ + stripeError?: Maybe; +}; + /** All supported currencies */ export enum Currency { /** UAE Dirham */ @@ -2766,6 +3642,21 @@ export enum Currency { ZMW = 'ZMW' } +/** Fields for a currency fx rate */ +export type CurrencyExchangeRate = { + __typename?: 'CurrencyExchangeRate'; + /** Date of the FX rate */ + date: Scalars['DateTime']['output']; + fromCurrency: Currency; + /** Is the FX rate approximate or a fixed value? */ + isApproximate: Scalars['Boolean']['output']; + /** Where does the FX rate comes from */ + source: CurrencyExchangeRateSourceType; + toCurrency: Currency; + /** Exchange rate value as a scalar (e.g 1.15 or 0.86) */ + value: Scalars['Float']['output']; +}; + /** Fields for a currency exchange rate */ export type CurrencyExchangeRateInput = { /** Date of the FX rate */ @@ -2810,6 +3701,111 @@ export enum DateTimeField { LAST_CHARGED_AT = 'LAST_CHARGED_AT' } +/** This represents a Debit transaction */ +export type Debit = Transaction & { + __typename?: 'Debit'; + /** The account on the main side of the transaction (CREDIT -> recipient, DEBIT -> sender) */ + account?: Maybe; + amount: Amount; + amountInHostCurrency: Amount; + balanceInHostCurrency?: Maybe; + clearedAt?: Maybe; + createdAt?: Maybe; + description?: Maybe; + expense?: Maybe; + fromAccount?: Maybe; + /** Account that emitted the gift card used for this transaction (if any) */ + giftCardEmitterAccount?: Maybe; + group: Scalars['String']['output']; + host?: Maybe; + /** Exchange rate between the currency of the transaction and the currency of the host (transaction.amount * transaction.hostCurrencyFxRate = transaction.amountInHostCurrency) */ + hostCurrencyFxRate?: Maybe; + hostFee: Amount; + id: Scalars['String']['output']; + invoiceTemplate?: Maybe; + isDisputed?: Maybe; + isInReview?: Maybe; + isOrderRejected: Scalars['Boolean']['output']; + isRefund?: Maybe; + isRefunded?: Maybe; + kind?: Maybe; + legacyId: Scalars['Int']['output']; + /** Merchant ID related to the Transaction (Stripe, PayPal, Wise, Privacy) */ + merchantId?: Maybe; + netAmount: Amount; + netAmountInHostCurrency: Amount; + /** The account on the opposite side of the transaction (CREDIT -> sender, DEBIT -> recipient) */ + oppositeAccount?: Maybe; + /** The opposite transaction (CREDIT -> DEBIT, DEBIT -> CREDIT) */ + oppositeTransaction?: Maybe; + order?: Maybe; + paymentMethod?: Maybe; + /** Payment Processor Fee (usually in host currency) */ + paymentProcessorFee: Amount; + paymentProcessorUrl?: Maybe; + payoutMethod?: Maybe; + /** The permissions given to current logged in user for this transaction */ + permissions: TransactionPermissions; + platformFee: Amount; + refundTransaction?: Maybe; + relatedTransactions: Array>; + taxAmount: Amount; + /** If a tax is set, this field will contain more info about the tax */ + taxInfo?: Maybe; + toAccount?: Maybe; + type: TransactionType; + updatedAt?: Maybe; + /** @deprecated 2021-08-15: Use id instead. */ + uuid: Scalars['String']['output']; +}; + + +/** This represents a Debit transaction */ +export type DebitDescriptionArgs = { + dynamic?: InputMaybe; + full?: InputMaybe; +}; + + +/** This represents a Debit transaction */ +export type DebitHostFeeArgs = { + fetchHostFee?: InputMaybe; +}; + + +/** This represents a Debit transaction */ +export type DebitNetAmountArgs = { + fetchHostFee?: InputMaybe; + fetchPaymentProcessorFee?: InputMaybe; + fetchTax?: InputMaybe; +}; + + +/** This represents a Debit transaction */ +export type DebitNetAmountInHostCurrencyArgs = { + fetchHostFee?: InputMaybe; + fetchPaymentProcessorFee?: InputMaybe; + fetchTax?: InputMaybe; +}; + + +/** This represents a Debit transaction */ +export type DebitPaymentProcessorFeeArgs = { + fetchPaymentProcessorFee?: InputMaybe; +}; + + +/** This represents a Debit transaction */ +export type DebitRelatedTransactionsArgs = { + kind?: InputMaybe>>; +}; + + +/** This represents a Debit transaction */ +export type DebitTaxAmountArgs = { + fetchTax?: InputMaybe; +}; + /** Which data should be copied when duplicating the account */ export type DuplicateAccountDataTypeInput = { admins?: Scalars['Boolean']['input']; @@ -3382,6 +4378,151 @@ export enum ExpectedFundsFilter { ONLY_PENDING = 'ONLY_PENDING' } +/** This represents an Expense */ +export type Expense = { + __typename?: 'Expense'; + /** The account where the expense was submitted */ + account: Account; + /** + * The exchange rate between the expense currency and the account currency + * @deprecated 2022-02-09: Please use amountV2 + */ + accountCurrencyFxRate: Scalars['Float']['output']; + /** The accounting category attached to this expense */ + accountingCategory?: Maybe; + /** The list of activities (ie. approved, edited, etc) for this expense ordered by date ascending */ + activities: Array; + /** + * Total amount of the expense (sum of the item's amounts). + * @deprecated 2022-02-09: Please use amountV2 + */ + amount: Scalars['Int']['output']; + /** Total amount of the expense */ + amountV2?: Maybe; + /** The accounts who approved this expense */ + approvedBy: Array>; + /** (Optional) files attached to the expense */ + attachedFiles?: Maybe>; + /** Returns the list of comments for this expense, or `null` if user is not allowed to see them */ + comments?: Maybe; + /** The time of creation */ + createdAt: Scalars['DateTime']['output']; + /** The account who created this expense */ + createdByAccount?: Maybe; + /** Currency that should be used for the payout */ + currency: Currency; + /** Custom data for this expense */ + customData?: Maybe; + /** Title/main description for this expense */ + description: Scalars['String']['output']; + /** Drafted field values that were still not persisted */ + draft?: Maybe; + /** [Host Admin only] Key to access the draft of this expense */ + draftKey?: Maybe; + /** The fees payer for this expense */ + feesPayer: FeesPayer; + /** The account from where the expense was paid */ + host?: Maybe; + id: Scalars['String']['output']; + /** Information to display on the invoice. Only visible to user and admins. */ + invoiceInfo?: Maybe; + items?: Maybe>>; + /** Legacy ID as returned by API V1. Avoid relying on this field as it may be removed in the future. */ + legacyId: Scalars['Int']['output']; + /** Returns the list of legal documents attached to this expense. Must be logged in as a host admin. */ + legalDocuments?: Maybe; + /** Fields that cannot be edited on this expense */ + lockedFields?: Maybe>>; + /** Longer description for this expense */ + longDescription?: Maybe; + /** The merchant ID for this expense */ + merchantId?: Maybe; + /** Whether this expense is on hold */ + onHold?: Maybe; + /** The account who paid this expense */ + paidBy?: Maybe; + /** The account being paid by this expense */ + payee: Account; + /** The address of the payee */ + payeeLocation?: Maybe; + paymentMethod?: Maybe; + /** The payout method to use for this expense */ + payoutMethod?: Maybe; + /** The permissions given to current logged in user for this expense */ + permissions: ExpensePermissions; + /** Additional information about the payment as HTML. Only visible to user and admins. */ + privateMessage?: Maybe; + quote?: Maybe; + recurringExpense?: Maybe; + /** User-provided reference number or any other identifier that references the invoice */ + reference?: Maybe; + /** The account that requested this expense to be submitted */ + requestedByAccount?: Maybe; + /** Returns the list of legal documents required from the payee before the expense can be payed. Must be logged in. */ + requiredLegalDocuments?: Maybe>>; + /** [Admin only] Security checks for this expense. Only available to expenses under trusted hosts. */ + securityChecks?: Maybe>>; + /** The state of the expense (pending, approved, paid, rejected...etc) */ + status: ExpenseStatus; + tags: Array>; + /** Taxes applied to this expense */ + taxes: Array>; + /** The reference text used in the payment transfer */ + transferReference?: Maybe; + /** Whether this expense is a receipt or an invoice */ + type: ExpenseType; + validateTransferRequirements?: Maybe>>; + /** If available, this field will contain a breakdown of the expense values depending on who edited it */ + valuesByRole?: Maybe; + /** The virtual card used to pay for this charge */ + virtualCard?: Maybe; +}; + + +/** This represents an Expense */ +export type ExpenseAmountV2Args = { + currencySource?: InputMaybe; +}; + + +/** This represents an Expense */ +export type ExpenseCommentsArgs = { + limit?: Scalars['Int']['input']; + offset?: Scalars['Int']['input']; + orderBy?: InputMaybe; +}; + + +/** This represents an Expense */ +export type ExpenseLegalDocumentsArgs = { + limit?: Scalars['Int']['input']; + offset?: Scalars['Int']['input']; + orderBy?: ChronologicalOrderInput; + status?: InputMaybe>>; + type?: InputMaybe>>; +}; + + +/** This represents an Expense */ +export type ExpenseValidateTransferRequirementsArgs = { + details?: InputMaybe; +}; + +/** Fields for an expense's attached file */ +export type ExpenseAttachedFile = { + __typename?: 'ExpenseAttachedFile'; + /** Unique identifier for this file */ + id: Scalars['String']['output']; + /** The file info associated with this item (if any) */ + info?: Maybe; + /** + * The original filename + * @deprecated 2023-01-23: We're moving this field to "file.name" + */ + name?: Maybe; + url?: Maybe; +}; + export type ExpenseAttachedFileInput = { /** ID of the file */ id?: InputMaybe; @@ -3394,6 +4535,27 @@ export type ExpenseAttachedFileInput = { url: Scalars['URL']['input']; }; +/** A collection of "Expenses" */ +export type ExpenseCollection = Collection & { + __typename?: 'ExpenseCollection'; + limit?: Maybe; + nodes?: Maybe>>; + offset?: Maybe; + totalAmount?: Maybe; + totalCount?: Maybe; +}; + +export type ExpenseCollectionTotalAmount = { + __typename?: 'ExpenseCollectionTotalAmount'; + amount?: Maybe; + amountsByCurrency?: Maybe>>; +}; + + +export type ExpenseCollectionTotalAmountAmountArgs = { + currency?: InputMaybe; +}; + export type ExpenseCreateInput = { /** The accounting category this expense belongs to */ accountingCategory?: InputMaybe; @@ -3504,6 +4666,33 @@ export type ExpenseInviteeOrganizationInput = { website?: InputMaybe; }; +/** Fields for an expense item */ +export type ExpenseItem = { + __typename?: 'ExpenseItem'; + /** + * Amount of this item + * @deprecated Please use `amountV2` + */ + amount: Scalars['Int']['output']; + /** Amount of this item */ + amountV2: Amount; + /** The date on which the item was created */ + createdAt: Scalars['DateTime']['output']; + /** A description for this item. Enforced for new items, but old expenses may not have one. */ + description?: Maybe; + /** The file associated with this item (if any) */ + file?: Maybe; + /** Unique identifier for this expense item */ + id: Scalars['String']['output']; + /** The date on which the expense took place */ + incurredAt: Scalars['DateTime']['output']; + /** If the item currency is different than the expense currency, this field will expose the average exchange rate for this date as recorded by Open Collective. Used to decide whether the value in `amountV2.exchangeRate` looks correct. */ + referenceExchangeRate?: Maybe; + /** The date on which the item was last updated */ + updatedAt: Scalars['DateTime']['output']; + url?: Maybe; +}; + export type ExpenseItemCreateInput = { /** * Amount in cents @@ -3538,6 +4727,14 @@ export type ExpenseItemInput = { url?: InputMaybe; }; +export type ExpenseItemParsedFileInfo = { + __typename?: 'ExpenseItemParsedFileInfo'; + amount?: Maybe; + description?: Maybe; + incurredAt?: Maybe; + url?: Maybe; +}; + /** All fields that can be locked on an expense draft */ export enum ExpenseLockableFields { /** Locks items' amount and currency, and it also blocks the hability to add new items. */ @@ -3550,6 +4747,84 @@ export enum ExpenseLockableFields { TYPE = 'TYPE' } +export type ExpenseParsedFileInfo = { + __typename?: 'ExpenseParsedFileInfo'; + amount?: Maybe; + confidence?: Maybe; + date?: Maybe; + description?: Maybe; + items: Array; +}; + +/** Fields for the user permissions on an expense */ +export type ExpensePermissions = { + __typename?: 'ExpensePermissions'; + approve: Permission; + /** Whether the current user can approve this expense */ + canApprove: Scalars['Boolean']['output']; + /** Whether the current user can comment and see comments for this expense */ + canComment: Scalars['Boolean']['output']; + /** Whether the user or the given draft key is allowed decline the expense invite */ + canDeclineExpenseInvite: Scalars['Boolean']['output']; + /** Whether the current user can edit the expense */ + canDelete: Scalars['Boolean']['output']; + canDownloadTaxForm: Scalars['Boolean']['output']; + /** Whether the current user can edit the expense */ + canEdit: Scalars['Boolean']['output']; + /** Whether the current user can edit the expense accounting category */ + canEditAccountingCategory: Scalars['Boolean']['output']; + /** Tags permissions are a bit different, and can be edited by admins even if the expense has already been paid */ + canEditTags: Scalars['Boolean']['output']; + canHold: Scalars['Boolean']['output']; + /** Whether the current user can mark this expense as incomplete */ + canMarkAsIncomplete: Scalars['Boolean']['output']; + /** Whether the current user can mark this expense as spam */ + canMarkAsSpam: Scalars['Boolean']['output']; + /** Whether the current user can mark this expense as unpaid */ + canMarkAsUnpaid: Scalars['Boolean']['output']; + /** Whether the current user can trigger the payment for this expense */ + canPay: Scalars['Boolean']['output']; + /** Whether the current user can reject this expense */ + canReject: Scalars['Boolean']['output']; + canRelease: Scalars['Boolean']['output']; + /** Whether the current user can the the invoice info for this expense */ + canSeeInvoiceInfo: Scalars['Boolean']['output']; + /** Whether the current user can see the private details of the payout method of this expense */ + canSeePayoutMethodPrivateDetails: Scalars['Boolean']['output']; + /** Whether the current user can unapprove this expense */ + canUnapprove: Scalars['Boolean']['output']; + /** Whether the current user can unschedule this expense payment */ + canUnschedulePayment: Scalars['Boolean']['output']; + canUsePrivateNote: Scalars['Boolean']['output']; + /** Whether the current user can verify this draft expense */ + canVerifyDraftExpense: Scalars['Boolean']['output']; + comment: Permission; + delete: Permission; + downloadTaxForm: Permission; + edit: Permission; + /** Whether the current user can edit the expense accounting category */ + editAccountingCategory: Scalars['Boolean']['output']; + editTags: Permission; + hold: Permission; + id: Scalars['String']['output']; + markAsSpam: Permission; + markAsUnpaid: Permission; + pay: Permission; + reject: Permission; + release: Permission; + seeInvoiceInfo: Permission; + unapprove: Permission; + unschedulePayment: Permission; + usePrivateNote: Permission; + verifyDraftExpense: Permission; +}; + + +/** Fields for the user permissions on an expense */ +export type ExpensePermissionsCanDeclineExpenseInviteArgs = { + draftKey?: InputMaybe; +}; + /** All supported expense types */ export enum ExpenseProcessAction { /** To mark the expense as approved */ @@ -3580,6 +4855,17 @@ export enum ExpenseProcessAction { UNSCHEDULE_PAYMENT = 'UNSCHEDULE_PAYMENT' } +/** Fields for an expense quote */ +export type ExpenseQuote = { + __typename?: 'ExpenseQuote'; + /** The date on which the item was created */ + estimatedDeliveryAt?: Maybe; + /** Amount of payment processor fee */ + paymentProcessorFeeAmount: Amount; + /** Amount of this item */ + sourceAmount: Amount; +}; + export type ExpenseReferenceInput = { /** The public id identifying the expense (ie: dgm9bnk8-0437xqry-ejpvzeol-jdayw5re) */ id?: InputMaybe; @@ -3587,6 +4873,21 @@ export type ExpenseReferenceInput = { legacyId?: InputMaybe; }; +/** Expense statistics related to the given accounts */ +export type ExpenseStats = { + __typename?: 'ExpenseStats'; + /** The daily average paid in expenses */ + dailyAverageAmount: Amount; + /** The total number of expenses */ + expensesCount: Scalars['Int']['output']; + /** Number of grants */ + grantsCount: Scalars['Int']['output']; + /** Number of invoices */ + invoicesCount: Scalars['Int']['output']; + /** Number of reimbursements */ + reimbursementsCount: Scalars['Int']['output']; +}; + export enum ExpenseStatus { APPROVED = 'APPROVED', CANCELED = 'CANCELED', @@ -3690,6 +4991,22 @@ export type ExpenseUpdateInput = { type?: InputMaybe; }; +export type ExpenseValuesByRole = { + __typename?: 'ExpenseValuesByRole'; + /** The values provided by the account admin(s) */ + accountAdmin?: Maybe; + /** The values provided by the host admin(s) */ + hostAdmin?: Maybe; + id: Scalars['NonEmptyString']['output']; + /** The values provided by the expense submitter(s) */ + submitter?: Maybe; +}; + +export type ExpenseValuesRoleDetails = { + __typename?: 'ExpenseValuesRoleDetails'; + accountingCategory?: Maybe; +}; + /** All supported expense types */ export enum FeesPayer { /** The collective will be responsible for paying the fees */ @@ -4232,6 +5549,20 @@ export type FundCreateInput = { tags?: InputMaybe>>; }; +export type GenericFileInfo = FileInfo & { + __typename?: 'GenericFileInfo'; + /** Unique identifier for the file */ + id: Scalars['String']['output']; + /** Name of the file */ + name?: Maybe; + /** Size of the file in bytes */ + size?: Maybe; + /** Mime type of the file */ + type: Scalars['String']['output']; + /** URL to access the file */ + url: Scalars['URL']['output']; +}; + /** Input type for guest contributions */ export type GuestInfoInput = { /** Captcha validation for creating an order */ @@ -4990,6 +6321,36 @@ export enum HostApplicationStatus { REJECTED = 'REJECTED' } +/** A collection of "Hosts" */ +export type HostCollection = Collection & { + __typename?: 'HostCollection'; + limit?: Maybe; + nodes?: Maybe>>; + offset?: Maybe; + totalCount?: Maybe; +}; + +export type HostExpensesReportNode = { + __typename?: 'HostExpensesReportNode'; + accountingCategory?: Maybe; + amount: Amount; + count: Scalars['Int']['output']; + date: Scalars['DateTime']['output']; + isHost: Scalars['Boolean']['output']; +}; + +/** EXPERIMENTAL (this may change or be deleted): Host expenses report */ +export type HostExpensesReports = { + __typename?: 'HostExpensesReports'; + /** The start date of the time series */ + dateFrom?: Maybe; + /** The end date of the time series */ + dateTo?: Maybe; + nodes?: Maybe>; + /** The interval between two data points */ + timeUnit: TimeUnit; +}; + /** All supported expense types */ export enum HostFeeStructure { /** Custom fee for this Collective only */ @@ -5000,6 +6361,200 @@ export enum HostFeeStructure { MONTHLY_RETAINER = 'MONTHLY_RETAINER' } +/** Host metrics related to collected and pending fees/tips. */ +export type HostMetrics = { + __typename?: 'HostMetrics'; + /** Amount in host fee shared with the platform */ + hostFeeShare?: Maybe; + /** Host fee sharing percent */ + hostFeeSharePercent?: Maybe; + /** Amount collected in host fees for given period */ + hostFees?: Maybe; + /** Amount in host fee shared requiring settlement */ + pendingHostFeeShare?: Maybe; + /** Amount collected in platform fees requiring settlement */ + pendingPlatformFees?: Maybe; + /** Amount collected in platform tips requiring settlement */ + pendingPlatformTips?: Maybe; + /** Amount collected in platform fees for given period */ + platformFees?: Maybe; + /** Amount collected in platform tips for given period */ + platformTips?: Maybe; + /** Amount in host fee shared not requiring settlement */ + settledHostFeeShare?: Maybe; + /** Total amount managed on behalf of hosted collectives */ + totalMoneyManaged?: Maybe; +}; + +/** Host metrics time series */ +export type HostMetricsTimeSeries = { + __typename?: 'HostMetricsTimeSeries'; + /** The start date of the time series */ + dateFrom?: Maybe; + /** The end date of the time series */ + dateTo?: Maybe; + /** History of the share of host fees collected owed to Open Collective Inc. */ + hostFeeShare: TimeSeriesAmountWithSettlement; + /** History of the host fees collected */ + hostFees: TimeSeriesAmount; + /** History of the collected platform tips */ + platformTips: TimeSeriesAmount; + /** The interval between two data points */ + timeUnit: TimeUnit; + /** History of the total money managed by this host */ + totalMoneyManaged: TimeSeriesAmount; + /** History of the total money received by this host */ + totalReceived: TimeSeriesAmountWithKind; + /** History of the total money spent by this host */ + totalSpent: TimeSeriesAmountWithKind; +}; + +/** The name of the current plan and its characteristics. */ +export type HostPlan = { + __typename?: 'HostPlan'; + /** Whether this plan allows to use the added funds feature */ + addedFunds?: Maybe; + /** Amount limit for the added funds feature under this plan */ + addedFundsLimit?: Maybe; + /** Whether this plan allows to use the bank transfers feature */ + bankTransfers?: Maybe; + /** Amount limit for the bank transfers feature under this plan */ + bankTransfersLimit?: Maybe; + /** Whether this plan allows to use the host dashboard */ + hostDashboard?: Maybe; + /** Charge on revenues made through Host Fees. */ + hostFeeSharePercent?: Maybe; + /** Ability to charge Host Fees. */ + hostFees?: Maybe; + /** Number of collectives hosted */ + hostedCollectives?: Maybe; + /** Max number of collectives than can be hosted */ + hostedCollectivesLimit?: Maybe; + /** The public id identifying the account (ie: 5v08jk63-w4g9nbpz-j7qmyder-p7ozax5g) */ + id?: Maybe; + /** Whether this plan allows to use the manual payments feature */ + manualPayments?: Maybe; + /** The name of the plan */ + name?: Maybe; + /** Ability to collect Platform Tips. */ + platformTips?: Maybe; + /** Whether this plan allows to use the transferwise payouts feature */ + transferwisePayouts?: Maybe; + /** Amount limit for the transferwise payouts feature under this plan */ + transferwisePayoutsLimit?: Maybe; +}; + +export type HostTransactionReportNode = { + __typename?: 'HostTransactionReportNode'; + date: Scalars['DateTime']['output']; + managedFunds: TransactionReport; + operationalFunds: TransactionReport; +}; + +/** EXPERIMENTAL (this may change or be deleted): Host transaction report */ +export type HostTransactionReports = { + __typename?: 'HostTransactionReports'; + /** The start date of the time series */ + dateFrom?: Maybe; + /** The end date of the time series */ + dateTo?: Maybe; + nodes?: Maybe>; + /** The interval between two data points */ + timeUnit: TimeUnit; +}; + +/** A collection of hosted "Accounts" */ +export type HostedAccountCollection = Collection & { + __typename?: 'HostedAccountCollection'; + currencies?: Maybe>>; + limit?: Maybe; + nodes?: Maybe>>; + offset?: Maybe; + totalCount?: Maybe; +}; + +/** Return a summary of transaction info about a given account within the context of its current fiscal host */ +export type HostedAccountSummary = { + __typename?: 'HostedAccountSummary'; + /** Average calculated over the number of months/years the collective was approved or the number of months since dateFrom, whichever is less */ + contributionAverageCount?: Maybe; + /** Average calculated over the number of months the collective was approved or the number of months since dateFrom, whichever is less */ + contributionAverageTotal?: Maybe; + contributionCount?: Maybe; + contributionRefundedTotal?: Maybe; + contributionTotal?: Maybe; + /** Average calculated over the number of months the collective was approved or the number of months since dateFrom, whichever is less */ + expenseAverageCount?: Maybe; + /** Average calculated over the number of months the collective was approved or the number of months since dateFrom, whichever is less */ + expenseAverageTotal?: Maybe; + expenseCount?: Maybe; + expenseDistinctPayee?: Maybe; + expenseMaxValue?: Maybe; + expenseTotal?: Maybe; + hostFeeTotal?: Maybe; + receivedTotal?: Maybe; + receivedTotalAverage?: Maybe; + spentTotal?: Maybe; + spentTotalAverage?: Maybe; +}; + + +/** Return a summary of transaction info about a given account within the context of its current fiscal host */ +export type HostedAccountSummaryContributionAverageCountArgs = { + period?: InputMaybe; +}; + + +/** Return a summary of transaction info about a given account within the context of its current fiscal host */ +export type HostedAccountSummaryContributionAverageTotalArgs = { + period?: InputMaybe; +}; + + +/** Return a summary of transaction info about a given account within the context of its current fiscal host */ +export type HostedAccountSummaryExpenseAverageCountArgs = { + period?: InputMaybe; +}; + + +/** Return a summary of transaction info about a given account within the context of its current fiscal host */ +export type HostedAccountSummaryExpenseAverageTotalArgs = { + period?: InputMaybe; +}; + + +/** Return a summary of transaction info about a given account within the context of its current fiscal host */ +export type HostedAccountSummaryReceivedTotalAverageArgs = { + period?: InputMaybe; +}; + + +/** Return a summary of transaction info about a given account within the context of its current fiscal host */ +export type HostedAccountSummarySpentTotalAverageArgs = { + period?: InputMaybe; +}; + +/** Exposes information about an uploaded image file */ +export type ImageFileInfo = FileInfo & { + __typename?: 'ImageFileInfo'; + /** Blurhash of the image */ + blurHash?: Maybe; + /** If the file is an image, this will be the height of the image in pixels */ + height?: Maybe; + /** Unique identifier for the file */ + id: Scalars['String']['output']; + /** Name of the file */ + name?: Maybe; + /** Size of the file in bytes */ + size?: Maybe; + /** Mime type of the file */ + type: Scalars['String']['output']; + /** URL to access the file */ + url: Scalars['URL']['output']; + /** If the file is an image, this will be the width of the image in pixels */ + width?: Maybe; +}; + export enum ImageFormat { gif = 'gif', jpg = 'jpg', @@ -5501,6 +7056,40 @@ export enum LastCommentBy { USER = 'USER' } +/** A legal document (e.g. W9, W8BEN, W8BEN-E) */ +export type LegalDocument = { + __typename?: 'LegalDocument'; + /** The account this legal document is for */ + account: Account; + /** URL to download the file. Must be logged in as a host with access to the document. The returned URL will be protected by authentication + 2FA. */ + documentLink?: Maybe; + /** Unique identifier for this legal document */ + id: Scalars['String']['output']; + /** Whether this legal document is expired */ + isExpired: Scalars['Boolean']['output']; + /** The date and time the request for this legal document was created */ + requestedAt: Scalars['DateTime']['output']; + /** The service that provided this legal document */ + service: LegalDocumentService; + /** The status of the request for this legal document */ + status: LegalDocumentRequestStatus; + /** The type of legal document */ + type: LegalDocumentType; + /** The date and time this legal document was last updated */ + updatedAt: Scalars['DateTime']['output']; + /** The year this legal document is for */ + year: Scalars['Int']['output']; +}; + +/** A collection of "LegalDocument" */ +export type LegalDocumentCollection = Collection & { + __typename?: 'LegalDocumentCollection'; + limit?: Maybe; + nodes?: Maybe>>; + offset?: Maybe; + totalCount?: Maybe; +}; + /** Status for a legal document */ export enum LegalDocumentRequestStatus { ERROR = 'ERROR', @@ -5522,6 +7111,25 @@ export enum LegalDocumentType { US_TAX_FORM = 'US_TAX_FORM' } +/** Type for Geographic location */ +export type Location = { + __typename?: 'Location'; + /** Postal address without country (eg. 12 opensource avenue, 7500 Paris) */ + address?: Maybe; + /** Two letters country code (eg. FR, BE...etc) */ + country?: Maybe; + /** Unique identifier for this location */ + id?: Maybe; + /** Latitude */ + lat?: Maybe; + /** Longitude */ + long?: Maybe; + /** A short name for the location (eg. Open Collective Headquarters) */ + name?: Maybe; + /** Structured JSON address */ + structured?: Maybe; +}; + /** Input type for Geographic location */ export type LocationInput = { /** Postal address without country (eg. 12 opensource avenue, 7500 Paris) */ @@ -5538,12 +7146,66 @@ export type LocationInput = { structured?: InputMaybe; }; +export type Maximum_Virtual_Card_Limit_Amount_For_Interval = { + __typename?: 'MAXIMUM_VIRTUAL_CARD_LIMIT_AMOUNT_FOR_INTERVAL'; + ALL_TIME?: Maybe; + DAILY?: Maybe; + MONTHLY?: Maybe; + PER_AUTHORIZATION?: Maybe; + WEEKLY?: Maybe; + YEARLY?: Maybe; +}; + export enum MarkAsUnPaidExpenseStatus { APPROVED = 'APPROVED', ERROR = 'ERROR', INCOMPLETE = 'INCOMPLETE' } +/** This represents a Member relationship (ie: Organization backing a Collective) */ +export type Member = { + __typename?: 'Member'; + account?: Maybe; + createdAt?: Maybe; + /** Custom user description */ + description?: Maybe; + id?: Maybe; + /** If membership is inherited from parent collective */ + inherited?: Maybe; + /** Custom user message from member to the collective */ + publicMessage?: Maybe; + role?: Maybe; + since?: Maybe; + tier?: Maybe; + /** Total amount donated */ + totalDonations: Amount; + updatedAt?: Maybe; +}; + +/** A collection of "Members" (ie: Organization backing a Collective) */ +export type MemberCollection = Collection & { + __typename?: 'MemberCollection'; + limit?: Maybe; + nodes?: Maybe>>; + offset?: Maybe; + totalCount?: Maybe; +}; + +/** An invitation to join the members of a collective */ +export type MemberInvitation = { + __typename?: 'MemberInvitation'; + account: Account; + createdAt: Scalars['DateTime']['output']; + description?: Maybe; + id: Scalars['String']['output']; + /** The person who invited the member, if any */ + inviter?: Maybe; + memberAccount: Account; + role: MemberRole; + since?: Maybe; + tier?: Maybe; +}; + export type MemberInvitationReferenceInput = { /** The public id identifying the member invitation (ie: dgm9bnk8-0437xqry-ejpvzeol-jdayw5re) */ id?: InputMaybe; @@ -5551,6 +7213,43 @@ export type MemberInvitationReferenceInput = { legacyId?: InputMaybe; }; +/** This represents a MemberOf relationship (ie: Collective backed by an Organization) */ +export type MemberOf = { + __typename?: 'MemberOf'; + account?: Maybe; + createdAt?: Maybe; + /** Custom user description */ + description?: Maybe; + id?: Maybe; + /** If membership is inherited from parent collective */ + inherited?: Maybe; + /** Custom user message from member to the collective */ + publicMessage?: Maybe; + role?: Maybe; + since?: Maybe; + tier?: Maybe; + /** Total amount donated */ + totalDonations: Amount; + updatedAt?: Maybe; +}; + +/** A collection of "MemberOf" (ie: Collective backed by an Organization) */ +export type MemberOfCollection = Collection & { + __typename?: 'MemberOfCollection'; + limit?: Maybe; + nodes?: Maybe>>; + offset?: Maybe; + roles?: Maybe>>; + totalCount?: Maybe; +}; + +/** An existing member role and account type combination used used to filter collections */ +export type MemberOfCollectionRoles = { + __typename?: 'MemberOfCollectionRoles'; + role: MemberRole; + type: AccountType; +}; + /** All member roles */ export enum MemberRole { ACCOUNTANT = 'ACCOUNTANT', @@ -5566,8 +7265,6 @@ export enum MemberRole { MEMBER = 'MEMBER' } -<<<<<<< HEAD -======= export type MergeAccountsResponse = { __typename?: 'MergeAccountsResponse'; /** The resulting account */ @@ -6804,7 +8501,6 @@ export type MutationUploadFileArgs = { files: Array; }; ->>>>>>> d62ea0a93 (chore: update schemas and langs) export type NewAccountOrReferenceInput = { email?: InputMaybe; /** The public id identifying the account (ie: dgm9bnk8-0437xqry-ejpvzeol-jdayw5re) */ @@ -6830,6 +8526,44 @@ export type NewAccountOrganizationInput = { website?: InputMaybe; }; +/** A collection of "Application" */ +export type OAuthApplicationCollection = Collection & { + __typename?: 'OAuthApplicationCollection'; + limit?: Maybe; + nodes?: Maybe>>; + offset?: Maybe; + totalCount?: Maybe; +}; + +/** An OAuth authorization */ +export type OAuthAuthorization = { + __typename?: 'OAuthAuthorization'; + account: Individual; + application: Application; + /** The time of creation */ + createdAt: Scalars['DateTime']['output']; + /** The time of expiration */ + expiresAt: Scalars['DateTime']['output']; + id?: Maybe; + /** The last time of token was used */ + lastUsedAt?: Maybe; + /** Whether this OAuth token is allowed to directly use operations that would normally require 2FA */ + preAuthorize2FA: Scalars['Boolean']['output']; + /** The attached scopes. */ + scope?: Maybe>>; + /** The time of last update */ + updatedAt: Scalars['DateTime']['output']; +}; + +/** A collection of "OAuth Authorizations" */ +export type OAuthAuthorizationCollection = Collection & { + __typename?: 'OAuthAuthorizationCollection'; + limit?: Maybe; + nodes?: Maybe>>; + offset?: Maybe; + totalCount?: Maybe; +}; + export type OAuthAuthorizationReferenceInput = { /** The id identifying the OAuth Authorization (ie: dgm9bnk8-0437xqry-ejpvzeol-jdayw5re) */ id?: InputMaybe; @@ -6873,6 +8607,79 @@ export type OcrParsingOptionsInput = { currency?: InputMaybe; }; +/** Order model */ +export type Order = { + __typename?: 'Order'; + /** The accounting category attached to this order */ + accountingCategory?: Maybe; + /** The list of activities (ie. approved, edited, etc) for this Order ordered by date ascending */ + activities: ActivityCollection; + /** Base order amount (without platform tip) */ + amount: Amount; + /** Returns the list of comments for this order, or `null` if user is not allowed to see them */ + comments?: Maybe; + createdAt?: Maybe; + /** The account who created this order */ + createdByAccount?: Maybe; + /** Custom data related to the order, based on the fields described by tier.customFields. Must be authenticated as an admin of the fromAccount or toAccount (returns null otherwise) */ + customData?: Maybe; + /** Data related to the order */ + data?: Maybe; + description?: Maybe; + frequency?: Maybe; + fromAccount?: Maybe; + /** Host fee percent attached to the Order. */ + hostFeePercent?: Maybe; + id: Scalars['String']['output']; + lastChargedAt?: Maybe; + legacyId: Scalars['Int']['output']; + /** This represents a MemberOf relationship (ie: Collective backed by an Individual) attached to the Order. */ + membership?: Maybe; + /** Memo field which adds additional details about the order. For example in added funds this can be a note to mark what method (cheque, money order) the funds were received. */ + memo?: Maybe; + /** Whether the order needs confirmation (3DSecure/SCA) */ + needsConfirmation?: Maybe; + nextChargeDate?: Maybe; + paymentMethod?: Maybe; + /** Payment processor fee attached to manually Added Funds. */ + paymentProcessorFee?: Maybe; + paymentProcessorUrl?: Maybe; + /** Data about the pending contribution */ + pendingContributionData?: Maybe; + /** The permissions given to current logged in user for this order */ + permissions: OrderPermissions; + /** Platform Tip attached to the Order. */ + platformTipAmount?: Maybe; + platformTipEligible?: Maybe; + /** Date the funds were received. */ + processedAt?: Maybe; + quantity?: Maybe; + status?: Maybe; + tags: Array>; + tax?: Maybe; + /** Tax amount */ + taxAmount?: Maybe; + /** @deprecated 2023-04-13: Please use `tax` instead. */ + taxes: Array>; + tier?: Maybe; + toAccount?: Maybe; + /** Total order amount, including all taxes and platform tip */ + totalAmount: Amount; + /** WARNING: Total amount donated between collectives, though there will be edge cases especially when looking on the Order level, as the order id is not used in calculating this. */ + totalDonations: Amount; + /** Transactions for this order ordered by createdAt ASC */ + transactions: Array>; + updatedAt?: Maybe; +}; + + +/** Order model */ +export type OrderCommentsArgs = { + limit?: Scalars['Int']['input']; + offset?: Scalars['Int']['input']; + orderBy?: InputMaybe; +}; + /** Possible fields you can use to order by */ export enum OrderByFieldType { /** The financial activity of the collective (number of transactions) */ @@ -6896,6 +8703,15 @@ export type OrderByInput = { field: OrderByFieldType; }; +/** A collection of "Orders" */ +export type OrderCollection = Collection & { + __typename?: 'OrderCollection'; + limit?: Maybe; + nodes?: Maybe>>; + offset?: Maybe; + totalCount?: Maybe; +}; + /** Some context about how an order was created */ export type OrderContextInput = { /** Whether this order was created using the embedded contribution flow */ @@ -6970,6 +8786,28 @@ export enum OrderPausedBy { USER = 'USER' } +/** Fields for the user permissions on an order */ +export type OrderPermissions = { + __typename?: 'OrderPermissions'; + /** Whether the current user can comment on this order */ + canComment: Scalars['Boolean']['output']; + /** Whether the current user can edit this pending order */ + canEdit: Scalars['Boolean']['output']; + /** Whether the current user can mark this order as expired */ + canMarkAsExpired: Scalars['Boolean']['output']; + /** Whether the current user can mark this order as unpaid */ + canMarkAsPaid: Scalars['Boolean']['output']; + /** If paused, whether the current user can resume this order */ + canResume: Scalars['Boolean']['output']; + /** Whether the current user can see private activities for this order */ + canSeePrivateActivities: Scalars['Boolean']['output']; + /** Whether the current user can set tags on this order */ + canSetTags: Scalars['Boolean']['output']; + /** Whether the current user can update the accounting category of this order */ + canUpdateAccountingCategory: Scalars['Boolean']['output']; + id: Scalars['String']['output']; +}; + export type OrderReferenceInput = { /** The public id identifying the order (ie: dgm9bnk8-0437xqry-ejpvzeol-jdayw5re) */ id?: InputMaybe; @@ -6995,6 +8833,12 @@ export enum OrderStatus { REQUIRE_CLIENT_CONFIRMATION = 'REQUIRE_CLIENT_CONFIRMATION' } +export type OrderTax = { + __typename?: 'OrderTax'; + percentage: Scalars['Int']['output']; + type: OrderTaxType; +}; + /** Input to set taxes for an order */ export type OrderTaxInput = { amount: AmountInput; @@ -7532,6 +9376,25 @@ export type OrganizationCreateInput = { website?: InputMaybe; }; +export type ParseUploadedFileResult = { + __typename?: 'ParseUploadedFileResult'; + /** The parsed expense information */ + expense?: Maybe; + /** A message describing the parsing result, usually an error message (if parsing failed) or some warnings */ + message?: Maybe; + /** Whether the parsing was successful */ + success: Scalars['Boolean']['output']; +}; + +/** A Stripe payment intent */ +export type PaymentIntent = { + __typename?: 'PaymentIntent'; + id: Scalars['String']['output']; + paymentIntentClientSecret: Scalars['String']['output']; + stripeAccount: Scalars['String']['output']; + stripeAccountPublishableSecret: Scalars['String']['output']; +}; + /** Input to create a Stripe payment intent */ export type PaymentIntentInput = { amount: AmountInput; @@ -7726,6 +9589,21 @@ export enum PaymentMethodType { virtual_card = 'virtual_card' } +/** A payout method */ +export type PayoutMethod = { + __typename?: 'PayoutMethod'; + /** The actual data for this payout method. Content depends on the type. */ + data?: Maybe; + /** Unique identifier for this payout method */ + id: Scalars['String']['output']; + /** Whether this payout method has been saved to be used for future payouts */ + isSaved?: Maybe; + /** A friendly name for users to easily find their payout methods */ + name?: Maybe; + /** The type of this payout method (usually the payment provider) */ + type?: Maybe; +}; + export type PayoutMethodInput = { data?: InputMaybe; id?: InputMaybe; @@ -7750,6 +9628,12 @@ export type PaypalPaymentInput = { token?: InputMaybe; }; +/** A PayPal plan to associate with a contribution */ +export type PaypalPlan = { + __typename?: 'PaypalPlan'; + id: Scalars['String']['output']; +}; + /** Input to create a new pending order */ export type PendingOrderCreateInput = { /** The accounting category of this order */ @@ -7780,6 +9664,15 @@ export type PendingOrderCreateInput = { toAccount: AccountReferenceInput; }; +export type PendingOrderData = { + __typename?: 'PendingOrderData'; + expectedAt?: Maybe; + fromAccountInfo?: Maybe; + memo?: Maybe; + paymentMethod?: Maybe; + ponumber?: Maybe; +}; + /** Input to edit an existing pending order */ export type PendingOrderEditInput = { /** The accounting category of this order */ @@ -7814,6 +9707,51 @@ export type PendingOrderEditInput = { tier?: InputMaybe; }; +export type PendingOrderFromAccountInfo = { + __typename?: 'PendingOrderFromAccountInfo'; + email?: Maybe; + name?: Maybe; +}; + +export type Permission = { + __typename?: 'Permission'; + allowed: Scalars['Boolean']['output']; + reason?: Maybe; + reasonDetails?: Maybe; +}; + +/** A personal token */ +export type PersonalToken = { + __typename?: 'PersonalToken'; + /** The account that owns this personal token */ + account: Individual; + /** The date on which the personal token was created */ + createdAt?: Maybe; + /** The date on which the personal token expires */ + expiresAt?: Maybe; + /** Unique identifier for this personal token */ + id: Scalars['String']['output']; + /** A friendly name for users to easily find their personal tokens */ + name?: Maybe; + /** Whether this token is allowed to directly use operations that would normally require 2FA */ + preAuthorize2FA: Scalars['Boolean']['output']; + /** The scopes of the personal token */ + scope?: Maybe>>; + /** The personal token */ + token?: Maybe; + /** The date on which the personal token was last updated */ + updatedAt?: Maybe; +}; + +/** A collection of "PersonalToken" */ +export type PersonalTokenCollection = Collection & { + __typename?: 'PersonalTokenCollection'; + limit?: Maybe; + nodes?: Maybe>>; + offset?: Maybe; + totalCount?: Maybe; +}; + /** Input type for PersonalToken */ export type PersonalTokenCreateInput = { /** The account to use as the owner of the application. Defaults to currently logged in user. */ @@ -7845,6 +9783,40 @@ export type PersonalTokenUpdateInput = { scope?: InputMaybe>>; }; +export type PlaidConnectAccountResponse = { + __typename?: 'PlaidConnectAccountResponse'; + /** The connected account that was created */ + connectedAccount: ConnectedAccount; + /** The transactions import that was created */ + transactionsImport: TransactionsImport; +}; + +export type PlaidLinkTokenCreateResponse = { + __typename?: 'PlaidLinkTokenCreateResponse'; + /** The expiration date for the link token in ISO 8601 format. */ + expiration: Scalars['String']['output']; + /** A URL of a Plaid-hosted Link flow that will use the Link token returned by this request. Only present if the client is enabled for Host */ + hostedLinkUrl?: Maybe; + /** The link token that will be used to initialize the Plaid Link flow. */ + linkToken: Scalars['String']['output']; + /** A unique identifier for the request, which can be used for troubleshooting. */ + requestId: Scalars['String']['output']; +}; + +export type Policies = { + __typename?: 'Policies'; + COLLECTIVE_ADMINS_CAN_REFUND?: Maybe; + COLLECTIVE_ADMINS_CAN_SEE_PAYOUT_METHODS?: Maybe; + COLLECTIVE_MINIMUM_ADMINS?: Maybe; + EXPENSE_AUTHOR_CANNOT_APPROVE?: Maybe; + EXPENSE_CATEGORIZATION?: Maybe; + EXPENSE_POLICIES?: Maybe; + EXPENSE_PUBLIC_VENDORS?: Maybe; + MAXIMUM_VIRTUAL_CARD_LIMIT_AMOUNT_FOR_INTERVAL?: Maybe; + REQUIRE_2FA_FOR_ADMINS?: Maybe; + id?: Maybe; +}; + export type PoliciesCollectiveExpenseAuthorCannotApprove = { amountInCents?: InputMaybe; appliesToHostedCollectives?: InputMaybe; @@ -7925,6 +9897,15 @@ export enum ProcessHostApplicationAction { SEND_PUBLIC_MESSAGE = 'SEND_PUBLIC_MESSAGE' } +export type ProcessHostApplicationResponse = { + __typename?: 'ProcessHostApplicationResponse'; + /** The account that applied to the host */ + account: Account; + /** When sending a public message, this field will have the info about the conversation created */ + conversation?: Maybe; + hostApplication?: Maybe; +}; + /** Action to apply on the order */ export enum ProcessOrderAction { /** To mark the order as expired */ @@ -8945,6 +10926,109 @@ export enum RecurringExpenseInterval { year = 'year' } +export type SearchResponse = { + __typename?: 'SearchResponse'; + /** Search results */ + results: SearchResults; +}; + +/** Search results for all types */ +export type SearchResults = { + __typename?: 'SearchResults'; + /** Search results for Accounts */ + accounts?: Maybe; + /** Search results for Comments */ + comments?: Maybe; + /** Search results for Expenses */ + expenses?: Maybe; + /** Search results for HostApplications */ + hostApplications?: Maybe; + /** Search results for Orders */ + orders?: Maybe; + /** Search results for Tiers */ + tiers?: Maybe; + /** Search results for Transactions */ + transactions?: Maybe; + /** Search results for Updates */ + updates?: Maybe; +}; + + +/** Search results for all types */ +export type SearchResultsAccountsArgs = { + isHost?: InputMaybe; + tags?: InputMaybe>>; + type?: InputMaybe; +}; + +export type SearchResultsAccounts = { + __typename?: 'SearchResultsAccounts'; + collection: AccountCollection; + highlights?: Maybe; + maxScore: Scalars['Float']['output']; +}; + +export type SearchResultsComments = { + __typename?: 'SearchResultsComments'; + collection: CommentCollection; + highlights?: Maybe; + maxScore: Scalars['Float']['output']; +}; + +export type SearchResultsExpenses = { + __typename?: 'SearchResultsExpenses'; + collection: ExpenseCollection; + highlights?: Maybe; + maxScore: Scalars['Float']['output']; +}; + +export type SearchResultsHostApplications = { + __typename?: 'SearchResultsHostApplications'; + collection: HostApplicationCollection; + highlights?: Maybe; + maxScore: Scalars['Float']['output']; +}; + +export type SearchResultsOrders = { + __typename?: 'SearchResultsOrders'; + collection: OrderCollection; + highlights?: Maybe; + maxScore: Scalars['Float']['output']; +}; + +export type SearchResultsTiers = { + __typename?: 'SearchResultsTiers'; + collection: TierCollection; + highlights?: Maybe; + maxScore: Scalars['Float']['output']; +}; + +export type SearchResultsTransactions = { + __typename?: 'SearchResultsTransactions'; + collection: TransactionCollection; + highlights?: Maybe; + maxScore: Scalars['Float']['output']; +}; + +export type SearchResultsUpdates = { + __typename?: 'SearchResultsUpdates'; + collection: UpdateCollection; + highlights?: Maybe; + maxScore: Scalars['Float']['output']; +}; + +export type SecurityCheck = { + __typename?: 'SecurityCheck'; + /** SecurityCheck details */ + details?: Maybe; + /** The SecurityCheck level */ + level: SecurityCheckLevel; + /** SecurityCheck description message */ + message: Scalars['String']['output']; + /** The SecurityCheck scope */ + scope: SecurityCheckScope; +}; + /** All supported SecurityCheck levels */ export enum SecurityCheckLevel { HIGH = 'HIGH', @@ -8961,12 +11045,41 @@ export enum SecurityCheckScope { USER = 'USER' } +export type SendMessageResult = { + __typename?: 'SendMessageResult'; + success?: Maybe; +}; + +export type SetPasswordResponse = { + __typename?: 'SetPasswordResponse'; + individual: Individual; + token?: Maybe; +}; + +/** A Stripe setup intent */ +export type SetupIntent = { + __typename?: 'SetupIntent'; + id: Scalars['String']['output']; + setupIntentClientSecret: Scalars['String']['output']; + stripeAccount: Scalars['String']['output']; + stripeAccountPublishableSecret: Scalars['String']['output']; +}; + /** A Stripe setup intent */ export type SetupIntentInput = { id: Scalars['String']['input']; stripeAccount: Scalars['String']['input']; }; +/** A social link */ +export type SocialLink = { + __typename?: 'SocialLink'; + createdAt?: Maybe; + type: SocialLinkType; + updatedAt?: Maybe; + url: Scalars['URL']['output']; +}; + export type SocialLinkInput = { type: SocialLinkType; url: Scalars['URL']['input']; @@ -8999,12 +11112,72 @@ export enum SocialLinkType { YOUTUBE = 'YOUTUBE' } +/** Stripe connected account properties */ +export type StripeConnectedAccount = { + __typename?: 'StripeConnectedAccount'; + issuingBalance?: Maybe; + username?: Maybe; +}; + +export type StripeError = { + __typename?: 'StripeError'; + account?: Maybe; + message?: Maybe; + response?: Maybe; +}; + +export type TagResponse = { + __typename?: 'TagResponse'; + expense?: Maybe; + order?: Maybe; +}; + /** The operator to use when searching with tags */ export enum TagSearchOperator { AND = 'AND', OR = 'OR' } +/** Statistics for a given tag */ +export type TagStat = { + __typename?: 'TagStat'; + /** Total amount for this tag */ + amount?: Maybe; + /** Number of entries for this tag */ + count: Scalars['Int']['output']; + /** An unique identifier for this tag */ + id: Scalars['String']['output']; + /** Name/Label of the tag */ + tag: Scalars['String']['output']; +}; + +/** A collection of "Tags" */ +export type TagStatsCollection = Collection & { + __typename?: 'TagStatsCollection'; + limit?: Maybe; + nodes?: Maybe>>; + offset?: Maybe; + totalCount?: Maybe; +}; + +/** Information about a tax */ +export type TaxInfo = { + __typename?: 'TaxInfo'; + /** An unique identifier for this tax (GST, VAT, etc) */ + id: Scalars['String']['output']; + /** Tax ID number of the 3rd party receiving/paying the tax */ + idNumber?: Maybe; + /** + * Percentage applied, between 0-100 + * @deprecated Please use `rate` instead + */ + percentage: Scalars['Int']['output']; + /** Percentage applied, between 0-1 */ + rate: Scalars['Float']['output']; + /** Identifier for this tax (GST, VAT, etc) */ + type: OrderTaxType; +}; + /** Input to set taxes for an expense */ export type TaxInput = { /** An optional tax amount to make sure the tax displayed in your frontend matches the one calculated by the API */ @@ -9027,11 +11200,74 @@ export enum TaxType { VAT = 'VAT' } +/** Tier model */ +export type Tier = { + __typename?: 'Tier'; + amount: Amount; + amountType: TierAmountType; + /** Number of tickets available. Returns null if there is no limit. */ + availableQuantity?: Maybe; + button?: Maybe; + /** Returns a list of all the contributors for this tier */ + contributors: ContributorCollection; + currency?: Maybe; + customFields?: Maybe; + description?: Maybe; + endsAt?: Maybe; + frequency: TierFrequency; + goal: Amount; + id: Scalars['String']['output']; + /** @deprecated 2020-08-24: Please use "frequency" */ + interval?: Maybe; + invoiceTemplate?: Maybe; + legacyId: Scalars['Int']['output']; + /** A long, html-formatted description. */ + longDescription?: Maybe; + maxQuantity?: Maybe; + minimumAmount: Amount; + name?: Maybe; + /** Get all orders */ + orders: OrderCollection; + presets?: Maybe>>; + requireAddress: Scalars['Boolean']['output']; + singleTicket?: Maybe; + slug?: Maybe; + stats?: Maybe; + type: TierType; + useStandalonePage?: Maybe; + /** Link to a video (YouTube, Vimeo). */ + videoUrl?: Maybe; +}; + + +/** Tier model */ +export type TierContributorsArgs = { + limit?: Scalars['Int']['input']; + offset?: Scalars['Int']['input']; +}; + + +/** Tier model */ +export type TierOrdersArgs = { + limit?: Scalars['Int']['input']; + offset?: Scalars['Int']['input']; + status?: InputMaybe>>; +}; + export enum TierAmountType { FIXED = 'FIXED', FLEXIBLE = 'FLEXIBLE' } +/** A collection of "Tiers" */ +export type TierCollection = Collection & { + __typename?: 'TierCollection'; + limit?: Maybe; + nodes?: Maybe>>; + offset?: Maybe; + totalCount?: Maybe; +}; + export type TierCreateInput = { amount?: InputMaybe; amountType: TierAmountType; @@ -9071,6 +11307,16 @@ export type TierReferenceInput = { legacyId?: InputMaybe; }; +/** Stats about a tier */ +export type TierStats = { + __typename?: 'TierStats'; + id: Scalars['String']['output']; + /** How much money is given for this tier for each tier.interval (monthly/yearly). For flexible tiers, this amount is a monthly average of contributions amount, taking into account both yearly and monthly subscriptions. */ + recurringAmount: Amount; + /** Total amount donated for this tier, in cents. */ + totalAmountReceived: Amount; +}; + export enum TierType { DONATION = 'DONATION', MEMBERSHIP = 'MEMBERSHIP', @@ -9101,6 +11347,76 @@ export type TierUpdateInput = { videoUrl?: InputMaybe; }; +export type TimeSeries = { + /** The start date of the time series */ + dateFrom?: Maybe; + /** The end date of the time series */ + dateTo?: Maybe; + /** The interval between two data points */ + timeUnit: TimeUnit; +}; + +/** Amount time series */ +export type TimeSeriesAmount = TimeSeries & { + __typename?: 'TimeSeriesAmount'; + /** The start date of the time series */ + dateFrom?: Maybe; + /** The end date of the time series */ + dateTo?: Maybe; + /** Time series data points */ + nodes: Array; + /** The interval between two data points */ + timeUnit: TimeUnit; +}; + +export type TimeSeriesAmountNode = { + __typename?: 'TimeSeriesAmountNode'; + amount: Amount; + count?: Maybe; + date: Scalars['DateTime']['output']; + label?: Maybe; +}; + +/** Amounts with settlements time series */ +export type TimeSeriesAmountWithKind = TimeSeries & { + __typename?: 'TimeSeriesAmountWithKind'; + /** The start date of the time series */ + dateFrom?: Maybe; + /** The end date of the time series */ + dateTo?: Maybe; + /** Time series data points */ + nodes: Array; + /** The interval between two data points */ + timeUnit: TimeUnit; +}; + +export type TimeSeriesAmountWithKindNode = { + __typename?: 'TimeSeriesAmountWithKindNode'; + amount: Amount; + date: Scalars['DateTime']['output']; + kind: TransactionKind; +}; + +/** Amounts with settlements time series */ +export type TimeSeriesAmountWithSettlement = TimeSeries & { + __typename?: 'TimeSeriesAmountWithSettlement'; + /** The start date of the time series */ + dateFrom?: Maybe; + /** The end date of the time series */ + dateTo?: Maybe; + /** Time series data points */ + nodes: Array; + /** The interval between two data points */ + timeUnit: TimeUnit; +}; + +export type TimeSeriesAmountWithSettlementNode = { + __typename?: 'TimeSeriesAmountWithSettlementNode'; + amount: Amount; + date: Scalars['DateTime']['output']; + settlementStatus: TransactionSettlementStatus; +}; + export enum TimeUnit { DAY = 'DAY', HOUR = 'HOUR', @@ -9112,6 +11428,144 @@ export enum TimeUnit { YEAR = 'YEAR' } +/** Transaction interface shared by all kind of transactions (Debit, Credit) */ +export type Transaction = { + account?: Maybe; + amount: Amount; + amountInHostCurrency: Amount; + /** The balance after the Transaction has run. Only for financially active accounts. */ + balanceInHostCurrency?: Maybe; + clearedAt?: Maybe; + createdAt?: Maybe; + description?: Maybe; + expense?: Maybe; + /** The sender of a transaction (on CREDIT = oppositeAccount, DEBIT = account) */ + fromAccount?: Maybe; + giftCardEmitterAccount?: Maybe; + group: Scalars['String']['output']; + host?: Maybe; + /** Exchange rate between the currency of the transaction and the currency of the host (transaction.amount * transaction.hostCurrencyFxRate = transaction.amountInHostCurrency) */ + hostCurrencyFxRate?: Maybe; + hostFee?: Maybe; + id: Scalars['String']['output']; + invoiceTemplate?: Maybe; + isDisputed?: Maybe; + isInReview?: Maybe; + isOrderRejected: Scalars['Boolean']['output']; + isRefund?: Maybe; + isRefunded?: Maybe; + kind?: Maybe; + legacyId: Scalars['Int']['output']; + /** Merchant id related to the Transaction (Stripe, PayPal, Wise, Privacy) */ + merchantId?: Maybe; + netAmount: Amount; + netAmountInHostCurrency: Amount; + oppositeAccount?: Maybe; + /** The opposite transaction (CREDIT -> DEBIT, DEBIT -> CREDIT) */ + oppositeTransaction?: Maybe; + order?: Maybe; + paymentMethod?: Maybe; + paymentProcessorFee?: Maybe; + paymentProcessorUrl?: Maybe; + payoutMethod?: Maybe; + permissions?: Maybe; + platformFee: Amount; + refundTransaction?: Maybe; + relatedTransactions: Array>; + taxAmount: Amount; + /** If a tax is set, this field will contain more info about the tax */ + taxInfo?: Maybe; + /** The recipient of a transaction (on CREDIT = account, DEBIT = oppositeAccount) */ + toAccount?: Maybe; + type: TransactionType; + updatedAt?: Maybe; + /** @deprecated 2021-08-15: Use id instead. */ + uuid: Scalars['String']['output']; +}; + + +/** Transaction interface shared by all kind of transactions (Debit, Credit) */ +export type TransactionDescriptionArgs = { + dynamic?: InputMaybe; + full?: InputMaybe; +}; + + +/** Transaction interface shared by all kind of transactions (Debit, Credit) */ +export type TransactionHostFeeArgs = { + fetchHostFee?: InputMaybe; +}; + + +/** Transaction interface shared by all kind of transactions (Debit, Credit) */ +export type TransactionNetAmountArgs = { + fetchHostFee?: InputMaybe; + fetchPaymentProcessorFee?: InputMaybe; + fetchTax?: InputMaybe; +}; + + +/** Transaction interface shared by all kind of transactions (Debit, Credit) */ +export type TransactionNetAmountInHostCurrencyArgs = { + fetchHostFee?: InputMaybe; + fetchPaymentProcessorFee?: InputMaybe; + fetchTax?: InputMaybe; +}; + + +/** Transaction interface shared by all kind of transactions (Debit, Credit) */ +export type TransactionPaymentProcessorFeeArgs = { + fetchPaymentProcessorFee?: InputMaybe; +}; + + +/** Transaction interface shared by all kind of transactions (Debit, Credit) */ +export type TransactionRelatedTransactionsArgs = { + kind?: InputMaybe>>; +}; + + +/** Transaction interface shared by all kind of transactions (Debit, Credit) */ +export type TransactionTaxAmountArgs = { + fetchTax?: InputMaybe; +}; + +/** A collection of Transactions (Debit or Credit) */ +export type TransactionCollection = Collection & { + __typename?: 'TransactionCollection'; + kinds?: Maybe>>; + limit?: Maybe; + nodes?: Maybe>>; + offset?: Maybe; + /** The types of payment methods used in this collection, regardless of the pagination */ + paymentMethodTypes: Array>; + totalCount?: Maybe; +}; + +/** Transaction group */ +export type TransactionGroup = { + __typename?: 'TransactionGroup'; + /** The account on the main side of the transaction (CREDIT -> recipient, DEBIT -> sender) */ + account?: Maybe; + createdAt?: Maybe; + host?: Maybe; + id: Scalars['String']['output']; + /** The primary transaction in the group */ + primaryTransaction?: Maybe; + totalAmount: Amount; + /** The transactions in the group */ + transactions?: Maybe>>; +}; + +/** A collection of Transactions groups */ +export type TransactionGroupCollection = Collection & { + __typename?: 'TransactionGroupCollection'; + limit?: Maybe; + nodes: Array; + offset?: Maybe; + totalCount?: Maybe; +}; + export enum TransactionKind { ADDED_FUNDS = 'ADDED_FUNDS', BALANCE_TRANSFER = 'BALANCE_TRANSFER', @@ -9130,6 +11584,18 @@ export enum TransactionKind { TAX = 'TAX' } +/** Fields for the user permissions on an transaction */ +export type TransactionPermissions = { + __typename?: 'TransactionPermissions'; + /** Whether the current user can download this transaction's invoice */ + canDownloadInvoice: Scalars['Boolean']['output']; + /** Whether the current user can edit the transaction */ + canRefund: Scalars['Boolean']['output']; + /** Whether the current user can reject the transaction */ + canReject: Scalars['Boolean']['output']; + id: Scalars['String']['output']; +}; + export type TransactionReferenceInput = { /** The public id identifying the transaction (ie: dgm9bnk8-0437xqry-ejpvzeol-jdayw5re) */ id?: InputMaybe; @@ -9137,6 +11603,28 @@ export type TransactionReferenceInput = { legacyId?: InputMaybe; }; +/** EXPERIMENTAL (this may change or be deleted) */ +export type TransactionReport = { + __typename?: 'TransactionReport'; + date?: Maybe; + endingBalance: Amount; + groups: Array>; + startingBalance: Amount; + totalChange: Amount; +}; + +/** EXPERIMENTAL (this may change or be deleted): Host transaction report */ +export type TransactionReports = { + __typename?: 'TransactionReports'; + /** The start date of the time series */ + dateFrom?: Maybe; + /** The end date of the time series */ + dateTo?: Maybe; + nodes?: Maybe>; + /** The interval between two data points */ + timeUnit: TimeUnit; +}; + export enum TransactionSettlementStatus { INVOICED = 'INVOICED', OWED = 'OWED', @@ -9149,6 +11637,95 @@ export enum TransactionType { DEBIT = 'DEBIT' } +/** EXPERIMENTAL (this may change or be deleted): Transaction amounts grouped by type, kind, isRefund, isHost, expenseType */ +export type TransactionsAmountGroup = { + __typename?: 'TransactionsAmountGroup'; + amount?: Maybe; + expenseType?: Maybe; + hostFee?: Maybe; + isHost?: Maybe; + isRefund?: Maybe; + kind?: Maybe; + netAmount?: Maybe; + paymentProcessorFee?: Maybe; + platformFee?: Maybe; + taxAmount?: Maybe; + type?: Maybe; +}; + +export type TransactionsImport = { + __typename?: 'TransactionsImport'; + /** Account that holds the import */ + account: Account; + /** Connected account linked to the import */ + connectedAccount?: Maybe; + /** When the import was created */ + createdAt: Scalars['DateTime']['output']; + /** Configuration for the CSV import */ + csvConfig?: Maybe; + /** URL of the import (e.g. link to the CSV file) */ + file?: Maybe; + /** The public id of the import */ + id: Scalars['String']['output']; + /** Whether the import is currently syncing */ + isSyncing: Scalars['Boolean']['output']; + /** When the import was last synced */ + lastSyncAt?: Maybe; + /** Cursor that defines where the last sync left off. Useful to know if there is new data to sync */ + lastSyncCursor?: Maybe; + /** Name of the import (e.g. "Contributions May 2021", "Tickets for Mautic Conference 2024") */ + name: Scalars['NonEmptyString']['output']; + /** List of rows in the import */ + rows: TransactionsImportRowCollection; + /** Source of the import (e.g. "Bank of America", "Eventbrite", etc...) */ + source: Scalars['NonEmptyString']['output']; + stats?: Maybe; + /** Type of the import */ + type: TransactionsImportType; + /** When the import was last updated */ + updatedAt: Scalars['DateTime']['output']; +}; + + +export type TransactionsImportRowsArgs = { + limit?: Scalars['Int']['input']; + offset?: Scalars['Int']['input']; + searchTerm?: InputMaybe; + status?: InputMaybe; +}; + +/** A row in a transactions import */ +export type TransactionsImportRow = { + __typename?: 'TransactionsImportRow'; + /** The amount of the row */ + amount: Amount; + /** The date of the row */ + date: Scalars['DateTime']['output']; + /** The description of the row */ + description: Scalars['String']['output']; + /** The expense associated with the row */ + expense?: Maybe; + /** The public id of the imported row */ + id: Scalars['String']['output']; + /** Whether the row has been dismissed */ + isDismissed: Scalars['Boolean']['output']; + /** The order associated with the row */ + order?: Maybe; + /** The raw data of the row */ + rawValue?: Maybe; + /** The source id of the row */ + sourceId: Scalars['NonEmptyString']['output']; +}; + +/** A collection of "TransactionsImportRow" */ +export type TransactionsImportRowCollection = Collection & { + __typename?: 'TransactionsImportRowCollection'; + limit?: Maybe; + nodes?: Maybe>; + offset?: Maybe; + totalCount?: Maybe; +}; + export type TransactionsImportRowCreateInput = { /** The amount of the row */ amount: AmountInput; @@ -9196,6 +11773,20 @@ export type TransactionsImportRowUpdateInput = { sourceId?: InputMaybe; }; +export type TransactionsImportStats = { + __typename?: 'TransactionsImportStats'; + /** Number of rows that have been converted to expenses */ + expenses: Scalars['Int']['output']; + /** Number of rows that have been ignored */ + ignored: Scalars['Int']['output']; + /** Number of rows that have been converted to orders */ + orders: Scalars['Int']['output']; + /** Number of rows that have been processed (either dismissed or converted to expenses or orders) */ + processed: Scalars['Int']['output']; + /** Total number of rows in the import */ + total: Scalars['Int']['output']; +}; + /** Type of the import */ export enum TransactionsImportType { CSV = 'CSV', @@ -9203,6 +11794,75 @@ export enum TransactionsImportType { PLAID = 'PLAID' } +/** A collection of "TransactionsImports" */ +export type TransactionsImportsCollection = Collection & { + __typename?: 'TransactionsImportsCollection'; + limit?: Maybe; + nodes?: Maybe>; + offset?: Maybe; + totalCount?: Maybe; +}; + +/** TransferWise related properties for bank transfer. */ +export type TransferWise = { + __typename?: 'TransferWise'; + amountBatched?: Maybe; + availableCurrencies?: Maybe>>; + /** Transferwise balances. Returns null if Transferwise account is not connected. */ + balances?: Maybe>>; + /** Unique identifier for this Wise object */ + id: Scalars['String']['output']; + requiredFields?: Maybe>>; +}; + + +/** TransferWise related properties for bank transfer. */ +export type TransferWiseAvailableCurrenciesArgs = { + ignoreBlockedCurrencies?: InputMaybe; +}; + + +/** TransferWise related properties for bank transfer. */ +export type TransferWiseRequiredFieldsArgs = { + accountDetails?: InputMaybe; + currency: Scalars['String']['input']; +}; + +export type TransferWiseField = { + __typename?: 'TransferWiseField'; + group?: Maybe>>; + name?: Maybe; +}; + +export type TransferWiseFieldGroup = { + __typename?: 'TransferWiseFieldGroup'; + displayFormat?: Maybe; + example?: Maybe; + key?: Maybe; + maxLength?: Maybe; + minLength?: Maybe; + name?: Maybe; + refreshRequirementsOnChange?: Maybe; + required?: Maybe; + type?: Maybe; + validationAsync?: Maybe; + validationRegexp?: Maybe; + valuesAllowed?: Maybe>>; +}; + +export type TransferWiseFieldVatvkluesAllowed = { + __typename?: 'TransferWiseFieldVatvkluesAllowed'; + key?: Maybe; + name?: Maybe; +}; + +export type TransferWiseRequiredField = { + __typename?: 'TransferWiseRequiredField'; + fields?: Maybe>>; + title?: Maybe; + type?: Maybe; +}; + /** A two factor authentication method */ export enum TwoFactorMethod { TOTP = 'TOTP', @@ -9210,6 +11870,58 @@ export enum TwoFactorMethod { YUBIKEY_OTP = 'YUBIKEY_OTP' } +export type UnfollowAccountResult = { + __typename?: 'UnfollowAccountResult'; + individual: Individual; + member?: Maybe; +}; + +/** This represents an Update */ +export type Update = { + __typename?: 'Update'; + account?: Maybe; + /** Some stats about the target audience. Will be null if the update is already published or if you don't have enough permissions so see this information. Not backed by a loader, avoid using this field in lists. */ + audienceStats?: Maybe; + /** List the comments for this update. Not backed by a loader, don't use this in lists. */ + comments?: Maybe; + createdAt: Scalars['DateTime']['output']; + fromAccount?: Maybe; + html?: Maybe; + id: Scalars['String']['output']; + isChangelog: Scalars['Boolean']['output']; + isPrivate: Scalars['Boolean']['output']; + legacyId?: Maybe; + makePublicOn?: Maybe; + notificationAudience?: Maybe; + publishedAt?: Maybe; + /** Returns a map of reactions counts for this update */ + reactions?: Maybe; + slug: Scalars['String']['output']; + summary?: Maybe; + tags?: Maybe>>; + title: Scalars['String']['output']; + updatedAt: Scalars['DateTime']['output']; + /** Indicates whether or not the user is allowed to publish this update */ + userCanPublishUpdate: Scalars['Boolean']['output']; + /** Indicates whether or not the user is allowed to see the content of this update */ + userCanSeeUpdate: Scalars['Boolean']['output']; + /** Returns the list of reactions added to this update by logged in user */ + userReactions?: Maybe>>; +}; + + +/** This represents an Update */ +export type UpdateAudienceStatsArgs = { + audience?: InputMaybe; +}; + + +/** This represents an Update */ +export type UpdateCommentsArgs = { + limit?: Scalars['Int']['input']; + offset?: Scalars['Int']['input']; +}; + /** Defines targets for an update */ export enum UpdateAudience { /** Will be sent to collective admins and financial contributors */ @@ -9222,6 +11934,19 @@ export enum UpdateAudience { NO_ONE = 'NO_ONE' } +/** Stats about the potential audience of an update */ +export type UpdateAudienceStats = { + __typename?: 'UpdateAudienceStats'; + collectives: Scalars['Int']['output']; + coreContributors: Scalars['Int']['output']; + hosted: Scalars['Int']['output']; + id: Scalars['String']['output']; + individuals: Scalars['Int']['output']; + organizations: Scalars['Int']['output']; + /** The total number of emails to send */ + total: Scalars['Int']['output']; +}; + /** Input to order updates chronologically */ export type UpdateChronologicalOrderInput = { /** Ordering direction. */ @@ -9230,6 +11955,15 @@ export type UpdateChronologicalOrderInput = { field?: UpdateDateTimeField; }; +/** A collection of "Updates" */ +export type UpdateCollection = Collection & { + __typename?: 'UpdateCollection'; + limit?: Maybe; + nodes?: Maybe>; + offset?: Maybe; + totalCount?: Maybe; +}; + /** Input type for UpdateType */ export type UpdateCreateInput = { account: AccountReferenceInput; @@ -9279,6 +12013,12 @@ export type UploadFileInput = { parsingOptions?: InputMaybe; }; +export type UploadFileResult = { + __typename?: 'UploadFileResult'; + file: FileInfo; + parsingResult?: Maybe; +}; + /** The kind of file that was uploaded */ export enum UploadedFileKind { ACCOUNT_AVATAR = 'ACCOUNT_AVATAR', @@ -9294,6 +12034,17 @@ export enum UploadedFileKind { UPDATE = 'UPDATE' } +/** User two factor authentication method */ +export type UserTwoFactorMethod = { + __typename?: 'UserTwoFactorMethod'; + createdAt: Scalars['DateTime']['output']; + description?: Maybe; + icon?: Maybe; + id: Scalars['String']['output']; + method: TwoFactorMethod; + name: Scalars['String']['output']; +}; + export type UserTwoFactorMethodReferenceInput = { id?: InputMaybe; legacyId?: InputMaybe; @@ -9829,6 +12580,17 @@ export type VendorEditInput = { vendorInfo?: InputMaybe; }; +/** Some context about the vendor */ +export type VendorInfo = { + __typename?: 'VendorInfo'; + contact?: Maybe; + notes?: Maybe; + taxFormRequired?: Maybe; + taxFormUrl?: Maybe; + taxId?: Maybe; + taxType?: Maybe; +}; + /** Some context about the vendor */ export type VendorInfoInput = { contact?: InputMaybe; @@ -9839,6 +12601,38 @@ export type VendorInfoInput = { taxType?: InputMaybe; }; +/** A Virtual Card used to pay expenses */ +export type VirtualCard = { + __typename?: 'VirtualCard'; + account?: Maybe; + assignee?: Maybe; + createdAt?: Maybe; + currency?: Maybe; + data?: Maybe; + host?: Maybe; + id?: Maybe; + last4?: Maybe; + name?: Maybe; + privateData?: Maybe; + provider?: Maybe; + remainingLimit?: Maybe; + spendingLimitAmount?: Maybe; + spendingLimitInterval?: Maybe; + spendingLimitRenewsOn?: Maybe; + status?: Maybe; + updatedAt?: Maybe; + virtualCardRequest?: Maybe; +}; + +/** A collection of Virtual Cards */ +export type VirtualCardCollection = Collection & { + __typename?: 'VirtualCardCollection'; + limit?: Maybe; + nodes?: Maybe>>; + offset?: Maybe; + totalCount?: Maybe; +}; + export type VirtualCardInput = { data?: InputMaybe; id?: InputMaybe; @@ -9866,6 +12660,33 @@ export type VirtualCardReferenceInput = { id?: InputMaybe; }; +/** A Virtual Card request */ +export type VirtualCardRequest = { + __typename?: 'VirtualCardRequest'; + account?: Maybe; + assignee?: Maybe; + createdAt?: Maybe; + currency?: Maybe; + host?: Maybe; + id: Scalars['String']['output']; + legacyId?: Maybe; + notes?: Maybe; + purpose?: Maybe; + spendingLimitAmount?: Maybe; + spendingLimitInterval?: Maybe; + status?: Maybe; + updatedAt?: Maybe; +}; + +/** A collection of "VirtualCardRequest" */ +export type VirtualCardRequestCollection = Collection & { + __typename?: 'VirtualCardRequestCollection'; + limit?: Maybe; + nodes?: Maybe>; + offset?: Maybe; + totalCount?: Maybe; +}; + export type VirtualCardRequestReferenceInput = { id?: InputMaybe; legacyId?: InputMaybe; @@ -9885,6 +12706,25 @@ export enum VirtualCardStatus { INACTIVE = 'INACTIVE' } +/** An webhook attached to an account */ +export type Webhook = { + __typename?: 'Webhook'; + account: Account; + activityType?: Maybe; + id: Scalars['String']['output']; + legacyId: Scalars['Int']['output']; + webhookUrl?: Maybe; +}; + +/** A collection of webhooks */ +export type WebhookCollection = Collection & { + __typename?: 'WebhookCollection'; + limit?: Maybe; + nodes?: Maybe>>; + offset?: Maybe; + totalCount?: Maybe; +}; + /** Input type for Webhooks */ export type WebhookCreateInput = { /** The account to attach the Webhook */ diff --git a/lib/graphql/types/v2/schema.ts b/lib/graphql/types/v2/schema.ts index 6763888758b..af62f01c78c 100644 --- a/lib/graphql/types/v2/schema.ts +++ b/lib/graphql/types/v2/schema.ts @@ -314,7 +314,7 @@ export type AccountOrdersArgs = { expectedDateTo?: InputMaybe; expectedFundsFilter?: InputMaybe; filter?: InputMaybe; - frequency?: InputMaybe; + frequency?: InputMaybe>>; includeChildrenAccounts?: Scalars['Boolean']['input']; includeHostedAccounts?: InputMaybe; includeIncognito?: InputMaybe; @@ -332,6 +332,7 @@ export type AccountOrdersArgs = { paymentMethodType?: InputMaybe>>; searchTerm?: InputMaybe; status?: InputMaybe>>; + tier?: InputMaybe>>; tierSlug?: InputMaybe; }; @@ -1707,7 +1708,7 @@ export type BotOrdersArgs = { expectedDateTo?: InputMaybe; expectedFundsFilter?: InputMaybe; filter?: InputMaybe; - frequency?: InputMaybe; + frequency?: InputMaybe>>; includeChildrenAccounts?: Scalars['Boolean']['input']; includeHostedAccounts?: InputMaybe; includeIncognito?: InputMaybe; @@ -1725,6 +1726,7 @@ export type BotOrdersArgs = { paymentMethodType?: InputMaybe>>; searchTerm?: InputMaybe; status?: InputMaybe>>; + tier?: InputMaybe>>; tierSlug?: InputMaybe; }; @@ -2225,7 +2227,7 @@ export type CollectiveOrdersArgs = { expectedDateTo?: InputMaybe; expectedFundsFilter?: InputMaybe; filter?: InputMaybe; - frequency?: InputMaybe; + frequency?: InputMaybe>>; includeChildrenAccounts?: Scalars['Boolean']['input']; includeHostedAccounts?: InputMaybe; includeIncognito?: InputMaybe; @@ -2243,6 +2245,7 @@ export type CollectiveOrdersArgs = { paymentMethodType?: InputMaybe>>; searchTerm?: InputMaybe; status?: InputMaybe>>; + tier?: InputMaybe>>; tierSlug?: InputMaybe; }; @@ -4192,7 +4195,7 @@ export type EventOrdersArgs = { expectedDateTo?: InputMaybe; expectedFundsFilter?: InputMaybe; filter?: InputMaybe; - frequency?: InputMaybe; + frequency?: InputMaybe>>; includeChildrenAccounts?: Scalars['Boolean']['input']; includeHostedAccounts?: InputMaybe; includeIncognito?: InputMaybe; @@ -4210,6 +4213,7 @@ export type EventOrdersArgs = { paymentMethodType?: InputMaybe>>; searchTerm?: InputMaybe; status?: InputMaybe>>; + tier?: InputMaybe>>; tierSlug?: InputMaybe; }; @@ -5375,7 +5379,7 @@ export type FundOrdersArgs = { expectedDateTo?: InputMaybe; expectedFundsFilter?: InputMaybe; filter?: InputMaybe; - frequency?: InputMaybe; + frequency?: InputMaybe>>; includeChildrenAccounts?: Scalars['Boolean']['input']; includeHostedAccounts?: InputMaybe; includeIncognito?: InputMaybe; @@ -5393,6 +5397,7 @@ export type FundOrdersArgs = { paymentMethodType?: InputMaybe>>; searchTerm?: InputMaybe; status?: InputMaybe>>; + tier?: InputMaybe>>; tierSlug?: InputMaybe; }; @@ -6085,7 +6090,7 @@ export type HostOrdersArgs = { expectedDateTo?: InputMaybe; expectedFundsFilter?: InputMaybe; filter?: InputMaybe; - frequency?: InputMaybe; + frequency?: InputMaybe>>; includeChildrenAccounts?: Scalars['Boolean']['input']; includeHostedAccounts?: InputMaybe; includeIncognito?: InputMaybe; @@ -6103,6 +6108,7 @@ export type HostOrdersArgs = { paymentMethodType?: InputMaybe>>; searchTerm?: InputMaybe; status?: InputMaybe>>; + tier?: InputMaybe>>; tierSlug?: InputMaybe; }; @@ -6871,7 +6877,7 @@ export type IndividualOrdersArgs = { expectedDateTo?: InputMaybe; expectedFundsFilter?: InputMaybe; filter?: InputMaybe; - frequency?: InputMaybe; + frequency?: InputMaybe>>; includeChildrenAccounts?: Scalars['Boolean']['input']; includeHostedAccounts?: InputMaybe; includeIncognito?: InputMaybe; @@ -6889,6 +6895,7 @@ export type IndividualOrdersArgs = { paymentMethodType?: InputMaybe>>; searchTerm?: InputMaybe; status?: InputMaybe>>; + tier?: InputMaybe>>; tierSlug?: InputMaybe; }; @@ -9204,7 +9211,7 @@ export type OrganizationOrdersArgs = { expectedDateTo?: InputMaybe; expectedFundsFilter?: InputMaybe; filter?: InputMaybe; - frequency?: InputMaybe; + frequency?: InputMaybe>>; includeChildrenAccounts?: Scalars['Boolean']['input']; includeHostedAccounts?: InputMaybe; includeIncognito?: InputMaybe; @@ -9222,6 +9229,7 @@ export type OrganizationOrdersArgs = { paymentMethodType?: InputMaybe>>; searchTerm?: InputMaybe; status?: InputMaybe>>; + tier?: InputMaybe>>; tierSlug?: InputMaybe; }; @@ -9432,7 +9440,7 @@ export type PaymentMethodOrdersArgs = { expectedDateTo?: InputMaybe; expectedFundsFilter?: InputMaybe; filter?: InputMaybe; - frequency?: InputMaybe; + frequency?: InputMaybe>>; includeChildrenAccounts?: Scalars['Boolean']['input']; includeHostedAccounts?: InputMaybe; includeIncognito?: InputMaybe; @@ -9449,6 +9457,7 @@ export type PaymentMethodOrdersArgs = { paymentMethodType?: InputMaybe>>; searchTerm?: InputMaybe; status?: InputMaybe>>; + tier?: InputMaybe>>; tierSlug?: InputMaybe; }; @@ -10251,7 +10260,7 @@ export type ProjectOrdersArgs = { expectedDateTo?: InputMaybe; expectedFundsFilter?: InputMaybe; filter?: InputMaybe; - frequency?: InputMaybe; + frequency?: InputMaybe>>; includeChildrenAccounts?: Scalars['Boolean']['input']; includeHostedAccounts?: InputMaybe; includeIncognito?: InputMaybe; @@ -10269,6 +10278,7 @@ export type ProjectOrdersArgs = { paymentMethodType?: InputMaybe>>; searchTerm?: InputMaybe; status?: InputMaybe>>; + tier?: InputMaybe>>; tierSlug?: InputMaybe; }; @@ -10680,7 +10690,7 @@ export type QueryOrdersArgs = { expectedDateTo?: InputMaybe; expectedFundsFilter?: InputMaybe; filter?: InputMaybe; - frequency?: InputMaybe; + frequency?: InputMaybe>>; includeChildrenAccounts?: Scalars['Boolean']['input']; includeHostedAccounts?: InputMaybe; includeIncognito?: InputMaybe; @@ -10698,6 +10708,7 @@ export type QueryOrdersArgs = { paymentMethodType?: InputMaybe>>; searchTerm?: InputMaybe; status?: InputMaybe>>; + tier?: InputMaybe>>; tierSlug?: InputMaybe; }; @@ -12357,7 +12368,7 @@ export type VendorOrdersArgs = { expectedDateTo?: InputMaybe; expectedFundsFilter?: InputMaybe; filter?: InputMaybe; - frequency?: InputMaybe; + frequency?: InputMaybe>>; includeChildrenAccounts?: Scalars['Boolean']['input']; includeHostedAccounts?: InputMaybe; includeIncognito?: InputMaybe; @@ -12375,6 +12386,7 @@ export type VendorOrdersArgs = { paymentMethodType?: InputMaybe>>; searchTerm?: InputMaybe; status?: InputMaybe>>; + tier?: InputMaybe>>; tierSlug?: InputMaybe; };