diff options
Diffstat (limited to 'apps/provisioning_api')
50 files changed, 501 insertions, 714 deletions
diff --git a/apps/provisioning_api/appinfo/routes.php b/apps/provisioning_api/appinfo/routes.php index 66d1fb699a9..df4f806fa08 100644 --- a/apps/provisioning_api/appinfo/routes.php +++ b/apps/provisioning_api/appinfo/routes.php @@ -35,6 +35,7 @@ return [ ['root' => '/cloud', 'name' => 'Users#getCurrentUser', 'url' => '/user', 'verb' => 'GET'], ['root' => '/cloud', 'name' => 'Users#getEditableFields', 'url' => '/user/fields', 'verb' => 'GET'], ['root' => '/cloud', 'name' => 'Users#getEditableFieldsForUser', 'url' => '/user/fields/{userId}', 'verb' => 'GET'], + ['root' => '/cloud', 'name' => 'Users#getEnabledApps', 'url' => '/user/apps', 'verb' => 'GET'], ['root' => '/cloud', 'name' => 'Users#editUser', 'url' => '/users/{userId}', 'verb' => 'PUT'], ['root' => '/cloud', 'name' => 'Users#editUserMultiValue', 'url' => '/users/{userId}/{collectionName}', 'verb' => 'PUT', 'requirements' => ['collectionName' => '^(?!enable$|disable$)[a-zA-Z0-9_]*$']], ['root' => '/cloud', 'name' => 'Users#wipeUserDevices', 'url' => '/users/{userId}/wipe', 'verb' => 'POST'], diff --git a/apps/provisioning_api/l10n/bg.js b/apps/provisioning_api/l10n/bg.js deleted file mode 100644 index 65f85f8e42a..00000000000 --- a/apps/provisioning_api/l10n/bg.js +++ /dev/null @@ -1,18 +0,0 @@ -OC.L10N.register( - "provisioning_api", - { - "Logged in user must be an administrator or have authorization to edit this setting." : "Влезлият потребител трябва да е администратор или да има разрешение за редактиране на тази настройка.", - "User already exists" : "Вече съществува потребител", - "Email confirmation" : "Потвърждение по имейл", - "To enable the email address %s please click the button below." : "За да активирате имейл адреса %s, моля, щракнете върху долния бутон.", - "Confirm" : "Потвърди", - "Email was already removed from account and cannot be confirmed anymore." : "Имейлът вече е премахнат от профила и не може да бъде потвърден повече.", - "Could not verify mail because the token is expired." : "Не можа да се потвърди пощата, защото токенът е изтекъл.", - "Could not verify mail because the token is invalid." : "Не можа да се потвърди пощата, защото токенът е невалиден.", - "An unexpected error occurred. Please contact your admin." : "Възникна неочаквана грешка. Моля, свържете се с вашия администратор.", - "Email confirmation successful" : "Потвърждението по имейл е успешно", - "Provisioning API" : "Осигуряващ API", - "This application enables a set of APIs that external systems can use to manage users, groups and apps." : "Това приложение активира набор от API, които външните системи могат да използват за управление на потребители, групи и приложения.", - "This application enables a set of APIs that external systems can use to create, edit, delete and query user\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin users\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "Това приложение активира набор от API, които външните системи могат да използват за създаване, редактиране, изтриване и запитване на потребител\n\t\tатрибути, заявка, задаване и премахване на групи, задаване на квота и заявка за общо хранилище, използвано в Nextcloud. Потребители с администратор на групата\n\t\tможе също да подава заявка към Nextcloud и да изпълнява същите функции като администратор за групи, които управляват. API също позволява\n\t\tадминистратор, който да потърси активни приложения Nextcloud, информация за приложението и да активира или деактивира приложение от разстояние.\n\t\tСлед като приложението е активирано, HTTP заявките могат да се използват чрез Basic Auth заглавка за изпълнение на някоя от функциите\n\t\tизброени по-горе. Повече информация е налична в документацията на API за предоставяне, включително примерни повиквания\n\t\tи отговори на сървъра." -}, -"nplurals=2; plural=(n != 1);"); diff --git a/apps/provisioning_api/l10n/bg.json b/apps/provisioning_api/l10n/bg.json deleted file mode 100644 index 52b2fdb313f..00000000000 --- a/apps/provisioning_api/l10n/bg.json +++ /dev/null @@ -1,16 +0,0 @@ -{ "translations": { - "Logged in user must be an administrator or have authorization to edit this setting." : "Влезлият потребител трябва да е администратор или да има разрешение за редактиране на тази настройка.", - "User already exists" : "Вече съществува потребител", - "Email confirmation" : "Потвърждение по имейл", - "To enable the email address %s please click the button below." : "За да активирате имейл адреса %s, моля, щракнете върху долния бутон.", - "Confirm" : "Потвърди", - "Email was already removed from account and cannot be confirmed anymore." : "Имейлът вече е премахнат от профила и не може да бъде потвърден повече.", - "Could not verify mail because the token is expired." : "Не можа да се потвърди пощата, защото токенът е изтекъл.", - "Could not verify mail because the token is invalid." : "Не можа да се потвърди пощата, защото токенът е невалиден.", - "An unexpected error occurred. Please contact your admin." : "Възникна неочаквана грешка. Моля, свържете се с вашия администратор.", - "Email confirmation successful" : "Потвърждението по имейл е успешно", - "Provisioning API" : "Осигуряващ API", - "This application enables a set of APIs that external systems can use to manage users, groups and apps." : "Това приложение активира набор от API, които външните системи могат да използват за управление на потребители, групи и приложения.", - "This application enables a set of APIs that external systems can use to create, edit, delete and query user\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin users\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "Това приложение активира набор от API, които външните системи могат да използват за създаване, редактиране, изтриване и запитване на потребител\n\t\tатрибути, заявка, задаване и премахване на групи, задаване на квота и заявка за общо хранилище, използвано в Nextcloud. Потребители с администратор на групата\n\t\tможе също да подава заявка към Nextcloud и да изпълнява същите функции като администратор за групи, които управляват. API също позволява\n\t\tадминистратор, който да потърси активни приложения Nextcloud, информация за приложението и да активира или деактивира приложение от разстояние.\n\t\tСлед като приложението е активирано, HTTP заявките могат да се използват чрез Basic Auth заглавка за изпълнение на някоя от функциите\n\t\tизброени по-горе. Повече информация е налична в документацията на API за предоставяне, включително примерни повиквания\n\t\tи отговори на сървъра." -},"pluralForm" :"nplurals=2; plural=(n != 1);" -}
\ No newline at end of file diff --git a/apps/provisioning_api/l10n/de.js b/apps/provisioning_api/l10n/de.js index e407741f9d5..155d7f9c848 100644 --- a/apps/provisioning_api/l10n/de.js +++ b/apps/provisioning_api/l10n/de.js @@ -29,11 +29,11 @@ OC.L10N.register( "Email address not available" : "E-Mail-Adresse nicht verfügbar", "Sending email failed" : "Senden der E-Mail ist fehlgeschlagen", "Email confirmation" : "E-Mail-Bestätigung", - "To enable the email address %s please click the button below." : "Um die E-Mail-Adresse %s zu bestätigen, klicke bitte auf die untenstehende Schaltfläche.", + "To enable the email address %s please click the button below." : "Um die E-Mailadresse %s zu bestätigen, auf die untenstehende Schaltfläche klicken.", "Confirm" : "Bestätigen", "Email was already removed from account and cannot be confirmed anymore." : "Diese E-Mail-Adresse wurde bereits aus dem Konto entfernt und kann nicht mehr bestätigt werden.", - "Could not verify mail because the token is expired." : "Die E-Mail konnte nicht verifiziert werden, da die Frist des Tokens abgelaufen ist.", - "Could not verify mail because the token is invalid." : "Die E-Mail konnte nicht verifiziert werden, da der Token ungültig ist.", + "Could not verify mail because the token is expired." : "Die E-Mailadresse konnte nicht verifiziert werden, da das Token abgelaufen ist.", + "Could not verify mail because the token is invalid." : "Die E-Mailadresse konnte nicht verifiziert werden, da der Token ungültig ist.", "An unexpected error occurred. Please contact your admin." : "Es ist ein unerwarteter Fehler aufgetreten, bitte kontaktiere deine Administration.", "Email confirmation successful" : "Die E-Mail Bestätigung war erfolgreich.", "Provisioning API" : "Bereitstellungs-API", diff --git a/apps/provisioning_api/l10n/de.json b/apps/provisioning_api/l10n/de.json index 36249979fa4..0fa532f48cd 100644 --- a/apps/provisioning_api/l10n/de.json +++ b/apps/provisioning_api/l10n/de.json @@ -27,11 +27,11 @@ "Email address not available" : "E-Mail-Adresse nicht verfügbar", "Sending email failed" : "Senden der E-Mail ist fehlgeschlagen", "Email confirmation" : "E-Mail-Bestätigung", - "To enable the email address %s please click the button below." : "Um die E-Mail-Adresse %s zu bestätigen, klicke bitte auf die untenstehende Schaltfläche.", + "To enable the email address %s please click the button below." : "Um die E-Mailadresse %s zu bestätigen, auf die untenstehende Schaltfläche klicken.", "Confirm" : "Bestätigen", "Email was already removed from account and cannot be confirmed anymore." : "Diese E-Mail-Adresse wurde bereits aus dem Konto entfernt und kann nicht mehr bestätigt werden.", - "Could not verify mail because the token is expired." : "Die E-Mail konnte nicht verifiziert werden, da die Frist des Tokens abgelaufen ist.", - "Could not verify mail because the token is invalid." : "Die E-Mail konnte nicht verifiziert werden, da der Token ungültig ist.", + "Could not verify mail because the token is expired." : "Die E-Mailadresse konnte nicht verifiziert werden, da das Token abgelaufen ist.", + "Could not verify mail because the token is invalid." : "Die E-Mailadresse konnte nicht verifiziert werden, da der Token ungültig ist.", "An unexpected error occurred. Please contact your admin." : "Es ist ein unerwarteter Fehler aufgetreten, bitte kontaktiere deine Administration.", "Email confirmation successful" : "Die E-Mail Bestätigung war erfolgreich.", "Provisioning API" : "Bereitstellungs-API", diff --git a/apps/provisioning_api/l10n/el.js b/apps/provisioning_api/l10n/el.js deleted file mode 100644 index 5b10b4adafe..00000000000 --- a/apps/provisioning_api/l10n/el.js +++ /dev/null @@ -1,16 +0,0 @@ -OC.L10N.register( - "provisioning_api", - { - "User already exists" : "Ο χρήστης υπάρχει ήδη", - "Email confirmation" : "Επιβεβαίωση ηλεκτρονικού ταχυδρομείου", - "To enable the email address %s please click the button below." : "Για να ενεργοποιήσετε τη διεύθυνση ηλεκτρονικού ταχυδρομείου %s κάντε κλικ στο παρακάτω κουμπί.", - "Confirm" : "Επιβεβαίωση", - "Email was already removed from account and cannot be confirmed anymore." : "Η διεύθυνση ηλεκτρονικού ταχυδρομείου έχει ήδη αφαιρεθεί από τον λογαριασμό και δεν μπορεί πλέον να επιβεβαιωθεί.", - "Could not verify mail because the token is expired." : "Δεν ήταν δυνατή η επαλήθευση της αλληλογραφίας επειδή το διακριτικό έχει λήξει.", - "Could not verify mail because the token is invalid." : "Αδυναμία επαλήθευσης ηλεκτρονικής αλληλογραφίας επειδή το διακριτικό δεν είναι έγκυρο.", - "Email confirmation successful" : "Η επιβεβαίωση μέσω ηλεκτρονικού ταχυδρομείου ήταν επιτυχής", - "Provisioning API" : "API παροχής", - "This application enables a set of APIs that external systems can use to manage users, groups and apps." : "Αυτή η εφαρμογή επιτρέπει ένα σύνολο API που μπορούν να χρησιμοποιήσουν τα εξωτερικά συστήματα για τη διαχείριση χρηστών, ομάδων και εφαρμογών.", - "This application enables a set of APIs that external systems can use to create, edit, delete and query user\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin users\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "Αυτή η εφαρμογή επιτρέπει ένα σύνολο API που μπορούν να χρησιμοποιήσουν τα εξωτερικά συστήματα για να δημιουργήσουν, να επεξεργαστούν, να διαγράψουν και να ρωτήσουν τις ιδιότητες των χρηστών, το ερώτημα, να ορίσουν και να αφαιρέσουν ομάδες, να ορίσουν το όριο και το συνολικό χώρο αποθήκευσης ερωτημάτων που χρησιμοποιούνται στο Nextcloud. Οι χρήστες διαχειριστή ομάδας μπορούν επίσης να υποβάλουν ερώτημα στο Nextcloud και να εκτελούν τις ίδιες λειτουργίες με έναν διαχειριστή για ομάδες που αυτοί διαχειρίζονται. Το API επιτρέπει επίσης σε έναν διαχειριστή να υποβάλλει ερώτημα για ενεργές εφαρμογές Nextcloud, πληροφορίες εφαρμογής και να ενεργοποιήσει ή να απενεργοποιήσει μια εφαρμογή από απόσταση. Μόλις ενεργοποιηθεί η εφαρμογή, τα αιτήματα HTTP μπορούν να χρησιμοποιηθούν μέσω κεφαλίδας Basic Auth για να εκτελέσουν οποιαδήποτε των λειτουργιών που αναφέρονται παραπάνω. Περισσότερες πληροφορίες διατίθενται στην τεκμηρίωση Provisioning API, συμπεριλαμβανομένων παραδειγμάτων κλήσεων και απαντήσεων διακομιστή." -}, -"nplurals=2; plural=(n != 1);"); diff --git a/apps/provisioning_api/l10n/el.json b/apps/provisioning_api/l10n/el.json deleted file mode 100644 index 525148a11a8..00000000000 --- a/apps/provisioning_api/l10n/el.json +++ /dev/null @@ -1,14 +0,0 @@ -{ "translations": { - "User already exists" : "Ο χρήστης υπάρχει ήδη", - "Email confirmation" : "Επιβεβαίωση ηλεκτρονικού ταχυδρομείου", - "To enable the email address %s please click the button below." : "Για να ενεργοποιήσετε τη διεύθυνση ηλεκτρονικού ταχυδρομείου %s κάντε κλικ στο παρακάτω κουμπί.", - "Confirm" : "Επιβεβαίωση", - "Email was already removed from account and cannot be confirmed anymore." : "Η διεύθυνση ηλεκτρονικού ταχυδρομείου έχει ήδη αφαιρεθεί από τον λογαριασμό και δεν μπορεί πλέον να επιβεβαιωθεί.", - "Could not verify mail because the token is expired." : "Δεν ήταν δυνατή η επαλήθευση της αλληλογραφίας επειδή το διακριτικό έχει λήξει.", - "Could not verify mail because the token is invalid." : "Αδυναμία επαλήθευσης ηλεκτρονικής αλληλογραφίας επειδή το διακριτικό δεν είναι έγκυρο.", - "Email confirmation successful" : "Η επιβεβαίωση μέσω ηλεκτρονικού ταχυδρομείου ήταν επιτυχής", - "Provisioning API" : "API παροχής", - "This application enables a set of APIs that external systems can use to manage users, groups and apps." : "Αυτή η εφαρμογή επιτρέπει ένα σύνολο API που μπορούν να χρησιμοποιήσουν τα εξωτερικά συστήματα για τη διαχείριση χρηστών, ομάδων και εφαρμογών.", - "This application enables a set of APIs that external systems can use to create, edit, delete and query user\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin users\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "Αυτή η εφαρμογή επιτρέπει ένα σύνολο API που μπορούν να χρησιμοποιήσουν τα εξωτερικά συστήματα για να δημιουργήσουν, να επεξεργαστούν, να διαγράψουν και να ρωτήσουν τις ιδιότητες των χρηστών, το ερώτημα, να ορίσουν και να αφαιρέσουν ομάδες, να ορίσουν το όριο και το συνολικό χώρο αποθήκευσης ερωτημάτων που χρησιμοποιούνται στο Nextcloud. Οι χρήστες διαχειριστή ομάδας μπορούν επίσης να υποβάλουν ερώτημα στο Nextcloud και να εκτελούν τις ίδιες λειτουργίες με έναν διαχειριστή για ομάδες που αυτοί διαχειρίζονται. Το API επιτρέπει επίσης σε έναν διαχειριστή να υποβάλλει ερώτημα για ενεργές εφαρμογές Nextcloud, πληροφορίες εφαρμογής και να ενεργοποιήσει ή να απενεργοποιήσει μια εφαρμογή από απόσταση. Μόλις ενεργοποιηθεί η εφαρμογή, τα αιτήματα HTTP μπορούν να χρησιμοποιηθούν μέσω κεφαλίδας Basic Auth για να εκτελέσουν οποιαδήποτε των λειτουργιών που αναφέρονται παραπάνω. Περισσότερες πληροφορίες διατίθενται στην τεκμηρίωση Provisioning API, συμπεριλαμβανομένων παραδειγμάτων κλήσεων και απαντήσεων διακομιστή." -},"pluralForm" :"nplurals=2; plural=(n != 1);" -}
\ No newline at end of file diff --git a/apps/provisioning_api/l10n/es_EC.js b/apps/provisioning_api/l10n/es_EC.js deleted file mode 100644 index 5f62f67c552..00000000000 --- a/apps/provisioning_api/l10n/es_EC.js +++ /dev/null @@ -1,18 +0,0 @@ -OC.L10N.register( - "provisioning_api", - { - "Logged in user must be an administrator or have authorization to edit this setting." : "El usuario conectado debe ser un administrador o tener autorización para editar esta configuración.", - "User already exists" : "El usuario ya existe", - "Email confirmation" : "Confirmación de correo electrónico", - "To enable the email address %s please click the button below." : "Para habilitar la dirección de correo electrónico %s, haz clic en el botón de abajo.", - "Confirm" : "Confirmar", - "Email was already removed from account and cannot be confirmed anymore." : "El correo electrónico ya fue eliminado de la cuenta y no se puede confirmar.", - "Could not verify mail because the token is expired." : "No se pudo verificar el correo porque el token ha expirado.", - "Could not verify mail because the token is invalid." : "No se pudo verificar el correo porque el token no es válido.", - "An unexpected error occurred. Please contact your admin." : "Se produjo un error inesperado. Por favor, contacta al administrador.", - "Email confirmation successful" : "Confirmación de correo electrónico exitosa", - "Provisioning API" : "API de aprovisionamiento", - "This application enables a set of APIs that external systems can use to manage users, groups and apps." : "Esta aplicación habilita un conjunto de API que los sistemas externos pueden usar para administrar usuarios, grupos y aplicaciones.", - "This application enables a set of APIs that external systems can use to create, edit, delete and query user\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin users\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "Esta aplicación habilita un conjunto de API que los sistemas externos pueden usar para crear, editar, eliminar y consultar atributos de usuarios, consultar, establecer y eliminar grupos, establecer cuotas y consultar el almacenamiento total utilizado en Nextcloud. Los usuarios administradores de grupos también pueden consultar Nextcloud y realizar las mismas funciones que un administrador para los grupos que administran. La API también permite a un administrador consultar las aplicaciones activas de Nextcloud, la información de las aplicaciones y habilitar o deshabilitar una aplicación de forma remota. Una vez que la aplicación está habilitada, se pueden utilizar solicitudes HTTP a través de un encabezado de autenticación básica para realizar cualquiera de las funciones mencionadas anteriormente. Hay más información disponible en la documentación de la API de aprovisionamiento, que incluye ejemplos de llamadas y respuestas del servidor." -}, -"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/provisioning_api/l10n/es_EC.json b/apps/provisioning_api/l10n/es_EC.json deleted file mode 100644 index f37c9a17418..00000000000 --- a/apps/provisioning_api/l10n/es_EC.json +++ /dev/null @@ -1,16 +0,0 @@ -{ "translations": { - "Logged in user must be an administrator or have authorization to edit this setting." : "El usuario conectado debe ser un administrador o tener autorización para editar esta configuración.", - "User already exists" : "El usuario ya existe", - "Email confirmation" : "Confirmación de correo electrónico", - "To enable the email address %s please click the button below." : "Para habilitar la dirección de correo electrónico %s, haz clic en el botón de abajo.", - "Confirm" : "Confirmar", - "Email was already removed from account and cannot be confirmed anymore." : "El correo electrónico ya fue eliminado de la cuenta y no se puede confirmar.", - "Could not verify mail because the token is expired." : "No se pudo verificar el correo porque el token ha expirado.", - "Could not verify mail because the token is invalid." : "No se pudo verificar el correo porque el token no es válido.", - "An unexpected error occurred. Please contact your admin." : "Se produjo un error inesperado. Por favor, contacta al administrador.", - "Email confirmation successful" : "Confirmación de correo electrónico exitosa", - "Provisioning API" : "API de aprovisionamiento", - "This application enables a set of APIs that external systems can use to manage users, groups and apps." : "Esta aplicación habilita un conjunto de API que los sistemas externos pueden usar para administrar usuarios, grupos y aplicaciones.", - "This application enables a set of APIs that external systems can use to create, edit, delete and query user\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin users\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "Esta aplicación habilita un conjunto de API que los sistemas externos pueden usar para crear, editar, eliminar y consultar atributos de usuarios, consultar, establecer y eliminar grupos, establecer cuotas y consultar el almacenamiento total utilizado en Nextcloud. Los usuarios administradores de grupos también pueden consultar Nextcloud y realizar las mismas funciones que un administrador para los grupos que administran. La API también permite a un administrador consultar las aplicaciones activas de Nextcloud, la información de las aplicaciones y habilitar o deshabilitar una aplicación de forma remota. Una vez que la aplicación está habilitada, se pueden utilizar solicitudes HTTP a través de un encabezado de autenticación básica para realizar cualquiera de las funciones mencionadas anteriormente. Hay más información disponible en la documentación de la API de aprovisionamiento, que incluye ejemplos de llamadas y respuestas del servidor." -},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" -}
\ No newline at end of file diff --git a/apps/provisioning_api/l10n/fa.js b/apps/provisioning_api/l10n/fa.js deleted file mode 100644 index be264dd36af..00000000000 --- a/apps/provisioning_api/l10n/fa.js +++ /dev/null @@ -1,18 +0,0 @@ -OC.L10N.register( - "provisioning_api", - { - "Logged in user must be an administrator or have authorization to edit this setting." : "Logged in user must be an administrator or have authorization to edit this setting.", - "User already exists" : "User already exists", - "Email confirmation" : "Email confirmation", - "To enable the email address %s please click the button below." : "To enable the email address %s please click the button below.", - "Confirm" : "تائید", - "Email was already removed from account and cannot be confirmed anymore." : "Email was already removed from account and cannot be confirmed anymore.", - "Could not verify mail because the token is expired." : "Could not verify mail because the token is expired.", - "Could not verify mail because the token is invalid." : "Could not verify mail because the token is invalid.", - "An unexpected error occurred. Please contact your admin." : "An unexpected error occurred. Please contact your admin.", - "Email confirmation successful" : "Email confirmation successful", - "Provisioning API" : "Provisioning API", - "This application enables a set of APIs that external systems can use to manage users, groups and apps." : "This application enables a set of APIs that external systems can use to manage users, groups and apps.", - "This application enables a set of APIs that external systems can use to create, edit, delete and query user\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin users\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "This application enables a set of APIs that external systems can use to create, edit, delete and query user\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin users\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." -}, -"nplurals=2; plural=(n > 1);"); diff --git a/apps/provisioning_api/l10n/fa.json b/apps/provisioning_api/l10n/fa.json deleted file mode 100644 index bffa08e9c25..00000000000 --- a/apps/provisioning_api/l10n/fa.json +++ /dev/null @@ -1,16 +0,0 @@ -{ "translations": { - "Logged in user must be an administrator or have authorization to edit this setting." : "Logged in user must be an administrator or have authorization to edit this setting.", - "User already exists" : "User already exists", - "Email confirmation" : "Email confirmation", - "To enable the email address %s please click the button below." : "To enable the email address %s please click the button below.", - "Confirm" : "تائید", - "Email was already removed from account and cannot be confirmed anymore." : "Email was already removed from account and cannot be confirmed anymore.", - "Could not verify mail because the token is expired." : "Could not verify mail because the token is expired.", - "Could not verify mail because the token is invalid." : "Could not verify mail because the token is invalid.", - "An unexpected error occurred. Please contact your admin." : "An unexpected error occurred. Please contact your admin.", - "Email confirmation successful" : "Email confirmation successful", - "Provisioning API" : "Provisioning API", - "This application enables a set of APIs that external systems can use to manage users, groups and apps." : "This application enables a set of APIs that external systems can use to manage users, groups and apps.", - "This application enables a set of APIs that external systems can use to create, edit, delete and query user\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin users\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "This application enables a set of APIs that external systems can use to create, edit, delete and query user\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin users\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." -},"pluralForm" :"nplurals=2; plural=(n > 1);" -}
\ No newline at end of file diff --git a/apps/provisioning_api/l10n/hr.js b/apps/provisioning_api/l10n/hr.js deleted file mode 100644 index 5c94beac555..00000000000 --- a/apps/provisioning_api/l10n/hr.js +++ /dev/null @@ -1,18 +0,0 @@ -OC.L10N.register( - "provisioning_api", - { - "Logged in user must be an administrator or have authorization to edit this setting." : "Korisnik koji je prijavljen mora biti administrator ili imati ovlaštenje za uređivanje ove postavke.", - "User already exists" : "Korisnik već postoji", - "Email confirmation" : "Potvrda e-poštom", - "To enable the email address %s please click the button below." : "Kliknite na gumb u nastavku kako biste omogućili adresu e-pošte %s.", - "Confirm" : "Potvrdi", - "Email was already removed from account and cannot be confirmed anymore." : "Adresa e-pošte uklonjena je iz računa i nije je moguće potvrditi.", - "Could not verify mail because the token is expired." : "Potvrđivanje adrese e-pošte nije moguće jer je token istekao.", - "Could not verify mail because the token is invalid." : "Potvrđivanje adrese e-pošte nije moguće jer je token nevažeći.", - "An unexpected error occurred. Please contact your admin." : "Došlo je do neočekivane pogreške. Obratite se svom administratoru.", - "Email confirmation successful" : "Adresa e-pošte uspješno je potvrđena", - "Provisioning API" : "API za uvođenje u rad", - "This application enables a set of APIs that external systems can use to manage users, groups and apps." : "Ova aplikacija omogućuje uporabu skupa API-ja koje vanjski sustavi mogu iskoristiti za upravljanje korisnicima, grupama i aplikacijama.", - "This application enables a set of APIs that external systems can use to create, edit, delete and query user\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin users\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "Ova aplikacija omogućuje skup API-ja koje vanjski sustavi mogu iskoristiti za stvaranje, uređivanje, brisanje i upućivanje upita o korisničkim\n\t\tatributima, postavljanje i uklanjanje grupa, postavljanje kvota i provjeravanje ukupne količine pohrane koju upotrebljava Nextcloud. Korisnici administratori grupe\n\t\ttakođer mogu upućivati upite Nextcloudu i izvršavati iste funkcije kao i administrator grupe kojima upravljaju. API također omogućuje\n\t\tadministratoru upućivanje upita o aktivnim aplikacijama u Nextcloudu, traženje informacija o aplikacijama i daljinsko omogućavanje ili onemogućavanje aplikacije.\n\t\tKad je aplikacija omogućena, HTTP zahtjevi mogu se slati putem Basic Auth zaglavlja za izvršavanje bilo koje od\n\t\tnavedenih funkcija. Više informacija možete pronaći u dokumentaciji API-ja, uključujući primjere poziva\n\t\ti odgovora poslužitelja." -}, -"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;"); diff --git a/apps/provisioning_api/l10n/hr.json b/apps/provisioning_api/l10n/hr.json deleted file mode 100644 index f2270c9f90d..00000000000 --- a/apps/provisioning_api/l10n/hr.json +++ /dev/null @@ -1,16 +0,0 @@ -{ "translations": { - "Logged in user must be an administrator or have authorization to edit this setting." : "Korisnik koji je prijavljen mora biti administrator ili imati ovlaštenje za uređivanje ove postavke.", - "User already exists" : "Korisnik već postoji", - "Email confirmation" : "Potvrda e-poštom", - "To enable the email address %s please click the button below." : "Kliknite na gumb u nastavku kako biste omogućili adresu e-pošte %s.", - "Confirm" : "Potvrdi", - "Email was already removed from account and cannot be confirmed anymore." : "Adresa e-pošte uklonjena je iz računa i nije je moguće potvrditi.", - "Could not verify mail because the token is expired." : "Potvrđivanje adrese e-pošte nije moguće jer je token istekao.", - "Could not verify mail because the token is invalid." : "Potvrđivanje adrese e-pošte nije moguće jer je token nevažeći.", - "An unexpected error occurred. Please contact your admin." : "Došlo je do neočekivane pogreške. Obratite se svom administratoru.", - "Email confirmation successful" : "Adresa e-pošte uspješno je potvrđena", - "Provisioning API" : "API za uvođenje u rad", - "This application enables a set of APIs that external systems can use to manage users, groups and apps." : "Ova aplikacija omogućuje uporabu skupa API-ja koje vanjski sustavi mogu iskoristiti za upravljanje korisnicima, grupama i aplikacijama.", - "This application enables a set of APIs that external systems can use to create, edit, delete and query user\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin users\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "Ova aplikacija omogućuje skup API-ja koje vanjski sustavi mogu iskoristiti za stvaranje, uređivanje, brisanje i upućivanje upita o korisničkim\n\t\tatributima, postavljanje i uklanjanje grupa, postavljanje kvota i provjeravanje ukupne količine pohrane koju upotrebljava Nextcloud. Korisnici administratori grupe\n\t\ttakođer mogu upućivati upite Nextcloudu i izvršavati iste funkcije kao i administrator grupe kojima upravljaju. API također omogućuje\n\t\tadministratoru upućivanje upita o aktivnim aplikacijama u Nextcloudu, traženje informacija o aplikacijama i daljinsko omogućavanje ili onemogućavanje aplikacije.\n\t\tKad je aplikacija omogućena, HTTP zahtjevi mogu se slati putem Basic Auth zaglavlja za izvršavanje bilo koje od\n\t\tnavedenih funkcija. Više informacija možete pronaći u dokumentaciji API-ja, uključujući primjere poziva\n\t\ti odgovora poslužitelja." -},"pluralForm" :"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;" -}
\ No newline at end of file diff --git a/apps/provisioning_api/l10n/hu.js b/apps/provisioning_api/l10n/hu.js deleted file mode 100644 index df4aef6fd00..00000000000 --- a/apps/provisioning_api/l10n/hu.js +++ /dev/null @@ -1,18 +0,0 @@ -OC.L10N.register( - "provisioning_api", - { - "Logged in user must be an administrator or have authorization to edit this setting." : "A bejelentkezett felhasználónak rendszergazdának kell lennie, vagy engedéllyel kell rendelkeznie, hogy szerkessze ezt a beállítást.", - "User already exists" : "A felhasználó már létezik", - "Email confirmation" : "E-mail-cím megerősítése", - "To enable the email address %s please click the button below." : "A(z) %s e-mail-cím engedélyezéséhez kattintson a lenti gombra.", - "Confirm" : "Megerősítés", - "Email was already removed from account and cannot be confirmed anymore." : "Az e-mail már el lett távolítva a fiókból, és már nem erősíthető meg.", - "Could not verify mail because the token is expired." : "Az e-mail-címet nem lehet megerősíteni, mert a token lejárt.", - "Could not verify mail because the token is invalid." : "Az e-mail-címet nem lehet megerősíteni, mert a token érvénytelen.", - "An unexpected error occurred. Please contact your admin." : "Váratlan hiba történt. Lépjen kapcsolatba a rendszergazdával.", - "Email confirmation successful" : "Az e-mail-cím megerősítése sikeres", - "Provisioning API" : "Felügyeleti API", - "This application enables a set of APIs that external systems can use to manage users, groups and apps." : "Ez az alkalmazás bekapcsol egy API készletet, melyeket külső rendszerek arra használhatnak, hogy a felhasználókat, csoportokat és alkalmazásokat kezeljenek.", - "This application enables a set of APIs that external systems can use to create, edit, delete and query user\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin users\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "Ez az alkalmazás bekapcsol egy API készletet, melyeket külső rendszerek használhatnak a felhasználók létrehozására,\n\t\tszerkesztésére, törlésére és attribútumok lekérdezésére, csoportok beállítására, eltávolítására és\n\t\tlekérdezésére, kvóta beállítására és a teljes tárhely lekérdezésére a Nextcloudban. A csoport admin felhasználók\n\t\tlekérdezhetik a Nextcloudot, és ugyanazokat a funkciókat hajthatják végre, mint az adminisztrátor az általuk\n\t\tkezelt csoportoknál. Az API szintén megengedi a rendszergazdának az aktív nextcloudos alkalmazások,\n\t\talkalmazásinformációk lekérdezését, valamint az alkalmazások távoli engedélyezését vagy letiltását. Miután\n\t\tengedélyezte az alkalmazást, a HTTP-kéréseket a Basic hitelesítési fejlécen keresztül fel lehet használni\n\t\tbármely, a feljebb felsorolt funkció végrehajtására. További információ a Provisioning API dokumentációjában\n\t\ttalálható, beleértve a példahívásokat és a kiszolgáló válaszait is." -}, -"nplurals=2; plural=(n != 1);"); diff --git a/apps/provisioning_api/l10n/hu.json b/apps/provisioning_api/l10n/hu.json deleted file mode 100644 index 4a08b9acae8..00000000000 --- a/apps/provisioning_api/l10n/hu.json +++ /dev/null @@ -1,16 +0,0 @@ -{ "translations": { - "Logged in user must be an administrator or have authorization to edit this setting." : "A bejelentkezett felhasználónak rendszergazdának kell lennie, vagy engedéllyel kell rendelkeznie, hogy szerkessze ezt a beállítást.", - "User already exists" : "A felhasználó már létezik", - "Email confirmation" : "E-mail-cím megerősítése", - "To enable the email address %s please click the button below." : "A(z) %s e-mail-cím engedélyezéséhez kattintson a lenti gombra.", - "Confirm" : "Megerősítés", - "Email was already removed from account and cannot be confirmed anymore." : "Az e-mail már el lett távolítva a fiókból, és már nem erősíthető meg.", - "Could not verify mail because the token is expired." : "Az e-mail-címet nem lehet megerősíteni, mert a token lejárt.", - "Could not verify mail because the token is invalid." : "Az e-mail-címet nem lehet megerősíteni, mert a token érvénytelen.", - "An unexpected error occurred. Please contact your admin." : "Váratlan hiba történt. Lépjen kapcsolatba a rendszergazdával.", - "Email confirmation successful" : "Az e-mail-cím megerősítése sikeres", - "Provisioning API" : "Felügyeleti API", - "This application enables a set of APIs that external systems can use to manage users, groups and apps." : "Ez az alkalmazás bekapcsol egy API készletet, melyeket külső rendszerek arra használhatnak, hogy a felhasználókat, csoportokat és alkalmazásokat kezeljenek.", - "This application enables a set of APIs that external systems can use to create, edit, delete and query user\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin users\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "Ez az alkalmazás bekapcsol egy API készletet, melyeket külső rendszerek használhatnak a felhasználók létrehozására,\n\t\tszerkesztésére, törlésére és attribútumok lekérdezésére, csoportok beállítására, eltávolítására és\n\t\tlekérdezésére, kvóta beállítására és a teljes tárhely lekérdezésére a Nextcloudban. A csoport admin felhasználók\n\t\tlekérdezhetik a Nextcloudot, és ugyanazokat a funkciókat hajthatják végre, mint az adminisztrátor az általuk\n\t\tkezelt csoportoknál. Az API szintén megengedi a rendszergazdának az aktív nextcloudos alkalmazások,\n\t\talkalmazásinformációk lekérdezését, valamint az alkalmazások távoli engedélyezését vagy letiltását. Miután\n\t\tengedélyezte az alkalmazást, a HTTP-kéréseket a Basic hitelesítési fejlécen keresztül fel lehet használni\n\t\tbármely, a feljebb felsorolt funkció végrehajtására. További információ a Provisioning API dokumentációjában\n\t\ttalálható, beleértve a példahívásokat és a kiszolgáló válaszait is." -},"pluralForm" :"nplurals=2; plural=(n != 1);" -}
\ No newline at end of file diff --git a/apps/provisioning_api/l10n/is.js b/apps/provisioning_api/l10n/is.js deleted file mode 100644 index 1e84328cd81..00000000000 --- a/apps/provisioning_api/l10n/is.js +++ /dev/null @@ -1,15 +0,0 @@ -OC.L10N.register( - "provisioning_api", - { - "Logged in user must be an administrator or have authorization to edit this setting." : "Innskráður notandi verður að vera kerfisstjóri eða hafa fengið sérstaka aðgangsheimild fyrir þessa stillingu.", - "User already exists" : "Notandi er þegar til", - "Email confirmation" : "Staðfesting tölvupósts", - "To enable the email address %s please click the button below." : "Til að virkja tölvupóstfangið %s skaltu ýta á hnappinn hér fyrir neðan.", - "Confirm" : "Staðfesta", - "Email was already removed from account and cannot be confirmed anymore." : "Tölvupóstfangið hefur þegar verið fjarlægt úr aðgangnum og er ekki lengur hægt að staðfesta það.", - "Could not verify mail because the token is expired." : "Gat ekki staðfest tölvupóstfang vegna þess að teiknið er útrunnið.", - "Could not verify mail because the token is invalid." : "Gat ekki staðfest tölvupóstfang vegna þess að teiknið er ógilt.", - "An unexpected error occurred. Please contact your admin." : "Óvænt villa kom upp. Hafðu samband við kerfisstjóra.", - "Email confirmation successful" : "Staðfesting tölvupósts tókst" -}, -"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);"); diff --git a/apps/provisioning_api/l10n/is.json b/apps/provisioning_api/l10n/is.json deleted file mode 100644 index 727ac3a9c09..00000000000 --- a/apps/provisioning_api/l10n/is.json +++ /dev/null @@ -1,13 +0,0 @@ -{ "translations": { - "Logged in user must be an administrator or have authorization to edit this setting." : "Innskráður notandi verður að vera kerfisstjóri eða hafa fengið sérstaka aðgangsheimild fyrir þessa stillingu.", - "User already exists" : "Notandi er þegar til", - "Email confirmation" : "Staðfesting tölvupósts", - "To enable the email address %s please click the button below." : "Til að virkja tölvupóstfangið %s skaltu ýta á hnappinn hér fyrir neðan.", - "Confirm" : "Staðfesta", - "Email was already removed from account and cannot be confirmed anymore." : "Tölvupóstfangið hefur þegar verið fjarlægt úr aðgangnum og er ekki lengur hægt að staðfesta það.", - "Could not verify mail because the token is expired." : "Gat ekki staðfest tölvupóstfang vegna þess að teiknið er útrunnið.", - "Could not verify mail because the token is invalid." : "Gat ekki staðfest tölvupóstfang vegna þess að teiknið er ógilt.", - "An unexpected error occurred. Please contact your admin." : "Óvænt villa kom upp. Hafðu samband við kerfisstjóra.", - "Email confirmation successful" : "Staðfesting tölvupósts tókst" -},"pluralForm" :"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);" -}
\ No newline at end of file diff --git a/apps/provisioning_api/l10n/it.js b/apps/provisioning_api/l10n/it.js deleted file mode 100644 index d9c7c0352e2..00000000000 --- a/apps/provisioning_api/l10n/it.js +++ /dev/null @@ -1,18 +0,0 @@ -OC.L10N.register( - "provisioning_api", - { - "Logged in user must be an administrator or have authorization to edit this setting." : "L'utente connesso deve essere un amministratore o avere il permesso di modificare questa impostazione.", - "User already exists" : "L'utente esiste già", - "Email confirmation" : "Conferma email", - "To enable the email address %s please click the button below." : "Per attivare l'indirizzo email %s fai clic sul pulsante sottostante.", - "Confirm" : "Conferma", - "Email was already removed from account and cannot be confirmed anymore." : "L'email era già stata rimossa dall'account e non può più essere confermata.", - "Could not verify mail because the token is expired." : "Impossibile verificare l'email perché il token è scaduto.", - "Could not verify mail because the token is invalid." : "Impossibile verificare l'email perché il token non è valido.", - "An unexpected error occurred. Please contact your admin." : "Si è verificato un errore imprevisto. Contatta l'amministratore.", - "Email confirmation successful" : "Conferma email riuscita", - "Provisioning API" : "API di approvvigionamento", - "This application enables a set of APIs that external systems can use to manage users, groups and apps." : "Questa applicazione abilita un insiemw di API che sistemi esterni possono usare per gestire utenti, gruppi e applicazioni.", - "This application enables a set of APIs that external systems can use to create, edit, delete and query user\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin users\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "Questa applicazione abilita un insieme di API che sistemi esterni possono usare per creare, modificare, eliminare e rilevare attributi\n\t\tutente, interrogare, impostare e rimuovere gruppi, limitare e rilevare lo spazio totale usato in Nextcloud. Gli utenti amministratori di un gruppo\n\t\tpossono anche interrogare Nextcloud e fare le stesse azioni degli amministratori per i gruppi che gestiscono. L'API permette anche\n\t\ta un amministratore di interrogare le applicazioni Nextcloud attive, informazioni sulle applicazioni, e di abilitare e disabilitare un'applicazione da remoto.\n\t\tUna volta che l'applicazione è abilitata, possono essere utilizzate richieste HTTP attraverso un'intestazione Basic Auth per eseguire qualsiasi funzione\n\telencata sopra. Ulteriori informazioni sono disponibili nella documentazione dell'API di approvvigionamento, incluse chiamate di esempio\n\t\te risposte del server." -}, -"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/provisioning_api/l10n/it.json b/apps/provisioning_api/l10n/it.json deleted file mode 100644 index a1493bda9f7..00000000000 --- a/apps/provisioning_api/l10n/it.json +++ /dev/null @@ -1,16 +0,0 @@ -{ "translations": { - "Logged in user must be an administrator or have authorization to edit this setting." : "L'utente connesso deve essere un amministratore o avere il permesso di modificare questa impostazione.", - "User already exists" : "L'utente esiste già", - "Email confirmation" : "Conferma email", - "To enable the email address %s please click the button below." : "Per attivare l'indirizzo email %s fai clic sul pulsante sottostante.", - "Confirm" : "Conferma", - "Email was already removed from account and cannot be confirmed anymore." : "L'email era già stata rimossa dall'account e non può più essere confermata.", - "Could not verify mail because the token is expired." : "Impossibile verificare l'email perché il token è scaduto.", - "Could not verify mail because the token is invalid." : "Impossibile verificare l'email perché il token non è valido.", - "An unexpected error occurred. Please contact your admin." : "Si è verificato un errore imprevisto. Contatta l'amministratore.", - "Email confirmation successful" : "Conferma email riuscita", - "Provisioning API" : "API di approvvigionamento", - "This application enables a set of APIs that external systems can use to manage users, groups and apps." : "Questa applicazione abilita un insiemw di API che sistemi esterni possono usare per gestire utenti, gruppi e applicazioni.", - "This application enables a set of APIs that external systems can use to create, edit, delete and query user\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin users\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "Questa applicazione abilita un insieme di API che sistemi esterni possono usare per creare, modificare, eliminare e rilevare attributi\n\t\tutente, interrogare, impostare e rimuovere gruppi, limitare e rilevare lo spazio totale usato in Nextcloud. Gli utenti amministratori di un gruppo\n\t\tpossono anche interrogare Nextcloud e fare le stesse azioni degli amministratori per i gruppi che gestiscono. L'API permette anche\n\t\ta un amministratore di interrogare le applicazioni Nextcloud attive, informazioni sulle applicazioni, e di abilitare e disabilitare un'applicazione da remoto.\n\t\tUna volta che l'applicazione è abilitata, possono essere utilizzate richieste HTTP attraverso un'intestazione Basic Auth per eseguire qualsiasi funzione\n\telencata sopra. Ulteriori informazioni sono disponibili nella documentazione dell'API di approvvigionamento, incluse chiamate di esempio\n\t\te risposte del server." -},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" -}
\ No newline at end of file diff --git a/apps/provisioning_api/l10n/nl.js b/apps/provisioning_api/l10n/nl.js deleted file mode 100644 index 0a5cb60fc79..00000000000 --- a/apps/provisioning_api/l10n/nl.js +++ /dev/null @@ -1,18 +0,0 @@ -OC.L10N.register( - "provisioning_api", - { - "Logged in user must be an administrator or have authorization to edit this setting." : "Ingelogde gebruiker moet een beheerder zijn of geautoriseerd zijn om deze instelling aan te passen", - "User already exists" : "Gebruiker bestaat al", - "Email confirmation" : "E-mailbevestiging", - "To enable the email address %s please click the button below." : "Klik op de onderstaande knop om het e-mail adres %s in te schakelen.", - "Confirm" : "Bevestigen", - "Email was already removed from account and cannot be confirmed anymore." : "E-mail was reeds verwijderd van de account en kan niet meer bevestigd worden.", - "Could not verify mail because the token is expired." : "Kon de mail niet verifiëren omdat de token verlopen is.", - "Could not verify mail because the token is invalid." : "Kon de mail niet verifiëren omdat de token ongeldig is.", - "An unexpected error occurred. Please contact your admin." : "Een onverwachte fout trad op. Neem contact op met je beheerder.", - "Email confirmation successful" : "E-mailbevestiging succesvol", - "Provisioning API" : "Provisioning API", - "This application enables a set of APIs that external systems can use to manage users, groups and apps." : "Deze applicatie maakt een reeks API's mogelijk die externe systemen kunnen gebruiken om gebruikers, groepen en apps te beheren.", - "This application enables a set of APIs that external systems can use to create, edit, delete and query user\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin users\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "Deze applicatie maakt een reeks API's mogelijk die externe systemen kunnen gebruiken om gebruikers te creëren, bewerken, verwijderen en bevragen\n\t\tattributen, query's uitvoeren, groepen instellen en verwijderen, quota instellen en de totale opslagruimte opvragen die wordt gebruikt in Nextcloud. Groepsbeheerders\n\t\tkunnen ook Nextcloud opvragen en dezelfde functies uitvoeren als een beheerder voor groepen die ze beheert. De API maakt het ook\n\t\tmogelijk voor een beheerder om te vragen naar actieve Nextcloud-applicaties, applicatie-info en om een app op afstand in- of uit te schakelen.\n\t\tZodra de app is ingeschakeld, kunnen HTTP-verzoeken worden gebruikt via een Basic Auth-header om de functies \n\t\thierboven uit te voeren. Meer informatie is beschikbaar in de Provisioning API-documentatie, inclusief voorbeeldoproepen\n\t\ten serverreacties." -}, -"nplurals=2; plural=(n != 1);"); diff --git a/apps/provisioning_api/l10n/nl.json b/apps/provisioning_api/l10n/nl.json deleted file mode 100644 index 6b79cc3fd5c..00000000000 --- a/apps/provisioning_api/l10n/nl.json +++ /dev/null @@ -1,16 +0,0 @@ -{ "translations": { - "Logged in user must be an administrator or have authorization to edit this setting." : "Ingelogde gebruiker moet een beheerder zijn of geautoriseerd zijn om deze instelling aan te passen", - "User already exists" : "Gebruiker bestaat al", - "Email confirmation" : "E-mailbevestiging", - "To enable the email address %s please click the button below." : "Klik op de onderstaande knop om het e-mail adres %s in te schakelen.", - "Confirm" : "Bevestigen", - "Email was already removed from account and cannot be confirmed anymore." : "E-mail was reeds verwijderd van de account en kan niet meer bevestigd worden.", - "Could not verify mail because the token is expired." : "Kon de mail niet verifiëren omdat de token verlopen is.", - "Could not verify mail because the token is invalid." : "Kon de mail niet verifiëren omdat de token ongeldig is.", - "An unexpected error occurred. Please contact your admin." : "Een onverwachte fout trad op. Neem contact op met je beheerder.", - "Email confirmation successful" : "E-mailbevestiging succesvol", - "Provisioning API" : "Provisioning API", - "This application enables a set of APIs that external systems can use to manage users, groups and apps." : "Deze applicatie maakt een reeks API's mogelijk die externe systemen kunnen gebruiken om gebruikers, groepen en apps te beheren.", - "This application enables a set of APIs that external systems can use to create, edit, delete and query user\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin users\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "Deze applicatie maakt een reeks API's mogelijk die externe systemen kunnen gebruiken om gebruikers te creëren, bewerken, verwijderen en bevragen\n\t\tattributen, query's uitvoeren, groepen instellen en verwijderen, quota instellen en de totale opslagruimte opvragen die wordt gebruikt in Nextcloud. Groepsbeheerders\n\t\tkunnen ook Nextcloud opvragen en dezelfde functies uitvoeren als een beheerder voor groepen die ze beheert. De API maakt het ook\n\t\tmogelijk voor een beheerder om te vragen naar actieve Nextcloud-applicaties, applicatie-info en om een app op afstand in- of uit te schakelen.\n\t\tZodra de app is ingeschakeld, kunnen HTTP-verzoeken worden gebruikt via een Basic Auth-header om de functies \n\t\thierboven uit te voeren. Meer informatie is beschikbaar in de Provisioning API-documentatie, inclusief voorbeeldoproepen\n\t\ten serverreacties." -},"pluralForm" :"nplurals=2; plural=(n != 1);" -}
\ No newline at end of file diff --git a/apps/provisioning_api/l10n/pl.js b/apps/provisioning_api/l10n/pl.js index 1a3b3c554f8..ccb9e76b8ac 100644 --- a/apps/provisioning_api/l10n/pl.js +++ b/apps/provisioning_api/l10n/pl.js @@ -1,8 +1,33 @@ OC.L10N.register( "provisioning_api", { - "Logged in user must be an administrator or have authorization to edit this setting." : "Zalogowany użytkownik musi być administratorem lub mieć uprawnienia do edycji tego ustawienia.", + "Logged in account must be an administrator or have authorization to edit this setting." : "Zalogowane konto musi być administratorem lub mieć uprawnienia do edycji tego ustawienia.", + "Could not create non-existing user ID" : "Nie można utworzyć nieistniejącego identyfikatora użytkownika", "User already exists" : "Użytkownik już istnieje", + "Group %1$s does not exist" : "Grupa %1$s nie istnieje", + "Insufficient privileges for group %1$s" : "Niewystarczające uprawnienia do grupy %1$s", + "No group specified (required for sub-admins)" : "Nie określono grupy (wymagane dla podadministratorów)", + "Sub-admin group does not exist" : "Grupa podadministratorów nie istnieje", + "Cannot create sub-admins for admin group" : "Nie można tworzyć podadministratorów dla grupy administratorów", + "No permissions to promote sub-admins" : "Brak uprawnień do promowania podadministratorów", + "Invalid password value" : "Nieprawidłowa wartość hasła", + "An email address is required, to send a password link to the user." : "Wymagany jest adres e-mail, aby wysłać użytkownikowi link do ustawienia hasła.", + "Required email address was not provided" : "Nie podano wymaganego adresu e-mail", + "Invalid quota value: %1$s" : "Nieprawidłowa wartość limitu: %1$s", + "Invalid quota value. %1$s is exceeding the maximum quota" : "Nieprawidłowy limit. %1$s przekracza maksymalny dopuszczalny limit", + "Unlimited quota is forbidden on this instance" : "Nieograniczony limit jest zabroniony na tej instancji", + "Setting the password is not supported by the users backend" : "Ustawianie hasła nie jest obsługiwane przez backend użytkowników", + "Invalid language" : "Nieprawidłowy język", + "Invalid locale" : "Nieprawidłowa lokalizacja", + "Invalid first day of week" : "Nieprawidłowy pierwszy dzień tygodnia", + "Cannot remove yourself from the admin group" : "Nie możesz usunąć siebie z grupy administratorów", + "Cannot remove yourself from this group as you are a sub-admin" : "Nie możesz usunąć siebie z tej grupy, ponieważ jesteś jej podadministratorem", + "Not viable to remove user from the last group you are sub-admin of" : "Nie można usunąć użytkownika z ostatniej grupy, której jest podadministratorem", + "User does not exist" : "Użytkownik nie istnieje", + "Group does not exist" : "Grupa nie istnieje", + "User is not a sub-admin of this group" : "Użytkownik nie jest podadministratorem tej grupy", + "Email address not available" : "Adres e-mail niedostępny", + "Sending email failed" : "Wysyłanie e-maila nie powiodło się", "Email confirmation" : "Potwierdzenie e-mailem", "To enable the email address %s please click the button below." : "Aby włączyć adres e-mail %s, kliknij poniższy przycisk.", "Confirm" : "Potwierdź", @@ -12,7 +37,7 @@ OC.L10N.register( "An unexpected error occurred. Please contact your admin." : "Wystąpił nieoczekiwany błąd. Skontaktuj się z administratorem.", "Email confirmation successful" : "Potwierdzenie e-maila powiodło się", "Provisioning API" : "API obsługi administracyjnej", - "This application enables a set of APIs that external systems can use to manage users, groups and apps." : "Aplikacja udostępnia zestaw interfejsów API, których systemy zewnętrzne mogą używać ich do zarządzania użytkownikami, grupami i aplikacjami.", - "This application enables a set of APIs that external systems can use to create, edit, delete and query user\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin users\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "Aplikacja udostępnia zestaw interfejsów API, których systemy zewnętrzne mogą używać ich do tworzenia, edytowania, usuwania i wysyłania zapytań o atrybuty użytkowników,\n\t\tkonfigurowania i usuwania grup, ustawiania przydziałów i zapytań o całkowitą pamięć używaną w Nextcloud. Użytkownicy będący administratorami grup\n\t\tmogą również wysyłać zapytania do Nextcloud i wykonywać te same funkcje, co administrator w zarządzanych przez siebie grupach. API umożliwia również\n\t\tadministratorowi do wysyłania zapytań o aktywne aplikacje Nextcloud, informacje o aplikacji oraz do zdalnego włączania lub wyłączania aplikacji.\n\t\tPo włączeniu aplikacji można używać żądań HTTP za pośrednictwem nagłówka Basic Auth do wykonywania dowolnej funkcji\n\t\twymienionej powyżej. Więcej informacji można znaleźć w dokumentacji interfejsu API do obsługi administracyjnej, w tym przykładowe wywołania\n\t\ti odpowiedzi serwera." + "This application enables a set of APIs that external systems can use to manage accounts, groups and apps." : "Ta aplikacja umożliwia zestaw interfejsów API, które zewnętrzne systemy mogą wykorzystać do zarządzania kontami, grupami i aplikacjami.", + "This application enables a set of APIs that external systems can use to create, edit, delete and query account\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin accounts\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "Ta aplikacja udostępnia zestaw interfejsów API, które zewnętrzne systemy mogą wykorzystać do tworzenia, edytowania, usuwania i wyszukiwania kont użytkowników,\n\t\tatrybutów, zapytań, ustawiania i usuwania grup, limitów oraz zapytań o całkowite wykorzystanie przestrzeni w Nextcloud. Konta administratorów grup\n\t\tmogą również wykonywać zapytania do Nextcloud i działać jak administrator dla grup, którymi zarządzają. API umożliwia też administratorowi pobieranie aktywnych aplikacji, ich identyfikatorów, oraz włączanie lub wyłączanie aplikacji zdalnie.\n\t\tPo włączeniu aplikacji, zapytania HTTP mogą być wykonywane z nagłówkiem uwierzytelniającym Basic Auth, aby korzystać z funkcji\n\t\twymienionych powyżej. Więcej informacji znajduje się w dokumentacji API Provisioning, w tym przykładowe wywołania\n\t\ti odpowiedzi serwera." }, "nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);"); diff --git a/apps/provisioning_api/l10n/pl.json b/apps/provisioning_api/l10n/pl.json index e35ae0c4279..ace8f19e8ab 100644 --- a/apps/provisioning_api/l10n/pl.json +++ b/apps/provisioning_api/l10n/pl.json @@ -1,6 +1,31 @@ { "translations": { - "Logged in user must be an administrator or have authorization to edit this setting." : "Zalogowany użytkownik musi być administratorem lub mieć uprawnienia do edycji tego ustawienia.", + "Logged in account must be an administrator or have authorization to edit this setting." : "Zalogowane konto musi być administratorem lub mieć uprawnienia do edycji tego ustawienia.", + "Could not create non-existing user ID" : "Nie można utworzyć nieistniejącego identyfikatora użytkownika", "User already exists" : "Użytkownik już istnieje", + "Group %1$s does not exist" : "Grupa %1$s nie istnieje", + "Insufficient privileges for group %1$s" : "Niewystarczające uprawnienia do grupy %1$s", + "No group specified (required for sub-admins)" : "Nie określono grupy (wymagane dla podadministratorów)", + "Sub-admin group does not exist" : "Grupa podadministratorów nie istnieje", + "Cannot create sub-admins for admin group" : "Nie można tworzyć podadministratorów dla grupy administratorów", + "No permissions to promote sub-admins" : "Brak uprawnień do promowania podadministratorów", + "Invalid password value" : "Nieprawidłowa wartość hasła", + "An email address is required, to send a password link to the user." : "Wymagany jest adres e-mail, aby wysłać użytkownikowi link do ustawienia hasła.", + "Required email address was not provided" : "Nie podano wymaganego adresu e-mail", + "Invalid quota value: %1$s" : "Nieprawidłowa wartość limitu: %1$s", + "Invalid quota value. %1$s is exceeding the maximum quota" : "Nieprawidłowy limit. %1$s przekracza maksymalny dopuszczalny limit", + "Unlimited quota is forbidden on this instance" : "Nieograniczony limit jest zabroniony na tej instancji", + "Setting the password is not supported by the users backend" : "Ustawianie hasła nie jest obsługiwane przez backend użytkowników", + "Invalid language" : "Nieprawidłowy język", + "Invalid locale" : "Nieprawidłowa lokalizacja", + "Invalid first day of week" : "Nieprawidłowy pierwszy dzień tygodnia", + "Cannot remove yourself from the admin group" : "Nie możesz usunąć siebie z grupy administratorów", + "Cannot remove yourself from this group as you are a sub-admin" : "Nie możesz usunąć siebie z tej grupy, ponieważ jesteś jej podadministratorem", + "Not viable to remove user from the last group you are sub-admin of" : "Nie można usunąć użytkownika z ostatniej grupy, której jest podadministratorem", + "User does not exist" : "Użytkownik nie istnieje", + "Group does not exist" : "Grupa nie istnieje", + "User is not a sub-admin of this group" : "Użytkownik nie jest podadministratorem tej grupy", + "Email address not available" : "Adres e-mail niedostępny", + "Sending email failed" : "Wysyłanie e-maila nie powiodło się", "Email confirmation" : "Potwierdzenie e-mailem", "To enable the email address %s please click the button below." : "Aby włączyć adres e-mail %s, kliknij poniższy przycisk.", "Confirm" : "Potwierdź", @@ -10,7 +35,7 @@ "An unexpected error occurred. Please contact your admin." : "Wystąpił nieoczekiwany błąd. Skontaktuj się z administratorem.", "Email confirmation successful" : "Potwierdzenie e-maila powiodło się", "Provisioning API" : "API obsługi administracyjnej", - "This application enables a set of APIs that external systems can use to manage users, groups and apps." : "Aplikacja udostępnia zestaw interfejsów API, których systemy zewnętrzne mogą używać ich do zarządzania użytkownikami, grupami i aplikacjami.", - "This application enables a set of APIs that external systems can use to create, edit, delete and query user\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin users\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "Aplikacja udostępnia zestaw interfejsów API, których systemy zewnętrzne mogą używać ich do tworzenia, edytowania, usuwania i wysyłania zapytań o atrybuty użytkowników,\n\t\tkonfigurowania i usuwania grup, ustawiania przydziałów i zapytań o całkowitą pamięć używaną w Nextcloud. Użytkownicy będący administratorami grup\n\t\tmogą również wysyłać zapytania do Nextcloud i wykonywać te same funkcje, co administrator w zarządzanych przez siebie grupach. API umożliwia również\n\t\tadministratorowi do wysyłania zapytań o aktywne aplikacje Nextcloud, informacje o aplikacji oraz do zdalnego włączania lub wyłączania aplikacji.\n\t\tPo włączeniu aplikacji można używać żądań HTTP za pośrednictwem nagłówka Basic Auth do wykonywania dowolnej funkcji\n\t\twymienionej powyżej. Więcej informacji można znaleźć w dokumentacji interfejsu API do obsługi administracyjnej, w tym przykładowe wywołania\n\t\ti odpowiedzi serwera." + "This application enables a set of APIs that external systems can use to manage accounts, groups and apps." : "Ta aplikacja umożliwia zestaw interfejsów API, które zewnętrzne systemy mogą wykorzystać do zarządzania kontami, grupami i aplikacjami.", + "This application enables a set of APIs that external systems can use to create, edit, delete and query account\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin accounts\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "Ta aplikacja udostępnia zestaw interfejsów API, które zewnętrzne systemy mogą wykorzystać do tworzenia, edytowania, usuwania i wyszukiwania kont użytkowników,\n\t\tatrybutów, zapytań, ustawiania i usuwania grup, limitów oraz zapytań o całkowite wykorzystanie przestrzeni w Nextcloud. Konta administratorów grup\n\t\tmogą również wykonywać zapytania do Nextcloud i działać jak administrator dla grup, którymi zarządzają. API umożliwia też administratorowi pobieranie aktywnych aplikacji, ich identyfikatorów, oraz włączanie lub wyłączanie aplikacji zdalnie.\n\t\tPo włączeniu aplikacji, zapytania HTTP mogą być wykonywane z nagłówkiem uwierzytelniającym Basic Auth, aby korzystać z funkcji\n\t\twymienionych powyżej. Więcej informacji znajduje się w dokumentacji API Provisioning, w tym przykładowe wywołania\n\t\ti odpowiedzi serwera." },"pluralForm" :"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);" }
\ No newline at end of file diff --git a/apps/provisioning_api/l10n/pt_PT.js b/apps/provisioning_api/l10n/pt_PT.js deleted file mode 100644 index 88f90905de4..00000000000 --- a/apps/provisioning_api/l10n/pt_PT.js +++ /dev/null @@ -1,17 +0,0 @@ -OC.L10N.register( - "provisioning_api", - { - "Logged in user must be an administrator or have authorization to edit this setting." : "O usuário conectado deve ser um administrador ou ter autorização para editar esta configuração. ", - "Email confirmation" : "Verificação de correio eletrónico.", - "To enable the email address %s please click the button below." : "Para habilitar o endereço de correio eletrónico %s por favor pressione o botão abaixo.", - "Confirm" : "Confirmar", - "Email was already removed from account and cannot be confirmed anymore." : "O endereço já foi removido da conta e não pode mais ser confirmado.", - "Could not verify mail because the token is expired." : "Não foi possível verificar o endereço porque o marcador expirou.", - "Could not verify mail because the token is invalid." : "Não foi possível verificar o endereço porque o marcador é inválido.", - "An unexpected error occurred. Please contact your admin." : "Ocorreu um erro inesperado. Contacte o seu administrador de sistemas.", - "Email confirmation successful" : "Endereço confirmado com sucesso", - "Provisioning API" : "API de aprovisionamento", - "This application enables a set of APIs that external systems can use to manage users, groups and apps." : "Esta aplicação ativa um conjunto de API que sistemas externos podem usar para gerir utilizadores, grupos e aplicações.", - "This application enables a set of APIs that external systems can use to create, edit, delete and query user\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin users\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "Esta aplicação ativa um conjunto de API que sistemas externos podem usar para gerir criar, editar, apagar ou pesquisar atributos de utilizadores,\n\t\tpesquisar, definir e remover grupos, definir cotas e consultar o armazenamento total usado em Nextcloud. Utilizadores administradores de grupos\n\t\ttambém podem pesquisar no Nextcloud e executar as mesmas funções que um administrador para os grupos que gerem. A API também permite\n\t\tque um administrador possa consultar aplicações ativas no Nextcloud, informações das mesmas e para ativar ou desativar uma aplicação remotamente.\n\t\tDepois de ativar uma aplicação, podem-se usar pedidos HTTP com um cabeçalho Basic Auth para executar qualquer uma das funções\n\t\tacima indicadas. Mais informações estão disponíveis na documentação da API de aprovisionamento, incluindo pedidos de exemplo\n\t\te respostas do servidor." -}, -"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/provisioning_api/l10n/pt_PT.json b/apps/provisioning_api/l10n/pt_PT.json deleted file mode 100644 index bbb9fb9754b..00000000000 --- a/apps/provisioning_api/l10n/pt_PT.json +++ /dev/null @@ -1,15 +0,0 @@ -{ "translations": { - "Logged in user must be an administrator or have authorization to edit this setting." : "O usuário conectado deve ser um administrador ou ter autorização para editar esta configuração. ", - "Email confirmation" : "Verificação de correio eletrónico.", - "To enable the email address %s please click the button below." : "Para habilitar o endereço de correio eletrónico %s por favor pressione o botão abaixo.", - "Confirm" : "Confirmar", - "Email was already removed from account and cannot be confirmed anymore." : "O endereço já foi removido da conta e não pode mais ser confirmado.", - "Could not verify mail because the token is expired." : "Não foi possível verificar o endereço porque o marcador expirou.", - "Could not verify mail because the token is invalid." : "Não foi possível verificar o endereço porque o marcador é inválido.", - "An unexpected error occurred. Please contact your admin." : "Ocorreu um erro inesperado. Contacte o seu administrador de sistemas.", - "Email confirmation successful" : "Endereço confirmado com sucesso", - "Provisioning API" : "API de aprovisionamento", - "This application enables a set of APIs that external systems can use to manage users, groups and apps." : "Esta aplicação ativa um conjunto de API que sistemas externos podem usar para gerir utilizadores, grupos e aplicações.", - "This application enables a set of APIs that external systems can use to create, edit, delete and query user\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin users\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "Esta aplicação ativa um conjunto de API que sistemas externos podem usar para gerir criar, editar, apagar ou pesquisar atributos de utilizadores,\n\t\tpesquisar, definir e remover grupos, definir cotas e consultar o armazenamento total usado em Nextcloud. Utilizadores administradores de grupos\n\t\ttambém podem pesquisar no Nextcloud e executar as mesmas funções que um administrador para os grupos que gerem. A API também permite\n\t\tque um administrador possa consultar aplicações ativas no Nextcloud, informações das mesmas e para ativar ou desativar uma aplicação remotamente.\n\t\tDepois de ativar uma aplicação, podem-se usar pedidos HTTP com um cabeçalho Basic Auth para executar qualquer uma das funções\n\t\tacima indicadas. Mais informações estão disponíveis na documentação da API de aprovisionamento, incluindo pedidos de exemplo\n\t\te respostas do servidor." -},"pluralForm" :"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" -}
\ No newline at end of file diff --git a/apps/provisioning_api/l10n/ro.js b/apps/provisioning_api/l10n/ro.js deleted file mode 100644 index ee35fa15cd8..00000000000 --- a/apps/provisioning_api/l10n/ro.js +++ /dev/null @@ -1,18 +0,0 @@ -OC.L10N.register( - "provisioning_api", - { - "Logged in user must be an administrator or have authorization to edit this setting." : "Utilizatorul trebuie să fie un administrator sau să fie autorizat să editeze această setare.", - "User already exists" : "Utilizatorul există deja", - "Email confirmation" : "Confirmare email", - "To enable the email address %s please click the button below." : "Pentru a activa adresa de mail %s apăsați butonul de mai jos.", - "Confirm" : "Confirmă", - "Email was already removed from account and cannot be confirmed anymore." : "Emailul a fost eliminat din cont și nu mai poate fi reconfirmat.", - "Could not verify mail because the token is expired." : "Nu se poate verifica emailul deoarece tokenul a exirat.", - "Could not verify mail because the token is invalid." : "Nu se poate verifica emailul deoarece tokenul este invalid.", - "An unexpected error occurred. Please contact your admin." : "A apărut o eroare neașteptată. Contactați administratorul.", - "Email confirmation successful" : "Confirmare email cu succes", - "Provisioning API" : "API de provizionare", - "This application enables a set of APIs that external systems can use to manage users, groups and apps." : "Această aplicație pornește un set de API-uri ce pot fi folosite de systemele externe pentru a gestiona utilizatori, grupuri și aplicații. ", - "This application enables a set of APIs that external systems can use to create, edit, delete and query user\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin users\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "Această aplicație permite unui set de API-uri ce pot fi folosite de sustemele externe pentru a creea, edita, șterge și a interoga utilizatori\n\t\tatribute, interogare, setare și eliminare grupuri, setare cote și interogare stocare totală utilizată în Nextcloud. Utilizatorii grupului admin\n\t\tpot de asemenea iteroga Nextcloud și îndeplini aceleași funcții ca și grupul de admini pe care îi și gestionează. API-ul permite \n\t\tunui administrator să caute aplicații active Nextcloud, informații despre aplicații și informații legate de activarea sau dezactivarea unei aplicații de la distanță.\n\t\tOdată ce aplicația este activată, solicitările HTTP pot fi utilizate printr-un antet Basic Auth pentru a efectua oricare dintre funcțiile\n\t\tmenționate mai sus. Mai multe informații sunt prezente în documentatie de provizionare de API, inclusiv exemple de interogări\n\t\tși răspunsul primit de la server." -}, -"nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));"); diff --git a/apps/provisioning_api/l10n/ro.json b/apps/provisioning_api/l10n/ro.json deleted file mode 100644 index eafdab0876b..00000000000 --- a/apps/provisioning_api/l10n/ro.json +++ /dev/null @@ -1,16 +0,0 @@ -{ "translations": { - "Logged in user must be an administrator or have authorization to edit this setting." : "Utilizatorul trebuie să fie un administrator sau să fie autorizat să editeze această setare.", - "User already exists" : "Utilizatorul există deja", - "Email confirmation" : "Confirmare email", - "To enable the email address %s please click the button below." : "Pentru a activa adresa de mail %s apăsați butonul de mai jos.", - "Confirm" : "Confirmă", - "Email was already removed from account and cannot be confirmed anymore." : "Emailul a fost eliminat din cont și nu mai poate fi reconfirmat.", - "Could not verify mail because the token is expired." : "Nu se poate verifica emailul deoarece tokenul a exirat.", - "Could not verify mail because the token is invalid." : "Nu se poate verifica emailul deoarece tokenul este invalid.", - "An unexpected error occurred. Please contact your admin." : "A apărut o eroare neașteptată. Contactați administratorul.", - "Email confirmation successful" : "Confirmare email cu succes", - "Provisioning API" : "API de provizionare", - "This application enables a set of APIs that external systems can use to manage users, groups and apps." : "Această aplicație pornește un set de API-uri ce pot fi folosite de systemele externe pentru a gestiona utilizatori, grupuri și aplicații. ", - "This application enables a set of APIs that external systems can use to create, edit, delete and query user\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin users\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "Această aplicație permite unui set de API-uri ce pot fi folosite de sustemele externe pentru a creea, edita, șterge și a interoga utilizatori\n\t\tatribute, interogare, setare și eliminare grupuri, setare cote și interogare stocare totală utilizată în Nextcloud. Utilizatorii grupului admin\n\t\tpot de asemenea iteroga Nextcloud și îndeplini aceleași funcții ca și grupul de admini pe care îi și gestionează. API-ul permite \n\t\tunui administrator să caute aplicații active Nextcloud, informații despre aplicații și informații legate de activarea sau dezactivarea unei aplicații de la distanță.\n\t\tOdată ce aplicația este activată, solicitările HTTP pot fi utilizate printr-un antet Basic Auth pentru a efectua oricare dintre funcțiile\n\t\tmenționate mai sus. Mai multe informații sunt prezente în documentatie de provizionare de API, inclusiv exemple de interogări\n\t\tși răspunsul primit de la server." -},"pluralForm" :"nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));" -}
\ No newline at end of file diff --git a/apps/provisioning_api/l10n/ru.js b/apps/provisioning_api/l10n/ru.js index 604a71392e7..7fa4c8d7e81 100644 --- a/apps/provisioning_api/l10n/ru.js +++ b/apps/provisioning_api/l10n/ru.js @@ -1,8 +1,33 @@ OC.L10N.register( "provisioning_api", { - "Logged in user must be an administrator or have authorization to edit this setting." : "Вошедший пользователь должен быть администратором или иметь полномочия для редактирования этого параметра.", + "Logged in account must be an administrator or have authorization to edit this setting." : "Для изменения этого параметра необходимо быть администратором или иметь соответствующие права.", + "Could not create non-existing user ID" : "Невозможно создать несуществующий идентификатор пользователя", "User already exists" : "Пользователь уже существует", + "Group %1$s does not exist" : "Группа %1$s не существует", + "Insufficient privileges for group %1$s" : "Недостаточно прав для группы %1$s", + "No group specified (required for sub-admins)" : "Группа не указана (обязательно для субадминистраторов)", + "Sub-admin group does not exist" : "Группа субадминистратора не существует", + "Cannot create sub-admins for admin group" : "Нельзя назначить субадминистраторов для группы администраторов", + "No permissions to promote sub-admins" : "Недостаточно прав для назначения субадминистраторов", + "Invalid password value" : "Некорректное значение пароля", + "An email address is required, to send a password link to the user." : "Требуется адрес электронной почты для отправки ссылки на установку пароля пользователю.", + "Required email address was not provided" : "Не указан обязательный адрес электронной почты", + "Invalid quota value: %1$s" : "Недопустимое значение квоты: %1$s", + "Invalid quota value. %1$s is exceeding the maximum quota" : "Недопустимое значение квоты.%1$s превышает максимальное значение", + "Unlimited quota is forbidden on this instance" : "Безлимитная квота запрещена в этом инстансе", + "Setting the password is not supported by the users backend" : "Установка пароля не поддерживается используемой системой управления пользователями", + "Invalid language" : "Недопустимый язык", + "Invalid locale" : "Недопустимая локаль", + "Invalid first day of week" : "Недопустимый первый день недели", + "Cannot remove yourself from the admin group" : "Нельзя удалить себя из группы администраторов", + "Cannot remove yourself from this group as you are a sub-admin" : "Нельзя удалить себя из этой группы, так как вы являетесь субадминистратором", + "Not viable to remove user from the last group you are sub-admin of" : "Нельзя удалить пользователя из последней группы, в которой вы являетесь субадминистратором", + "User does not exist" : "Пользователь не существует", + "Group does not exist" : "Группа не существует", + "User is not a sub-admin of this group" : "Пользователь не является субадминистратором этой группы", + "Email address not available" : "Адрес электронной почты недоступен", + "Sending email failed" : "Не удалось отправить письмо", "Email confirmation" : "Подтверждение электронной почты", "To enable the email address %s please click the button below." : "Чтобы включить адрес электронной почты %s, пожалуйста, нажмите на кнопку ниже.", "Confirm" : "Подтвердить", @@ -12,7 +37,7 @@ OC.L10N.register( "An unexpected error occurred. Please contact your admin." : "Произошла неизвестная ошибка. Пожалуйста, свяжитесь с администратором.", "Email confirmation successful" : "Электронная почта подтверждена", "Provisioning API" : "Provisioning API", - "This application enables a set of APIs that external systems can use to manage users, groups and apps." : "Это приложение предоставляет API, которое может использоваться внешними системами для управления пользователями, группами и приложениями.", - "This application enables a set of APIs that external systems can use to create, edit, delete and query user\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin users\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "Это приложение включает набор API-интерфейсов, которые внешние системы могут использовать для создания, редактирования, удаления и запроса пользователя\n\t\tатрибуты, запрос, установка и удаление групп, установка квоты и запрос общего хранилища, используемого в Nextcloud. Пользователи-администраторы группы\n\t\tтакже может запрашивать Nextcloud и выполнять те же функции, что и администратор, для групп, которыми они управляют. API также позволяет\n\t\tадминистратору запрос активных приложений Nextcloud, информации о приложении, а также для удаленного включения или отключения приложения.\n\t\tПосле включения приложения HTTP-запросы можно использовать через заголовок Basic Auth для выполнения любых функций.\n\t\tДополнительная информация доступна в документации по Provisioning API, включая примеры вызовов.\n\t\tи ответы сервера." + "This application enables a set of APIs that external systems can use to manage accounts, groups and apps." : "Это приложение предоставляет набор API, которые внешние системы могут использовать для управления учётными записями, группами и приложениями.", + "This application enables a set of APIs that external systems can use to create, edit, delete and query account\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin accounts\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "Это приложение включает набор API, которые внешние системы могут использовать для создания, редактирования, удаления и запроса атрибутов учетной записи, запроса, установки и удаления групп, установки квоты и запроса общего хранилища, используемого в Nextcloud. Учетные записи администратора группы\nтакже могут запрашивать Nextcloud и выполнять те же функции, что и администратор для групп, которыми они управляют. API также позволяет\nадминистратору запрашивать активные приложения Nextcloud, информацию о приложении и включать или отключать приложение удаленно.\nПосле включения приложения HTTP-запросы можно использовать через заголовок Basic Auth для выполнения любой из функций,\nперечисленных выше. Дополнительная информация доступна в документации API Provisioning, включая примеры вызовов\nи ответы сервера." }, "nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);"); diff --git a/apps/provisioning_api/l10n/ru.json b/apps/provisioning_api/l10n/ru.json index d2e5e4f12cc..41989b6ba29 100644 --- a/apps/provisioning_api/l10n/ru.json +++ b/apps/provisioning_api/l10n/ru.json @@ -1,6 +1,31 @@ { "translations": { - "Logged in user must be an administrator or have authorization to edit this setting." : "Вошедший пользователь должен быть администратором или иметь полномочия для редактирования этого параметра.", + "Logged in account must be an administrator or have authorization to edit this setting." : "Для изменения этого параметра необходимо быть администратором или иметь соответствующие права.", + "Could not create non-existing user ID" : "Невозможно создать несуществующий идентификатор пользователя", "User already exists" : "Пользователь уже существует", + "Group %1$s does not exist" : "Группа %1$s не существует", + "Insufficient privileges for group %1$s" : "Недостаточно прав для группы %1$s", + "No group specified (required for sub-admins)" : "Группа не указана (обязательно для субадминистраторов)", + "Sub-admin group does not exist" : "Группа субадминистратора не существует", + "Cannot create sub-admins for admin group" : "Нельзя назначить субадминистраторов для группы администраторов", + "No permissions to promote sub-admins" : "Недостаточно прав для назначения субадминистраторов", + "Invalid password value" : "Некорректное значение пароля", + "An email address is required, to send a password link to the user." : "Требуется адрес электронной почты для отправки ссылки на установку пароля пользователю.", + "Required email address was not provided" : "Не указан обязательный адрес электронной почты", + "Invalid quota value: %1$s" : "Недопустимое значение квоты: %1$s", + "Invalid quota value. %1$s is exceeding the maximum quota" : "Недопустимое значение квоты.%1$s превышает максимальное значение", + "Unlimited quota is forbidden on this instance" : "Безлимитная квота запрещена в этом инстансе", + "Setting the password is not supported by the users backend" : "Установка пароля не поддерживается используемой системой управления пользователями", + "Invalid language" : "Недопустимый язык", + "Invalid locale" : "Недопустимая локаль", + "Invalid first day of week" : "Недопустимый первый день недели", + "Cannot remove yourself from the admin group" : "Нельзя удалить себя из группы администраторов", + "Cannot remove yourself from this group as you are a sub-admin" : "Нельзя удалить себя из этой группы, так как вы являетесь субадминистратором", + "Not viable to remove user from the last group you are sub-admin of" : "Нельзя удалить пользователя из последней группы, в которой вы являетесь субадминистратором", + "User does not exist" : "Пользователь не существует", + "Group does not exist" : "Группа не существует", + "User is not a sub-admin of this group" : "Пользователь не является субадминистратором этой группы", + "Email address not available" : "Адрес электронной почты недоступен", + "Sending email failed" : "Не удалось отправить письмо", "Email confirmation" : "Подтверждение электронной почты", "To enable the email address %s please click the button below." : "Чтобы включить адрес электронной почты %s, пожалуйста, нажмите на кнопку ниже.", "Confirm" : "Подтвердить", @@ -10,7 +35,7 @@ "An unexpected error occurred. Please contact your admin." : "Произошла неизвестная ошибка. Пожалуйста, свяжитесь с администратором.", "Email confirmation successful" : "Электронная почта подтверждена", "Provisioning API" : "Provisioning API", - "This application enables a set of APIs that external systems can use to manage users, groups and apps." : "Это приложение предоставляет API, которое может использоваться внешними системами для управления пользователями, группами и приложениями.", - "This application enables a set of APIs that external systems can use to create, edit, delete and query user\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin users\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "Это приложение включает набор API-интерфейсов, которые внешние системы могут использовать для создания, редактирования, удаления и запроса пользователя\n\t\tатрибуты, запрос, установка и удаление групп, установка квоты и запрос общего хранилища, используемого в Nextcloud. Пользователи-администраторы группы\n\t\tтакже может запрашивать Nextcloud и выполнять те же функции, что и администратор, для групп, которыми они управляют. API также позволяет\n\t\tадминистратору запрос активных приложений Nextcloud, информации о приложении, а также для удаленного включения или отключения приложения.\n\t\tПосле включения приложения HTTP-запросы можно использовать через заголовок Basic Auth для выполнения любых функций.\n\t\tДополнительная информация доступна в документации по Provisioning API, включая примеры вызовов.\n\t\tи ответы сервера." + "This application enables a set of APIs that external systems can use to manage accounts, groups and apps." : "Это приложение предоставляет набор API, которые внешние системы могут использовать для управления учётными записями, группами и приложениями.", + "This application enables a set of APIs that external systems can use to create, edit, delete and query account\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin accounts\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "Это приложение включает набор API, которые внешние системы могут использовать для создания, редактирования, удаления и запроса атрибутов учетной записи, запроса, установки и удаления групп, установки квоты и запроса общего хранилища, используемого в Nextcloud. Учетные записи администратора группы\nтакже могут запрашивать Nextcloud и выполнять те же функции, что и администратор для групп, которыми они управляют. API также позволяет\nадминистратору запрашивать активные приложения Nextcloud, информацию о приложении и включать или отключать приложение удаленно.\nПосле включения приложения HTTP-запросы можно использовать через заголовок Basic Auth для выполнения любой из функций,\nперечисленных выше. Дополнительная информация доступна в документации API Provisioning, включая примеры вызовов\nи ответы сервера." },"pluralForm" :"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);" }
\ No newline at end of file diff --git a/apps/provisioning_api/l10n/sc.js b/apps/provisioning_api/l10n/sc.js deleted file mode 100644 index e5331408419..00000000000 --- a/apps/provisioning_api/l10n/sc.js +++ /dev/null @@ -1,8 +0,0 @@ -OC.L10N.register( - "provisioning_api", - { - "Provisioning API" : "Frunidura API", - "This application enables a set of APIs that external systems can use to manage users, groups and apps." : "Custa aplicatzione ativat unas cantas API chi is sistemas esternos podint impreare pro organizare utentes, grupos e aplicatziones.", - "This application enables a set of APIs that external systems can use to create, edit, delete and query user\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin users\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "Custa aplicatzione ativat unas cantas API chi is sistemas esternos podent impreare pro creare, modificare, cantzellare e chircare\n\t\tatributos de s'utèntzia, chircare, impostare e eliminare grupos, impostare su lìmite e chircare totu su chi est allogadu in Nextcloud. Is chi amministrant unu grupu\n\t\tpodint puru pregontare a Nextcloud e acumprire is pròpias funtziones de un'amministradore pro su grupu chi amministrant. S'API ativat\n\t\tpermitit puru a un'amministradore de pedire aplicatziones Nextcloud ativas, informatziones de is aplicatziones e de ativare o disativare dae tesu. \n\t\t Cando s'ativat s'aplicatzione, is preguntas HTTP si podent impreare cun una intestatzione de autenticatzione bàsica pro acumprire cale si siat funtzione in s'elencu. \n\t\t Àteras informatziones a disponimentu in sa documentatzione de Frunidura API, inclùdidos esèmpios de mutidas\n\t\t e rispostas de su serbidore." -}, -"nplurals=2; plural=(n != 1);"); diff --git a/apps/provisioning_api/l10n/sc.json b/apps/provisioning_api/l10n/sc.json deleted file mode 100644 index 9c411e484e7..00000000000 --- a/apps/provisioning_api/l10n/sc.json +++ /dev/null @@ -1,6 +0,0 @@ -{ "translations": { - "Provisioning API" : "Frunidura API", - "This application enables a set of APIs that external systems can use to manage users, groups and apps." : "Custa aplicatzione ativat unas cantas API chi is sistemas esternos podint impreare pro organizare utentes, grupos e aplicatziones.", - "This application enables a set of APIs that external systems can use to create, edit, delete and query user\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin users\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "Custa aplicatzione ativat unas cantas API chi is sistemas esternos podent impreare pro creare, modificare, cantzellare e chircare\n\t\tatributos de s'utèntzia, chircare, impostare e eliminare grupos, impostare su lìmite e chircare totu su chi est allogadu in Nextcloud. Is chi amministrant unu grupu\n\t\tpodint puru pregontare a Nextcloud e acumprire is pròpias funtziones de un'amministradore pro su grupu chi amministrant. S'API ativat\n\t\tpermitit puru a un'amministradore de pedire aplicatziones Nextcloud ativas, informatziones de is aplicatziones e de ativare o disativare dae tesu. \n\t\t Cando s'ativat s'aplicatzione, is preguntas HTTP si podent impreare cun una intestatzione de autenticatzione bàsica pro acumprire cale si siat funtzione in s'elencu. \n\t\t Àteras informatziones a disponimentu in sa documentatzione de Frunidura API, inclùdidos esèmpios de mutidas\n\t\t e rispostas de su serbidore." -},"pluralForm" :"nplurals=2; plural=(n != 1);" -}
\ No newline at end of file diff --git a/apps/provisioning_api/l10n/sl.js b/apps/provisioning_api/l10n/sl.js deleted file mode 100644 index 96bf5c7e3b2..00000000000 --- a/apps/provisioning_api/l10n/sl.js +++ /dev/null @@ -1,12 +0,0 @@ -OC.L10N.register( - "provisioning_api", - { - "User already exists" : "Uporabnik že obstaja", - "Email confirmation" : "Potrditev elektronskega naslova", - "Confirm" : "Potrdi", - "Email confirmation successful" : "Potrditev elektronskega naslov je uspela.", - "Provisioning API" : "Vmesnik API za povezovanje", - "This application enables a set of APIs that external systems can use to manage users, groups and apps." : "Program omogoča nastavitev vmesnikov API, ki jih zunanji sistemi lahko uporabijo za upravljanje uporabnikov, skupin in programov.", - "This application enables a set of APIs that external systems can use to create, edit, delete and query user\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin users\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "Program omogoča uporabo različnih vmesnikov, ki jih lahko zunanji sistemi uporabijo za ustvarjanje, urejanje, upravljanje in preverjanje\n\t\tatributov uporabnikov, poizvedb, upravljanje skupin, količinskih omejitev in nadzor na skupno uporabljenim prostorom v okolju. Skrbniki skupin\n\t\tlahko prav tako izvajajo dejavnosti za upravljanje skupin znotraj okolja. Vmesnik API omogoča\n\t\tskrbnikom pregled nad dejavnimi programi, podrobnostmi in upravljanje tudi na daljavo.\n\t\tKo je program enkrat zagnan, je mogoče pošiljati zahteve za izvajanje osnovnega postopka overjanja.\n\t\tVeč podrobnosti je na voljo v dokumentaciji za uporabo vmesnika, vključno s\n\t\tprimeri sklicev in odzivov strežnika." -}, -"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);"); diff --git a/apps/provisioning_api/l10n/sl.json b/apps/provisioning_api/l10n/sl.json deleted file mode 100644 index 44572066c09..00000000000 --- a/apps/provisioning_api/l10n/sl.json +++ /dev/null @@ -1,10 +0,0 @@ -{ "translations": { - "User already exists" : "Uporabnik že obstaja", - "Email confirmation" : "Potrditev elektronskega naslova", - "Confirm" : "Potrdi", - "Email confirmation successful" : "Potrditev elektronskega naslov je uspela.", - "Provisioning API" : "Vmesnik API za povezovanje", - "This application enables a set of APIs that external systems can use to manage users, groups and apps." : "Program omogoča nastavitev vmesnikov API, ki jih zunanji sistemi lahko uporabijo za upravljanje uporabnikov, skupin in programov.", - "This application enables a set of APIs that external systems can use to create, edit, delete and query user\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin users\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "Program omogoča uporabo različnih vmesnikov, ki jih lahko zunanji sistemi uporabijo za ustvarjanje, urejanje, upravljanje in preverjanje\n\t\tatributov uporabnikov, poizvedb, upravljanje skupin, količinskih omejitev in nadzor na skupno uporabljenim prostorom v okolju. Skrbniki skupin\n\t\tlahko prav tako izvajajo dejavnosti za upravljanje skupin znotraj okolja. Vmesnik API omogoča\n\t\tskrbnikom pregled nad dejavnimi programi, podrobnostmi in upravljanje tudi na daljavo.\n\t\tKo je program enkrat zagnan, je mogoče pošiljati zahteve za izvajanje osnovnega postopka overjanja.\n\t\tVeč podrobnosti je na voljo v dokumentaciji za uporabo vmesnika, vključno s\n\t\tprimeri sklicev in odzivov strežnika." -},"pluralForm" :"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);" -}
\ No newline at end of file diff --git a/apps/provisioning_api/l10n/tr.js b/apps/provisioning_api/l10n/tr.js index a8aeb46e790..db6d11429bb 100644 --- a/apps/provisioning_api/l10n/tr.js +++ b/apps/provisioning_api/l10n/tr.js @@ -38,6 +38,6 @@ OC.L10N.register( "Email confirmation successful" : "E-posta onaylandı", "Provisioning API" : "Karşılama API", "This application enables a set of APIs that external systems can use to manage accounts, groups and apps." : "Bu uygulama, dış sistemlerin hesapları, grupları ve uygulamaları yönetmek için kullanabileceği bir dizi API uygulaması sağlar.", - "This application enables a set of APIs that external systems can use to create, edit, delete and query account\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin accounts\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "Bu uygulama, dış sistemlerin hesap özelliklerini eklemesi, düzenlemesi ve sorgulaması, grupları ayarlaması\n\t\tve silmesi ile Nextcloud tarafından kullanılan toplam depolama alanını sorgulaması için kullanabileceği\n\t\t bir dizi API uygulaması sağlar. Grup yöneticisi olan hesaplar da Nextcloud sorguları yürüterek yönettikleri\n\t\tgruplar üzerinde aynı işlemleri yöneticiler gibi yapabilirler. API uygulaması ayrıca kullanıma alınmış Nextcloud uygulamalarını\n\t\t ve uygulama bilgilerini sorgulayabilir ve uygulamaları uzaktan kullanıma alıp, kullanımdan kaldırabilir. Uygulama\n\t\tkullanıma alındıktan sonra yukarıdaki işlemleri yapmak için Temel Kimlik doğrulaması üst bilgisi ile HTTP istekleri\n\t\tkullanılabilir. Ayrıntılı bilgi almak ve örnek çağrılar ile sunucu yanıtlarını görmek için API hazırlama belgesine bakabilirsiniz." + "This application enables a set of APIs that external systems can use to create, edit, delete and query account\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin accounts\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "Bu uygulama, dış sistemlerin hesap özelliklerini eklemesi, düzenlemesi ve sorgulaması, grupları ayarlaması\n\t\tve silmesi ile Nextcloud tarafından kullanılan toplam depolama alanını sorgulaması için kullanabileceği\n\t\t bir dizi API uygulaması sağlar. Grup yöneticisi olan hesaplar da Nextcloud sorguları yürüterek yönettikleri\n\t\tgruplar üzerinde aynı işlemleri yöneticiler gibi yapabilirler. API uygulaması ayrıca kullanıma alınmış Nextcloud uygulamalarını\n\t\t ve uygulama bilgilerini sorgulayabilir ve uygulamaları uzaktan kullanıma alıp, kullanımdan kaldırabilir. Uygulama\n\t\tkullanıma alındıktan sonra yukarıdaki işlemleri yapmak için Temel kimlik doğrulaması üst bilgisi ile HTTP istekleri\n\t\tyapılabilir. Ayrıntılı bilgi almak ve örnek çağrılar ile sunucu yanıtlarını görmek için API hazırlama belgesine bakabilirsiniz." }, "nplurals=2; plural=(n > 1);"); diff --git a/apps/provisioning_api/l10n/tr.json b/apps/provisioning_api/l10n/tr.json index cb045906426..3e4a591bb5f 100644 --- a/apps/provisioning_api/l10n/tr.json +++ b/apps/provisioning_api/l10n/tr.json @@ -36,6 +36,6 @@ "Email confirmation successful" : "E-posta onaylandı", "Provisioning API" : "Karşılama API", "This application enables a set of APIs that external systems can use to manage accounts, groups and apps." : "Bu uygulama, dış sistemlerin hesapları, grupları ve uygulamaları yönetmek için kullanabileceği bir dizi API uygulaması sağlar.", - "This application enables a set of APIs that external systems can use to create, edit, delete and query account\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin accounts\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "Bu uygulama, dış sistemlerin hesap özelliklerini eklemesi, düzenlemesi ve sorgulaması, grupları ayarlaması\n\t\tve silmesi ile Nextcloud tarafından kullanılan toplam depolama alanını sorgulaması için kullanabileceği\n\t\t bir dizi API uygulaması sağlar. Grup yöneticisi olan hesaplar da Nextcloud sorguları yürüterek yönettikleri\n\t\tgruplar üzerinde aynı işlemleri yöneticiler gibi yapabilirler. API uygulaması ayrıca kullanıma alınmış Nextcloud uygulamalarını\n\t\t ve uygulama bilgilerini sorgulayabilir ve uygulamaları uzaktan kullanıma alıp, kullanımdan kaldırabilir. Uygulama\n\t\tkullanıma alındıktan sonra yukarıdaki işlemleri yapmak için Temel Kimlik doğrulaması üst bilgisi ile HTTP istekleri\n\t\tkullanılabilir. Ayrıntılı bilgi almak ve örnek çağrılar ile sunucu yanıtlarını görmek için API hazırlama belgesine bakabilirsiniz." + "This application enables a set of APIs that external systems can use to create, edit, delete and query account\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin accounts\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "Bu uygulama, dış sistemlerin hesap özelliklerini eklemesi, düzenlemesi ve sorgulaması, grupları ayarlaması\n\t\tve silmesi ile Nextcloud tarafından kullanılan toplam depolama alanını sorgulaması için kullanabileceği\n\t\t bir dizi API uygulaması sağlar. Grup yöneticisi olan hesaplar da Nextcloud sorguları yürüterek yönettikleri\n\t\tgruplar üzerinde aynı işlemleri yöneticiler gibi yapabilirler. API uygulaması ayrıca kullanıma alınmış Nextcloud uygulamalarını\n\t\t ve uygulama bilgilerini sorgulayabilir ve uygulamaları uzaktan kullanıma alıp, kullanımdan kaldırabilir. Uygulama\n\t\tkullanıma alındıktan sonra yukarıdaki işlemleri yapmak için Temel kimlik doğrulaması üst bilgisi ile HTTP istekleri\n\t\tyapılabilir. Ayrıntılı bilgi almak ve örnek çağrılar ile sunucu yanıtlarını görmek için API hazırlama belgesine bakabilirsiniz." },"pluralForm" :"nplurals=2; plural=(n > 1);" }
\ No newline at end of file diff --git a/apps/provisioning_api/lib/AppInfo/Application.php b/apps/provisioning_api/lib/AppInfo/Application.php index b13f2b0eba5..57de9dad416 100644 --- a/apps/provisioning_api/lib/AppInfo/Application.php +++ b/apps/provisioning_api/lib/AppInfo/Application.php @@ -1,4 +1,5 @@ <?php + /** * SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors * SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/apps/provisioning_api/lib/Capabilities.php b/apps/provisioning_api/lib/Capabilities.php index d3287e5666b..5becf6f611f 100644 --- a/apps/provisioning_api/lib/Capabilities.php +++ b/apps/provisioning_api/lib/Capabilities.php @@ -1,4 +1,5 @@ <?php + /** * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors * SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/apps/provisioning_api/lib/Controller/AppsController.php b/apps/provisioning_api/lib/Controller/AppsController.php index 4d32584591b..3f6cff7442a 100644 --- a/apps/provisioning_api/lib/Controller/AppsController.php +++ b/apps/provisioning_api/lib/Controller/AppsController.php @@ -8,6 +8,8 @@ declare(strict_types=1); */ namespace OCA\Provisioning_API\Controller; +use OC\App\AppStore\AppNotFoundException; +use OC\Installer; use OC_App; use OCP\App\AppPathNotFoundException; use OCP\App\IAppManager; @@ -16,6 +18,7 @@ use OCP\AppFramework\Http\Attribute\PasswordConfirmationRequired; use OCP\AppFramework\Http\DataResponse; use OCP\AppFramework\OCS\OCSException; use OCP\AppFramework\OCSController; +use OCP\IAppConfig; use OCP\IRequest; class AppsController extends OCSController { @@ -23,6 +26,8 @@ class AppsController extends OCSController { string $appName, IRequest $request, private IAppManager $appManager, + private Installer $installer, + private IAppConfig $appConfig, ) { parent::__construct($appName, $request); } @@ -108,10 +113,19 @@ class AppsController extends OCSController { public function enable(string $app): DataResponse { try { $app = $this->verifyAppId($app); + + if (!$this->installer->isDownloaded($app)) { + $this->installer->downloadApp($app); + } + + if ($this->appConfig->getValueString($app, 'installed_version', '') === '') { + $this->installer->installApp($app); + } + $this->appManager->enableApp($app); } catch (\InvalidArgumentException $e) { throw new OCSException($e->getMessage(), OCSController::RESPOND_UNAUTHORISED); - } catch (AppPathNotFoundException $e) { + } catch (AppPathNotFoundException|AppNotFoundException $e) { throw new OCSException('The request app was not found', OCSController::RESPOND_NOT_FOUND); } return new DataResponse(); diff --git a/apps/provisioning_api/lib/Controller/GroupsController.php b/apps/provisioning_api/lib/Controller/GroupsController.php index 3d9fa6b1cfc..37af51419df 100644 --- a/apps/provisioning_api/lib/Controller/GroupsController.php +++ b/apps/provisioning_api/lib/Controller/GroupsController.php @@ -98,6 +98,7 @@ class GroupsController extends AUserDataOCSController { */ #[NoAdminRequired] #[AuthorizedAdminSetting(settings: Sharing::class)] + #[AuthorizedAdminSetting(settings: Users::class)] public function getGroupsDetails(string $search = '', ?int $limit = null, int $offset = 0): DataResponse { $groups = $this->groupManager->search($search, $limit, $offset); $groups = array_values(array_map(function ($group) { diff --git a/apps/provisioning_api/lib/Controller/UsersController.php b/apps/provisioning_api/lib/Controller/UsersController.php index 4b3db45f518..9136ded5b7a 100644 --- a/apps/provisioning_api/lib/Controller/UsersController.php +++ b/apps/provisioning_api/lib/Controller/UsersController.php @@ -21,6 +21,7 @@ use OCA\Settings\Settings\Admin\Users; use OCP\Accounts\IAccountManager; use OCP\Accounts\IAccountProperty; use OCP\Accounts\PropertyDoesNotExistException; +use OCP\App\IAppManager; use OCP\AppFramework\Http; use OCP\AppFramework\Http\Attribute\AuthorizedAdminSetting; use OCP\AppFramework\Http\Attribute\NoAdminRequired; @@ -79,6 +80,7 @@ class UsersController extends AUserDataOCSController { private KnownUserService $knownUserService, private IEventDispatcher $eventDispatcher, private IPhoneNumberUtil $phoneNumberUtil, + private IAppManager $appManager, ) { parent::__construct( $appName, @@ -710,6 +712,19 @@ class UsersController extends AUserDataOCSController { } /** + * Get a list of enabled apps for the current user + * + * @return DataResponse<Http::STATUS_OK, array{apps: list<string>}, array{}> + * + * 200: Enabled apps returned + */ + #[NoAdminRequired] + public function getEnabledApps(): DataResponse { + $currentLoggedInUser = $this->userSession->getUser(); + return new DataResponse(['apps' => $this->appManager->getEnabledAppsForUser($currentLoggedInUser)]); + } + + /** * @NoSubAdminRequired * * Get a list of fields that are editable for a user @@ -931,17 +946,17 @@ class UsersController extends AUserDataOCSController { $permittedFields[] = self::USER_FIELD_PASSWORD; $permittedFields[] = self::USER_FIELD_NOTIFICATION_EMAIL; if ( - $this->config->getSystemValue('force_language', false) === false || - $this->groupManager->isAdmin($currentLoggedInUser->getUID()) || - $this->groupManager->isDelegatedAdmin($currentLoggedInUser->getUID()) + $this->config->getSystemValue('force_language', false) === false + || $this->groupManager->isAdmin($currentLoggedInUser->getUID()) + || $this->groupManager->isDelegatedAdmin($currentLoggedInUser->getUID()) ) { $permittedFields[] = self::USER_FIELD_LANGUAGE; } if ( - $this->config->getSystemValue('force_locale', false) === false || - $this->groupManager->isAdmin($currentLoggedInUser->getUID()) || - $this->groupManager->isDelegatedAdmin($currentLoggedInUser->getUID()) + $this->config->getSystemValue('force_locale', false) === false + || $this->groupManager->isAdmin($currentLoggedInUser->getUID()) + || $this->groupManager->isDelegatedAdmin($currentLoggedInUser->getUID()) ) { $permittedFields[] = self::USER_FIELD_LOCALE; $permittedFields[] = self::USER_FIELD_FIRST_DAY_OF_WEEK; @@ -985,8 +1000,8 @@ class UsersController extends AUserDataOCSController { // Check if admin / subadmin $subAdminManager = $this->groupManager->getSubAdmin(); if ( - $this->groupManager->isAdmin($currentLoggedInUser->getUID()) || - $this->groupManager->isDelegatedAdmin($currentLoggedInUser->getUID()) && !$this->groupManager->isInGroup($targetUser->getUID(), 'admin') + $this->groupManager->isAdmin($currentLoggedInUser->getUID()) + || $this->groupManager->isDelegatedAdmin($currentLoggedInUser->getUID()) && !$this->groupManager->isInGroup($targetUser->getUID(), 'admin') || $subAdminManager->isUserAccessible($currentLoggedInUser, $targetUser) ) { // They have permissions over the user diff --git a/apps/provisioning_api/lib/Middleware/Exceptions/NotSubAdminException.php b/apps/provisioning_api/lib/Middleware/Exceptions/NotSubAdminException.php index c7be073b8af..b014d6a1495 100644 --- a/apps/provisioning_api/lib/Middleware/Exceptions/NotSubAdminException.php +++ b/apps/provisioning_api/lib/Middleware/Exceptions/NotSubAdminException.php @@ -1,4 +1,5 @@ <?php + /** * SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors * SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/apps/provisioning_api/openapi-administration.json b/apps/provisioning_api/openapi-administration.json index 3c54be68194..84b1a12d2dd 100644 --- a/apps/provisioning_api/openapi-administration.json +++ b/apps/provisioning_api/openapi-administration.json @@ -381,7 +381,8 @@ "description": "Filter for enabled or disabled apps", "schema": { "type": "string", - "nullable": true + "nullable": true, + "default": null } }, { @@ -1003,7 +1004,8 @@ "schema": { "type": "integer", "format": "int64", - "nullable": true + "nullable": true, + "default": null } }, { diff --git a/apps/provisioning_api/openapi-full.json b/apps/provisioning_api/openapi-full.json index 9079404c35c..cde7eeaa557 100644 --- a/apps/provisioning_api/openapi-full.json +++ b/apps/provisioning_api/openapi-full.json @@ -428,7 +428,8 @@ "description": "Filter for enabled or disabled apps", "schema": { "type": "string", - "nullable": true + "nullable": true, + "default": null } }, { @@ -885,7 +886,8 @@ "schema": { "type": "integer", "format": "int64", - "nullable": true + "nullable": true, + "default": null } }, { @@ -1230,7 +1232,8 @@ "schema": { "type": "integer", "format": "int64", - "nullable": true + "nullable": true, + "default": null } }, { @@ -2189,7 +2192,8 @@ "schema": { "type": "integer", "format": "int64", - "nullable": true + "nullable": true, + "default": null } }, { @@ -2438,7 +2442,8 @@ "schema": { "type": "integer", "format": "int64", - "nullable": true + "nullable": true, + "default": null } }, { @@ -2554,7 +2559,8 @@ "schema": { "type": "integer", "format": "int64", - "nullable": true + "nullable": true, + "default": null } }, { @@ -2695,6 +2701,7 @@ "manager": { "type": "string", "nullable": true, + "default": null, "description": "Manager of the user" } } @@ -2816,7 +2823,8 @@ "schema": { "type": "integer", "format": "int64", - "nullable": true + "nullable": true, + "default": null } }, { @@ -2932,7 +2940,8 @@ "schema": { "type": "integer", "format": "int64", - "nullable": true + "nullable": true, + "default": null } }, { @@ -3564,6 +3573,78 @@ } } }, + "/ocs/v2.php/cloud/user/apps": { + "get": { + "operationId": "users-get-enabled-apps", + "summary": "Get a list of enabled apps for the current user", + "tags": [ + "users" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "OCS-APIRequest", + "in": "header", + "description": "Required to be true for the API request to pass", + "required": true, + "schema": { + "type": "boolean", + "default": true + } + } + ], + "responses": { + "200": { + "description": "Enabled apps returned", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": { + "type": "object", + "required": [ + "apps" + ], + "properties": { + "apps": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + } + } + }, "/ocs/v2.php/cloud/users/{userId}/{collectionName}": { "put": { "operationId": "users-edit-user-multi-value", diff --git a/apps/provisioning_api/openapi.json b/apps/provisioning_api/openapi.json index 59f31a2c25d..29272f34956 100644 --- a/apps/provisioning_api/openapi.json +++ b/apps/provisioning_api/openapi.json @@ -437,7 +437,8 @@ "schema": { "type": "integer", "format": "int64", - "nullable": true + "nullable": true, + "default": null } }, { @@ -538,7 +539,8 @@ "schema": { "type": "integer", "format": "int64", - "nullable": true + "nullable": true, + "default": null } }, { @@ -787,7 +789,8 @@ "schema": { "type": "integer", "format": "int64", - "nullable": true + "nullable": true, + "default": null } }, { @@ -986,7 +989,8 @@ "schema": { "type": "integer", "format": "int64", - "nullable": true + "nullable": true, + "default": null } }, { @@ -1127,6 +1131,7 @@ "manager": { "type": "string", "nullable": true, + "default": null, "description": "Manager of the user" } } @@ -1248,7 +1253,8 @@ "schema": { "type": "integer", "format": "int64", - "nullable": true + "nullable": true, + "default": null } }, { @@ -1364,7 +1370,8 @@ "schema": { "type": "integer", "format": "int64", - "nullable": true + "nullable": true, + "default": null } }, { @@ -1996,6 +2003,78 @@ } } }, + "/ocs/v2.php/cloud/user/apps": { + "get": { + "operationId": "users-get-enabled-apps", + "summary": "Get a list of enabled apps for the current user", + "tags": [ + "users" + ], + "security": [ + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "OCS-APIRequest", + "in": "header", + "description": "Required to be true for the API request to pass", + "required": true, + "schema": { + "type": "boolean", + "default": true + } + } + ], + "responses": { + "200": { + "description": "Enabled apps returned", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": { + "type": "object", + "required": [ + "apps" + ], + "properties": { + "apps": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + } + } + }, "/ocs/v2.php/cloud/users/{userId}/{collectionName}": { "put": { "operationId": "users-edit-user-multi-value", diff --git a/apps/provisioning_api/tests/CapabilitiesTest.php b/apps/provisioning_api/tests/CapabilitiesTest.php index e3c14f37ed7..86d2bb8c4fa 100644 --- a/apps/provisioning_api/tests/CapabilitiesTest.php +++ b/apps/provisioning_api/tests/CapabilitiesTest.php @@ -1,9 +1,11 @@ <?php + +declare(strict_types=1); /** * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors * SPDX-License-Identifier: AGPL-3.0-or-later */ -namespace OCA\Provisioning_API\Tests\unit; +namespace OCA\Provisioning_API\Tests; use OCA\FederatedFileSharing\FederatedShareProvider; use OCA\Provisioning_API\Capabilities; @@ -21,11 +23,8 @@ use Test\TestCase; */ class CapabilitiesTest extends TestCase { - /** @var Capabilities */ - protected $capabilities; - - /** @var IAppManager|MockObject */ - protected $appManager; + protected IAppManager&MockObject $appManager; + protected Capabilities $capabilities; public function setUp(): void { parent::setUp(); @@ -38,7 +37,7 @@ class CapabilitiesTest extends TestCase { ->willReturn('1.12'); } - public function getCapabilitiesProvider() { + public static function getCapabilitiesProvider(): array { return [ [true, false, false, true, false], [true, true, false, true, false], @@ -49,16 +48,14 @@ class CapabilitiesTest extends TestCase { ]; } - /** - * @dataProvider getCapabilitiesProvider - */ - public function testGetCapabilities($federationAppEnabled, $federatedFileSharingAppEnabled, $lookupServerEnabled, $expectedFederatedScopeEnabled, $expectedPublishedScopeEnabled): void { + #[\PHPUnit\Framework\Attributes\DataProvider('getCapabilitiesProvider')] + public function testGetCapabilities(bool $federationAppEnabled, bool $federatedFileSharingAppEnabled, bool $lookupServerEnabled, bool $expectedFederatedScopeEnabled, bool $expectedPublishedScopeEnabled): void { $this->appManager->expects($this->any()) ->method('isEnabledForUser') - ->will($this->returnValueMap([ + ->willReturnMap([ ['federation', null, $federationAppEnabled], ['federatedfilesharing', null, $federatedFileSharingAppEnabled], - ])); + ]); $federatedShareProvider = $this->createMock(FederatedShareProvider::class); $this->overwriteService(FederatedShareProvider::class, $federatedShareProvider); diff --git a/apps/provisioning_api/tests/Controller/AppConfigControllerTest.php b/apps/provisioning_api/tests/Controller/AppConfigControllerTest.php index 41739b6283f..1b09838cbc3 100644 --- a/apps/provisioning_api/tests/Controller/AppConfigControllerTest.php +++ b/apps/provisioning_api/tests/Controller/AppConfigControllerTest.php @@ -1,4 +1,6 @@ <?php + +declare(strict_types=1); /** * SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors * SPDX-License-Identifier: AGPL-3.0-or-later @@ -30,7 +32,6 @@ use function json_encode; * @package OCA\Provisioning_API\Tests */ class AppConfigControllerTest extends TestCase { - private IAppConfig&MockObject $appConfig; private IUserSession&MockObject $userSession; private IL10N&MockObject $l10n; @@ -51,7 +52,7 @@ class AppConfigControllerTest extends TestCase { /** * @param string[] $methods - * @return AppConfigController|\PHPUnit\Framework\MockObject\MockObject + * @return AppConfigController|MockObject */ protected function getInstance(array $methods = []) { $request = $this->createMock(IRequest::class); @@ -79,7 +80,7 @@ class AppConfigControllerTest extends TestCase { $this->settingManager, $this->appManager, ]) - ->setMethods($methods) + ->onlyMethods($methods) ->getMock(); } } @@ -95,21 +96,15 @@ class AppConfigControllerTest extends TestCase { $this->assertEquals(['data' => ['apps']], $result->getData()); } - public function dataGetKeys() { + public static function dataGetKeys(): array { return [ ['app1 ', null, new \InvalidArgumentException('error'), Http::STATUS_FORBIDDEN], ['app2', ['keys'], null, Http::STATUS_OK], ]; } - /** - * @dataProvider dataGetKeys - * @param string $app - * @param array|null $keys - * @param \Exception|null $throws - * @param int $status - */ - public function testGetKeys($app, $keys, $throws, $status): void { + #[\PHPUnit\Framework\Attributes\DataProvider('dataGetKeys')] + public function testGetKeys(string $app, ?array $keys, ?\Throwable $throws, int $status): void { $api = $this->getInstance(['verifyAppId']); if ($throws instanceof \Exception) { $api->expects($this->once()) @@ -140,23 +135,15 @@ class AppConfigControllerTest extends TestCase { } } - public function dataGetValue() { + public static function dataGetValue(): array { return [ ['app1', 'key', 'default', null, new \InvalidArgumentException('error'), Http::STATUS_FORBIDDEN], ['app2', 'key', 'default', 'return', null, Http::STATUS_OK], ]; } - /** - * @dataProvider dataGetValue - * @param string $app - * @param string|null $key - * @param string|null $default - * @param string|null $return - * @param \Exception|null $throws - * @param int $status - */ - public function testGetValue($app, $key, $default, $return, $throws, $status): void { + #[\PHPUnit\Framework\Attributes\DataProvider('dataGetValue')] + public function testGetValue(string $app, string $key, string $default, ?string $return, ?\Throwable $throws, int $status): void { $api = $this->getInstance(['verifyAppId']); if ($throws instanceof \Exception) { $api->expects($this->once()) @@ -184,7 +171,7 @@ class AppConfigControllerTest extends TestCase { } } - public function dataSetValue() { + public static function dataSetValue(): array { return [ ['app1', 'key', 'default', new \InvalidArgumentException('error1'), null, Http::STATUS_FORBIDDEN], ['app2', 'key', 'default', null, new \InvalidArgumentException('error2'), Http::STATUS_FORBIDDEN], @@ -199,16 +186,8 @@ class AppConfigControllerTest extends TestCase { ]; } - /** - * @dataProvider dataSetValue - * @param string $app - * @param string|null $key - * @param string|null $value - * @param \Exception|null $appThrows - * @param \Exception|null $keyThrows - * @param int|\Throwable $status - */ - public function testSetValue($app, $key, $value, $appThrows, $keyThrows, $status, int|\Throwable $type = IAppConfig::VALUE_MIXED): void { + #[\PHPUnit\Framework\Attributes\DataProvider('dataSetValue')] + public function testSetValue(string $app, string $key, string $value, ?\Throwable $appThrows, ?\Throwable $keyThrows, int $status, int|\Throwable $type = IAppConfig::VALUE_MIXED): void { $adminUser = $this->createMock(IUser::class); $adminUser->expects($this->once()) ->method('getUid') @@ -297,7 +276,7 @@ class AppConfigControllerTest extends TestCase { } } - public function dataDeleteValue() { + public static function dataDeleteValue(): array { return [ ['app1', 'key', new \InvalidArgumentException('error1'), null, Http::STATUS_FORBIDDEN], ['app2', 'key', null, new \InvalidArgumentException('error2'), Http::STATUS_FORBIDDEN], @@ -305,15 +284,8 @@ class AppConfigControllerTest extends TestCase { ]; } - /** - * @dataProvider dataDeleteValue - * @param string $app - * @param string|null $key - * @param \Exception|null $appThrows - * @param \Exception|null $keyThrows - * @param int $status - */ - public function testDeleteValue($app, $key, $appThrows, $keyThrows, $status): void { + #[\PHPUnit\Framework\Attributes\DataProvider('dataDeleteValue')] + public function testDeleteValue(string $app, string $key, ?\Throwable $appThrows, ?\Throwable $keyThrows, int $status): void { $api = $this->getInstance(['verifyAppId', 'verifyConfigKey']); if ($appThrows instanceof \Exception) { $api->expects($this->once()) @@ -367,7 +339,7 @@ class AppConfigControllerTest extends TestCase { $this->addToAssertionCount(1); } - public function dataVerifyAppIdThrows() { + public static function dataVerifyAppIdThrows(): array { return [ ['activity..'], ['activity/'], @@ -376,18 +348,15 @@ class AppConfigControllerTest extends TestCase { ]; } - /** - * @dataProvider dataVerifyAppIdThrows - * @param string $app - */ - public function testVerifyAppIdThrows($app): void { + #[\PHPUnit\Framework\Attributes\DataProvider('dataVerifyAppIdThrows')] + public function testVerifyAppIdThrows(string $app): void { $this->expectException(\InvalidArgumentException::class); $api = $this->getInstance(); $this->invokePrivate($api, 'verifyAppId', [$app]); } - public function dataVerifyConfigKey() { + public static function dataVerifyConfigKey(): array { return [ ['activity', 'abc', ''], ['dav', 'public_route', ''], @@ -396,19 +365,14 @@ class AppConfigControllerTest extends TestCase { ]; } - /** - * @dataProvider dataVerifyConfigKey - * @param string $app - * @param string $key - * @param string $value - */ - public function testVerifyConfigKey($app, $key, $value): void { + #[\PHPUnit\Framework\Attributes\DataProvider('dataVerifyConfigKey')] + public function testVerifyConfigKey(string $app, string $key, string $value): void { $api = $this->getInstance(); $this->invokePrivate($api, 'verifyConfigKey', [$app, $key, $value]); $this->addToAssertionCount(1); } - public function dataVerifyConfigKeyThrows() { + public static function dataVerifyConfigKeyThrows(): array { return [ ['activity', 'installed_version', ''], ['calendar', 'enabled', ''], @@ -422,13 +386,8 @@ class AppConfigControllerTest extends TestCase { ]; } - /** - * @dataProvider dataVerifyConfigKeyThrows - * @param string $app - * @param string $key - * @param string $value - */ - public function testVerifyConfigKeyThrows($app, $key, $value): void { + #[\PHPUnit\Framework\Attributes\DataProvider('dataVerifyConfigKeyThrows')] + public function testVerifyConfigKeyThrows(string $app, string $key, string $value): void { $this->expectException(\InvalidArgumentException::class); $api = $this->getInstance(); diff --git a/apps/provisioning_api/tests/Controller/AppsControllerTest.php b/apps/provisioning_api/tests/Controller/AppsControllerTest.php index bbcabfddd8b..f95daeae7d3 100644 --- a/apps/provisioning_api/tests/Controller/AppsControllerTest.php +++ b/apps/provisioning_api/tests/Controller/AppsControllerTest.php @@ -7,14 +7,17 @@ */ namespace OCA\Provisioning_API\Tests\Controller; +use OC\Installer; use OCA\Provisioning_API\Controller\AppsController; use OCA\Provisioning_API\Tests\TestCase; use OCP\App\IAppManager; use OCP\AppFramework\OCS\OCSException; +use OCP\IAppConfig; use OCP\IGroupManager; use OCP\IRequest; use OCP\IUserSession; use OCP\Server; +use PHPUnit\Framework\MockObject\MockObject; /** * Class AppsTest @@ -24,12 +27,11 @@ use OCP\Server; * @package OCA\Provisioning_API\Tests */ class AppsControllerTest extends TestCase { - /** @var IAppManager */ - private $appManager; - /** @var AppsController */ - private $api; - /** @var IUserSession */ - private $userSession; + private IAppManager $appManager; + private IAppConfig&MockObject $appConfig; + private Installer&MockObject $installer; + private AppsController $api; + private IUserSession $userSession; protected function setUp(): void { parent::setUp(); @@ -37,15 +39,17 @@ class AppsControllerTest extends TestCase { $this->appManager = Server::get(IAppManager::class); $this->groupManager = Server::get(IGroupManager::class); $this->userSession = Server::get(IUserSession::class); + $this->appConfig = $this->createMock(IAppConfig::class); + $this->installer = $this->createMock(Installer::class); - $request = $this->getMockBuilder(IRequest::class) - ->disableOriginalConstructor() - ->getMock(); + $request = $this->createMock(IRequest::class); $this->api = new AppsController( 'provisioning_api', $request, - $this->appManager + $this->appManager, + $this->installer, + $this->appConfig, ); } @@ -96,7 +100,7 @@ class AppsControllerTest extends TestCase { $this->assertEquals(count($disabled), count($data['apps'])); } - + public function testGetAppsInvalidFilter(): void { $this->expectException(OCSException::class); $this->expectExceptionCode(101); diff --git a/apps/provisioning_api/tests/Controller/GroupsControllerTest.php b/apps/provisioning_api/tests/Controller/GroupsControllerTest.php index 29b098429e8..85e5d733b1f 100644 --- a/apps/provisioning_api/tests/Controller/GroupsControllerTest.php +++ b/apps/provisioning_api/tests/Controller/GroupsControllerTest.php @@ -22,30 +22,20 @@ use OCP\IUserManager; use OCP\IUserSession; use OCP\L10N\IFactory; use OCP\UserInterface; +use PHPUnit\Framework\MockObject\MockObject; use Psr\Log\LoggerInterface; class GroupsControllerTest extends \Test\TestCase { - /** @var IRequest|\PHPUnit\Framework\MockObject\MockObject */ - protected $request; - /** @var IUserManager|\PHPUnit\Framework\MockObject\MockObject */ - protected $userManager; - /** @var IConfig|\PHPUnit\Framework\MockObject\MockObject */ - protected $config; - /** @var Manager|\PHPUnit\Framework\MockObject\MockObject */ - protected $groupManager; - /** @var IUserSession|\PHPUnit\Framework\MockObject\MockObject */ - protected $userSession; - /** @var IAccountManager|\PHPUnit\Framework\MockObject\MockObject */ - protected $accountManager; - /** @var ISubAdmin|\PHPUnit\Framework\MockObject\MockObject */ - protected $subAdminManager; - /** @var IFactory|\PHPUnit\Framework\MockObject\MockObject */ - protected $l10nFactory; - /** @var LoggerInterface|\PHPUnit\Framework\MockObject\MockObject */ - protected $logger; - - /** @var GroupsController|\PHPUnit\Framework\MockObject\MockObject */ - protected $api; + protected IRequest&MockObject $request; + protected IUserManager&MockObject $userManager; + protected IConfig&MockObject $config; + protected Manager&MockObject $groupManager; + protected IUserSession&MockObject $userSession; + protected IAccountManager&MockObject $accountManager; + protected ISubAdmin&MockObject $subAdminManager; + protected IFactory&MockObject $l10nFactory; + protected LoggerInterface&MockObject $logger; + protected GroupsController&MockObject $api; private IRootFolder $rootFolder; @@ -82,16 +72,12 @@ class GroupsControllerTest extends \Test\TestCase { $this->rootFolder, $this->logger ]) - ->setMethods(['fillStorageInfo']) + ->onlyMethods(['fillStorageInfo']) ->getMock(); } - /** - * @param string $gid - * @return IGroup|\PHPUnit\Framework\MockObject\MockObject - */ - private function createGroup($gid) { - $group = $this->getMockBuilder('\OCP\IGroup')->disableOriginalConstructor()->getMock(); + private function createGroup(string $gid): IGroup&MockObject { + $group = $this->createMock(IGroup::class); $group ->method('getGID') ->willReturn($gid); @@ -116,7 +102,7 @@ class GroupsControllerTest extends \Test\TestCase { /** * @param string $uid - * @return IUser|\PHPUnit\Framework\MockObject\MockObject + * @return IUser&MockObject */ private function createUser($uid) { $user = $this->getMockBuilder(IUser::class)->disableOriginalConstructor()->getMock(); @@ -165,7 +151,7 @@ class GroupsControllerTest extends \Test\TestCase { }); } - public function dataGetGroups() { + public static function dataGetGroups(): array { return [ [null, 0, 0], ['foo', 0, 0], @@ -175,14 +161,8 @@ class GroupsControllerTest extends \Test\TestCase { ]; } - /** - * @dataProvider dataGetGroups - * - * @param string|null $search - * @param int|null $limit - * @param int|null $offset - */ - public function testGetGroups($search, $limit, $offset): void { + #[\PHPUnit\Framework\Attributes\DataProvider('dataGetGroups')] + public function testGetGroups(?string $search, int $limit, int $offset): void { $groups = [$this->createGroup('group1'), $this->createGroup('group2')]; $search = $search === null ? '' : $search; @@ -198,12 +178,12 @@ class GroupsControllerTest extends \Test\TestCase { } /** - * @dataProvider dataGetGroups * * @param string|null $search * @param int|null $limit * @param int|null $offset */ + #[\PHPUnit\Framework\Attributes\DataProvider('dataGetGroups')] public function testGetGroupsDetails($search, $limit, $offset): void { $groups = [$this->createGroup('group1'), $this->createGroup('group2')]; @@ -509,7 +489,7 @@ class GroupsControllerTest extends \Test\TestCase { ->method('getUserGroups') ->willReturn([$group]); - /** @var \PHPUnit\Framework\MockObject\MockObject */ + /** @var MockObject */ $this->subAdminManager->expects($this->any()) ->method('isSubAdminOfGroup') ->willReturn(false); @@ -554,7 +534,7 @@ class GroupsControllerTest extends \Test\TestCase { ->method('getUserGroups') ->willReturn([$group]); - /** @var \PHPUnit\Framework\MockObject\MockObject */ + /** @var MockObject */ $this->subAdminManager->expects($this->any()) ->method('isSubAdminOfGroup') ->willReturn(false); diff --git a/apps/provisioning_api/tests/Controller/UsersControllerTest.php b/apps/provisioning_api/tests/Controller/UsersControllerTest.php index 7d4f99356b3..cf35a4fb324 100644 --- a/apps/provisioning_api/tests/Controller/UsersControllerTest.php +++ b/apps/provisioning_api/tests/Controller/UsersControllerTest.php @@ -20,6 +20,7 @@ use OCP\Accounts\IAccount; use OCP\Accounts\IAccountManager; use OCP\Accounts\IAccountProperty; use OCP\Accounts\IAccountPropertyCollection; +use OCP\App\IAppManager; use OCP\AppFramework\Http\DataResponse; use OCP\AppFramework\OCS\OCSException; use OCP\EventDispatcher\IEventDispatcher; @@ -46,41 +47,25 @@ use RuntimeException; use Test\TestCase; class UsersControllerTest extends TestCase { - /** @var IUserManager|MockObject */ - protected $userManager; - /** @var IConfig|MockObject */ - protected $config; - /** @var Manager|MockObject */ - protected $groupManager; - /** @var IUserSession|MockObject */ - protected $userSession; - /** @var LoggerInterface|MockObject */ - protected $logger; - /** @var UsersController|MockObject */ - protected $api; - /** @var IAccountManager|MockObject */ - protected $accountManager; - /** @var ISubAdmin|MockObject */ - protected $subAdminManager; - /** @var IURLGenerator|MockObject */ - protected $urlGenerator; - /** @var IRequest|MockObject */ - protected $request; - /** @var IFactory|MockObject */ - private $l10nFactory; - /** @var NewUserMailHelper|MockObject */ - private $newUserMailHelper; - /** @var ISecureRandom|MockObject */ - private $secureRandom; - /** @var RemoteWipe|MockObject */ - private $remoteWipe; - /** @var KnownUserService|MockObject */ - private $knownUserService; - /** @var IEventDispatcher|MockObject */ - private $eventDispatcher; + protected IUserManager&MockObject $userManager; + protected IConfig&MockObject $config; + protected Manager&MockObject $groupManager; + protected IUserSession&MockObject $userSession; + protected LoggerInterface&MockObject $logger; + protected UsersController&MockObject $api; + protected IAccountManager&MockObject $accountManager; + protected ISubAdmin&MockObject $subAdminManager; + protected IURLGenerator&MockObject $urlGenerator; + protected IRequest&MockObject $request; + private IFactory&MockObject $l10nFactory; + private NewUserMailHelper&MockObject $newUserMailHelper; + private ISecureRandom&MockObject $secureRandom; + private RemoteWipe&MockObject $remoteWipe; + private KnownUserService&MockObject $knownUserService; + private IEventDispatcher&MockObject $eventDispatcher; private IRootFolder $rootFolder; - /** @var IPhoneNumberUtil */ - private $phoneNumberUtil; + private IPhoneNumberUtil $phoneNumberUtil; + private IAppManager $appManager; protected function setUp(): void { parent::setUp(); @@ -101,6 +86,7 @@ class UsersControllerTest extends TestCase { $this->knownUserService = $this->createMock(KnownUserService::class); $this->eventDispatcher = $this->createMock(IEventDispatcher::class); $this->phoneNumberUtil = new PhoneNumberUtil(); + $this->appManager = $this->createMock(IAppManager::class); $this->rootFolder = $this->createMock(IRootFolder::class); $l10n = $this->createMock(IL10N::class); @@ -127,6 +113,7 @@ class UsersControllerTest extends TestCase { $this->knownUserService, $this->eventDispatcher, $this->phoneNumberUtil, + $this->appManager, ]) ->onlyMethods(['fillStorageInfo']) ->getMock(); @@ -212,8 +199,7 @@ class UsersControllerTest extends TestCase { ->willReturn($subAdminManager); $this->groupManager ->expects($this->any()) - ->method('displayNamesInGroup') - ->will($this->onConsecutiveCalls(['AnotherUserInTheFirstGroup' => []], ['UserInTheSecondGroup' => []])); + ->method('displayNamesInGroup')->willReturnOnConsecutiveCalls(['AnotherUserInTheFirstGroup' => []], ['UserInTheSecondGroup' => []]); $expected = [ 'users' => [ @@ -449,10 +435,6 @@ class UsersControllerTest extends TestCase { $this->groupManager ->expects($this->exactly(2)) ->method('groupExists') - ->withConsecutive( - ['ExistingGroup'], - ['NonExistingGroup'] - ) ->willReturnMap([ ['ExistingGroup', true], ['NonExistingGroup', false] @@ -522,6 +504,7 @@ class UsersControllerTest extends TestCase { $this->knownUserService, $this->eventDispatcher, $this->phoneNumberUtil, + $this->appManager, ]) ->onlyMethods(['editUser']) ->getMock(); @@ -798,18 +781,20 @@ class UsersControllerTest extends TestCase { ->method('get') ->with('ExistingGroup') ->willReturn($group); + + $calls = [ + ['Successful addUser call with userid: NewUser', ['app' => 'ocs_api']], + ['Added userid NewUser to group ExistingGroup', ['app' => 'ocs_api']], + ]; $this->logger ->expects($this->exactly(2)) ->method('info') - ->withConsecutive( - ['Successful addUser call with userid: NewUser', ['app' => 'ocs_api']], - ['Added userid NewUser to group ExistingGroup', ['app' => 'ocs_api']] - ); + ->willReturnCallback(function () use (&$calls): void { + $expected = array_shift($calls); + $this->assertEquals($expected, func_get_args()); + }); - $this->assertTrue(key_exists( - 'id', - $this->api->addUser('NewUser', 'PasswordOfTheNewUser', '', '', ['ExistingGroup'])->getData() - )); + $this->assertArrayHasKey('id', $this->api->addUser('NewUser', 'PasswordOfTheNewUser', '', '', ['ExistingGroup'])->getData()); } @@ -828,7 +813,7 @@ class UsersControllerTest extends TestCase { ->expects($this->once()) ->method('createUser') ->with('NewUser', 'PasswordOfTheNewUser') - ->will($this->throwException($exception)); + ->willThrowException($exception); $this->logger ->expects($this->once()) ->method('error') @@ -966,11 +951,10 @@ class UsersControllerTest extends TestCase { $this->groupManager ->expects($this->exactly(2)) ->method('groupExists') - ->withConsecutive( - ['ExistingGroup1'], - ['ExistingGroup2'] - ) - ->willReturn(true); + ->willReturnMap([ + ['ExistingGroup1', true], + ['ExistingGroup2', true] + ]); $user = $this->getMockBuilder(IUser::class) ->disableOriginalConstructor() ->getMock(); @@ -996,24 +980,23 @@ class UsersControllerTest extends TestCase { $this->groupManager ->expects($this->exactly(4)) ->method('get') - ->withConsecutive( - ['ExistingGroup1'], - ['ExistingGroup2'], - ['ExistingGroup1'], - ['ExistingGroup2'] - ) ->willReturnMap([ ['ExistingGroup1', $existingGroup1], ['ExistingGroup2', $existingGroup2] ]); + + $calls = [ + ['Successful addUser call with userid: NewUser', ['app' => 'ocs_api']], + ['Added userid NewUser to group ExistingGroup1', ['app' => 'ocs_api']], + ['Added userid NewUser to group ExistingGroup2', ['app' => 'ocs_api']], + ]; $this->logger ->expects($this->exactly(3)) ->method('info') - ->withConsecutive( - ['Successful addUser call with userid: NewUser', ['app' => 'ocs_api']], - ['Added userid NewUser to group ExistingGroup1', ['app' => 'ocs_api']], - ['Added userid NewUser to group ExistingGroup2', ['app' => 'ocs_api']] - ); + ->willReturnCallback(function () use (&$calls): void { + $expected = array_shift($calls); + $this->assertEquals($expected, func_get_args()); + }); $subAdminManager = $this->getMockBuilder('OC\SubAdmin') ->disableOriginalConstructor()->getMock(); $this->groupManager @@ -1023,16 +1006,12 @@ class UsersControllerTest extends TestCase { $subAdminManager ->expects($this->exactly(2)) ->method('isSubAdminOfGroup') - ->withConsecutive( - [$loggedInUser, $existingGroup1], - [$loggedInUser, $existingGroup2] - ) - ->willReturn(true); + ->willReturnMap([ + [$loggedInUser, $existingGroup1, true], + [$loggedInUser, $existingGroup2, true], + ]); - $this->assertTrue(key_exists( - 'id', - $this->api->addUser('NewUser', 'PasswordOfTheNewUser', '', '', ['ExistingGroup1', 'ExistingGroup2'])->getData() - )); + $this->assertArrayHasKey('id', $this->api->addUser('NewUser', 'PasswordOfTheNewUser', '', '', ['ExistingGroup1', 'ExistingGroup2'])->getData()); } @@ -1541,7 +1520,7 @@ class UsersControllerTest extends TestCase { $this->assertEquals($expected, $this->invokePrivate($this->api, 'getUserData', ['UID'])); } - public function dataSearchByPhoneNumbers(): array { + public static function dataSearchByPhoneNumbers(): array { return [ 'Invalid country' => ['Not a country code', ['12345' => ['NaN']], 400, null, null, []], 'No number to search' => ['DE', ['12345' => ['NaN']], 200, null, null, []], @@ -1554,13 +1533,7 @@ class UsersControllerTest extends TestCase { ]; } - /** - * @dataProvider dataSearchByPhoneNumbers - * @param string $location - * @param array $search - * @param int $status - * @param array $expected - */ + #[\PHPUnit\Framework\Attributes\DataProvider('dataSearchByPhoneNumbers')] public function testSearchByPhoneNumbers(string $location, array $search, int $status, ?array $searchUsers, ?array $userMatches, array $expected): void { $knownTo = 'knownTo'; $user = $this->createMock(IUser::class); @@ -1870,7 +1843,7 @@ class UsersControllerTest extends TestCase { $this->api->editUser('UserToEdit', 'email', 'demo.org'); } - public function selfEditChangePropertyProvider() { + public static function selfEditChangePropertyProvider(): array { return [ [IAccountManager::PROPERTY_TWITTER, '@oldtwitter', '@newtwitter'], [IAccountManager::PROPERTY_FEDIVERSE, '@oldFediverse@floss.social', '@newFediverse@floss.social'], @@ -1886,9 +1859,7 @@ class UsersControllerTest extends TestCase { ]; } - /** - * @dataProvider selfEditChangePropertyProvider - */ + #[\PHPUnit\Framework\Attributes\DataProvider('selfEditChangePropertyProvider')] public function testEditUserRegularUserSelfEditChangeProperty($propertyName, $oldValue, $newValue): void { $loggedInUser = $this->getMockBuilder(IUser::class) ->disableOriginalConstructor() @@ -1964,9 +1935,7 @@ class UsersControllerTest extends TestCase { ]; } - /** - * @dataProvider selfEditChangePropertyProvider - */ + #[\PHPUnit\Framework\Attributes\DataProvider('selfEditChangePropertyProvider')] public function testEditUserRegularUserSelfEditChangePropertyScope($propertyName, $oldScope, $newScope): void { $loggedInUser = $this->getMockBuilder(IUser::class) ->disableOriginalConstructor() @@ -2294,16 +2263,14 @@ class UsersControllerTest extends TestCase { $this->assertEquals([], $this->api->editUser('UserToEdit', 'language', 'de')->getData()); } - public function dataEditUserSelfEditChangeLanguageButForced() { + public static function dataEditUserSelfEditChangeLanguageButForced(): array { return [ ['de'], [true], ]; } - /** - * @dataProvider dataEditUserSelfEditChangeLanguageButForced - */ + #[\PHPUnit\Framework\Attributes\DataProvider('dataEditUserSelfEditChangeLanguageButForced')] public function testEditUserSelfEditChangeLanguageButForced($forced): void { $this->expectException(OCSException::class); @@ -2397,9 +2364,7 @@ class UsersControllerTest extends TestCase { $this->assertEquals([], $this->api->editUser('UserToEdit', 'language', 'de')->getData()); } - /** - * @dataProvider dataEditUserSelfEditChangeLanguageButForced - */ + #[\PHPUnit\Framework\Attributes\DataProvider('dataEditUserSelfEditChangeLanguageButForced')] public function testEditUserAdminEditChangeLanguageInvalidLanguage(): void { $this->expectException(OCSException::class); @@ -3825,6 +3790,7 @@ class UsersControllerTest extends TestCase { $this->knownUserService, $this->eventDispatcher, $this->phoneNumberUtil, + $this->appManager, ]) ->onlyMethods(['getUserData']) ->getMock(); @@ -3916,6 +3882,7 @@ class UsersControllerTest extends TestCase { $this->knownUserService, $this->eventDispatcher, $this->phoneNumberUtil, + $this->appManager, ]) ->onlyMethods(['getUserData']) ->getMock(); @@ -3942,11 +3909,10 @@ class UsersControllerTest extends TestCase { $api->expects($this->exactly(2)) ->method('getUserData') - ->withConsecutive( - ['uid', false], - ['currentuser', true], - ) - ->willReturn($expected); + ->willReturnMap([ + ['uid', false, $expected], + ['currentuser', true, $expected], + ]); $this->assertSame($expected, $api->getUser('uid')->getData()); @@ -4263,7 +4229,7 @@ class UsersControllerTest extends TestCase { } - public function dataGetEditableFields() { + public static function dataGetEditableFields(): array { return [ [false, true, ISetDisplayNameBackend::class, [ IAccountManager::PROPERTY_EMAIL, @@ -4386,13 +4352,7 @@ class UsersControllerTest extends TestCase { ]; } - /** - * @dataProvider dataGetEditableFields - * - * @param bool $allowedToChangeDisplayName - * @param string $userBackend - * @param array $expected - */ + #[\PHPUnit\Framework\Attributes\DataProvider('dataGetEditableFields')] public function testGetEditableFields(bool $allowedToChangeDisplayName, bool $allowedToChangeEmail, string $userBackend, array $expected): void { $this->config->method('getSystemValue')->willReturnCallback(fn (string $key, mixed $default) => match ($key) { 'allow_user_to_change_display_name' => $allowedToChangeDisplayName, @@ -4427,7 +4387,7 @@ class UsersControllerTest extends TestCase { $account = $this->createMock(IAccount::class); $account->method('getProperty') - ->will($this->returnValueMap($mockedProperties)); + ->willReturnMap($mockedProperties); $this->accountManager->expects($this->any())->method('getAccount') ->with($targetUser) diff --git a/apps/provisioning_api/tests/Middleware/ProvisioningApiMiddlewareTest.php b/apps/provisioning_api/tests/Middleware/ProvisioningApiMiddlewareTest.php index d097febb04f..c027e518a3d 100644 --- a/apps/provisioning_api/tests/Middleware/ProvisioningApiMiddlewareTest.php +++ b/apps/provisioning_api/tests/Middleware/ProvisioningApiMiddlewareTest.php @@ -1,4 +1,5 @@ <?php + /** * SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors * SPDX-License-Identifier: AGPL-3.0-or-later @@ -24,34 +25,27 @@ class ProvisioningApiMiddlewareTest extends TestCase { $this->reflector = $this->createMock(IControllerMethodReflector::class); } - public function dataAnnotation() { + public static function dataAnnotation(): array { return [ [false, false, false, false, false], - [false, false, true, false, false], - [false, true, true, false, false], - [ true, false, false, false, true], - [ true, false, true, false, false], - [ true, true, false, false, false], - [ true, true, true, false, false], + [false, false, true, false, false], + [false, true, true, false, false], + [true, false, false, false, true], + [true, false, true, false, false], + [true, true, false, false, false], + [true, true, true, false, false], [false, false, false, true, false], - [false, false, true, true, false], - [false, true, true, true, false], - [ true, false, false, true, false], - [ true, false, true, true, false], - [ true, true, false, true, false], - [ true, true, true, true, false], + [false, false, true, true, false], + [false, true, true, true, false], + [true, false, false, true, false], + [true, false, true, true, false], + [true, true, false, true, false], + [true, true, true, true, false], ]; } - /** - * @dataProvider dataAnnotation - * - * @param bool $subadminRequired - * @param bool $isAdmin - * @param bool $isSubAdmin - * @param bool $shouldThrowException - */ - public function testBeforeController($subadminRequired, $isAdmin, $isSubAdmin, $hasSettingAuthorizationAnnotation, $shouldThrowException): void { + #[\PHPUnit\Framework\Attributes\DataProvider('dataAnnotation')] + public function testBeforeController(bool $subadminRequired, bool $isAdmin, bool $isSubAdmin, bool $hasSettingAuthorizationAnnotation, bool $shouldThrowException): void { $middleware = new ProvisioningApiMiddleware( $this->reflector, $isAdmin, @@ -80,20 +74,15 @@ class ProvisioningApiMiddlewareTest extends TestCase { } } - public function dataAfterException() { + public static function dataAfterException(): array { return [ [new NotSubAdminException(), false], [new \Exception('test', 42), true], ]; } - /** - * @dataProvider dataAfterException - * - * @param \Exception $e - * @param bool $forwared - */ - public function testAfterException(\Exception $exception, $forwared): void { + #[\PHPUnit\Framework\Attributes\DataProvider('dataAfterException')] + public function testAfterException(\Exception $exception, bool $forwared): void { $middleware = new ProvisioningApiMiddleware( $this->reflector, false, |