nextcloud-swarm-plugin/lib/Auth/License.php

48 lines
1.5 KiB
PHP
Raw Normal View History

<?php
/**
* @copyright Copyright (c) 2022, MetaProvide Holding EKF
* @author Ron Trevor <ecoron@proton.me>
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
namespace OCA\Files_External_Ethswarm\Auth;
use OCA\Files_External\Lib\Auth\AuthMechanism;
use OCA\Files_External\Lib\DefinitionParameter;
use OCP\IL10N;
/**
* Basic Http Authentication.
*/
class License extends AuthMechanism {
/** @const string */
pay-wall (#60) * add env for swarm access * check access * use storage config from external storage to set access key * Update README.md (#50) updated settings menu in readme * feat(intellisense): (#51) - update: remap the docker volume for main nextcloud to local project directory to access the nc code * add env for swarm access * feat(hooks): - add: entrypoint hooks volume - add: change-owner.sh script * feat(apache): - update: Dockerfile apache user and id - delete: hooks setup - add: .env setup - add: theme volume - update: turn off debugger at start * feat(.env): - add: .env example file * fix(docker): - add: theme volume * fix(docker): - revert: xdebug start config * backend options not persistant * access key works * feat(docker): - update: reduce the volumes to lib and apps * chore(env): - add: swarm api key in example * chore(env): - add: env file instructions - fix: typos * docs(readme): - fix: image path typo * merge(docker): - fix: revert the dev-env folder volumes * chore(main): - add: curl ext to project requirements * feat(util): curl - add: curl helper * feat(swarm): curl - update: request to use new Curl helper - update: check connection using new endpoint of gateway - update: type safety - refactor: remove unused methods * refactor(swarm): - refactor: upload and download methods - update: code style * feat(pay-wall): licence - add: License auth implementation - update: external storage definition - remove: nocodb access token setup - remove: basic auth setup * feat(swarm): - update: disable custom settings page * feat(gitignore): - update: categorize gitignore - add: DS_Store entry =) * refactor(gitignore): - update: url check using regex * fix(swarm): upload - update: remove extra param * fix(swarm): file preview - update: write file to memory to stream * feat(settings): add link - add: script to display link on settings page - update: load script on plugin boot --------- Co-authored-by: Henry Bergstrom <henrybergstrom@protonmail.com> Co-authored-by: rampall <rameshpallikara@gmail.com>
2024-08-12 14:50:32 +00:00
public const SCHEME_ACCESS_KEY = 'access_key';
public function __construct(IL10N $l) {
$this
pay-wall (#60) * add env for swarm access * check access * use storage config from external storage to set access key * Update README.md (#50) updated settings menu in readme * feat(intellisense): (#51) - update: remap the docker volume for main nextcloud to local project directory to access the nc code * add env for swarm access * feat(hooks): - add: entrypoint hooks volume - add: change-owner.sh script * feat(apache): - update: Dockerfile apache user and id - delete: hooks setup - add: .env setup - add: theme volume - update: turn off debugger at start * feat(.env): - add: .env example file * fix(docker): - add: theme volume * fix(docker): - revert: xdebug start config * backend options not persistant * access key works * feat(docker): - update: reduce the volumes to lib and apps * chore(env): - add: swarm api key in example * chore(env): - add: env file instructions - fix: typos * docs(readme): - fix: image path typo * merge(docker): - fix: revert the dev-env folder volumes * chore(main): - add: curl ext to project requirements * feat(util): curl - add: curl helper * feat(swarm): curl - update: request to use new Curl helper - update: check connection using new endpoint of gateway - update: type safety - refactor: remove unused methods * refactor(swarm): - refactor: upload and download methods - update: code style * feat(pay-wall): licence - add: License auth implementation - update: external storage definition - remove: nocodb access token setup - remove: basic auth setup * feat(swarm): - update: disable custom settings page * feat(gitignore): - update: categorize gitignore - add: DS_Store entry =) * refactor(gitignore): - update: url check using regex * fix(swarm): upload - update: remove extra param * fix(swarm): file preview - update: write file to memory to stream * feat(settings): add link - add: script to display link on settings page - update: load script on plugin boot --------- Co-authored-by: Henry Bergstrom <henrybergstrom@protonmail.com> Co-authored-by: rampall <rameshpallikara@gmail.com>
2024-08-12 14:50:32 +00:00
->setIdentifier('access:key')
->setScheme(self::SCHEME_ACCESS_KEY)
Release 20250307 (#114) * Improving github and NC app store documentation (#102) * fix(curl): upload SSL verification (#105) - remove: verify parameters to default to curl - add: only in dev env * feat(upload): add filename as meta param when uploading (#103) * Improve settings information (#104) * Improve settings information * feat(settings): add server host URL as default value * style(settings): remove extra wordings --------- Co-authored-by: Mahyar Iranibazaz <mahiarirani@pm.me> * Feature: secure API communication upgrade (#107) * feat(exception): throw separate exceptions * feat(api): separate token from api link - update: merge getLink into a single function - add: Dto for Links results - pass: token in authorization header - update: upload and download to use new api links - refactor: remove extra isVersion input * chore: fix code style --------- Co-authored-by: mahiarirani <10583381+mahiarirani@users.noreply.github.com> * bugfix: exception handling to ensure the response is handled correctly (#109) * bugfix: correct exception handling to ensure the response is handled correclty by calling test() function. - update: do not assume an array (json) response from the api. The response is not always json which cause the json_decode() to return null; - add: use StorageNotAvailableException to ensure a user-friendly error message to be displayed on the front.end; - update: return value can be a string * chore: fix code style * feat(api): check status - update: response based on status code - add: specific error for invalid code * chore: fix code style --------- Co-authored-by: Take one <rontrevor@hotmail.com> Co-authored-by: Mahyar Iranibazaz <mahiarirani@pm.me> Co-authored-by: mahiarirani <10583381+mahiarirani@users.noreply.github.com> * feat(docker): add install ocs api viewer app (#108) * bugfix/correct-install-docker-windows (#106) * - Correction to docker-compose for Windows installations. - Added README for known issues * Update README.md bugfix(correct-install-docker-windows): add supporting images * - add: formatting changes to README.md --------- Co-authored-by: Take one <rontrevor@hotmail.com> * Feature #1192 feedback form js (#111) * Adding Feedback form * Not working yet. Probably need to change strategy and send request to nc first * Feedback js working. Something might be improved: // TODO - Get API Url from beeswarmtrait or another place // TODO - Improve layout with css // TODO - Remove wiget when not is not in swarm folders * chore: fix code style * feat(env): upgrade get - update: return null if key is not found * feat(feedback): add api url - add: app const - add: env example * feat(curl): add post and get methods - update: swarm endpoints to use new methods * feat(feedback): update feedback request * refactor(curl): rename curl to request * feat(curl): add accept headers to getLink - refactor: use get for download instead of exec * style(feedback): improve feedback from ui * style(feedback): improve feedback from ui * feat(feedback): use custom exception * feat(feedback): add status code to exception * feat(feedback): return correct status code * feat(feedback): add feedback js as dependency - remove: manual added js file - add: npm package - update: the code usage --------- Co-authored-by: JoaoSRaposo <1598265+JoaoSRaposo@users.noreply.github.com> Co-authored-by: Mahyar Iranibazaz <mahiarirani@pm.me> * feat(curl): check url for protocol * bugfix(feedback): remove the removed script load * feat(toast): add nextcloud dialogs (#112) - add: library package - update: fileactions.js usage - update: swarm logo remove xml * Fix/#1085 adding moodle to the documentation (#100) * Adding moodle documentation * FIxing link formating error --------- Co-authored-by: JoaoSRaposo <joaosraposo@gmail.com> Co-authored-by: Mahyar Iranibazaz <mahiarirani@pm.me> Co-authored-by: mahiarirani <10583381+mahiarirani@users.noreply.github.com> Co-authored-by: retrevor <75954541+retrevor@users.noreply.github.com> Co-authored-by: Take one <rontrevor@hotmail.com> Co-authored-by: JoaoSRaposo <1598265+JoaoSRaposo@users.noreply.github.com>
2025-03-07 15:44:03 +00:00
->setText($l->t('Access Key'))
->addParameters([
(new DefinitionParameter(self::SCHEME_ACCESS_KEY, $l->t('Access Key')))
Release 20250307 (#114) * Improving github and NC app store documentation (#102) * fix(curl): upload SSL verification (#105) - remove: verify parameters to default to curl - add: only in dev env * feat(upload): add filename as meta param when uploading (#103) * Improve settings information (#104) * Improve settings information * feat(settings): add server host URL as default value * style(settings): remove extra wordings --------- Co-authored-by: Mahyar Iranibazaz <mahiarirani@pm.me> * Feature: secure API communication upgrade (#107) * feat(exception): throw separate exceptions * feat(api): separate token from api link - update: merge getLink into a single function - add: Dto for Links results - pass: token in authorization header - update: upload and download to use new api links - refactor: remove extra isVersion input * chore: fix code style --------- Co-authored-by: mahiarirani <10583381+mahiarirani@users.noreply.github.com> * bugfix: exception handling to ensure the response is handled correctly (#109) * bugfix: correct exception handling to ensure the response is handled correclty by calling test() function. - update: do not assume an array (json) response from the api. The response is not always json which cause the json_decode() to return null; - add: use StorageNotAvailableException to ensure a user-friendly error message to be displayed on the front.end; - update: return value can be a string * chore: fix code style * feat(api): check status - update: response based on status code - add: specific error for invalid code * chore: fix code style --------- Co-authored-by: Take one <rontrevor@hotmail.com> Co-authored-by: Mahyar Iranibazaz <mahiarirani@pm.me> Co-authored-by: mahiarirani <10583381+mahiarirani@users.noreply.github.com> * feat(docker): add install ocs api viewer app (#108) * bugfix/correct-install-docker-windows (#106) * - Correction to docker-compose for Windows installations. - Added README for known issues * Update README.md bugfix(correct-install-docker-windows): add supporting images * - add: formatting changes to README.md --------- Co-authored-by: Take one <rontrevor@hotmail.com> * Feature #1192 feedback form js (#111) * Adding Feedback form * Not working yet. Probably need to change strategy and send request to nc first * Feedback js working. Something might be improved: // TODO - Get API Url from beeswarmtrait or another place // TODO - Improve layout with css // TODO - Remove wiget when not is not in swarm folders * chore: fix code style * feat(env): upgrade get - update: return null if key is not found * feat(feedback): add api url - add: app const - add: env example * feat(curl): add post and get methods - update: swarm endpoints to use new methods * feat(feedback): update feedback request * refactor(curl): rename curl to request * feat(curl): add accept headers to getLink - refactor: use get for download instead of exec * style(feedback): improve feedback from ui * style(feedback): improve feedback from ui * feat(feedback): use custom exception * feat(feedback): add status code to exception * feat(feedback): return correct status code * feat(feedback): add feedback js as dependency - remove: manual added js file - add: npm package - update: the code usage --------- Co-authored-by: JoaoSRaposo <1598265+JoaoSRaposo@users.noreply.github.com> Co-authored-by: Mahyar Iranibazaz <mahiarirani@pm.me> * feat(curl): check url for protocol * bugfix(feedback): remove the removed script load * feat(toast): add nextcloud dialogs (#112) - add: library package - update: fileactions.js usage - update: swarm logo remove xml * Fix/#1085 adding moodle to the documentation (#100) * Adding moodle documentation * FIxing link formating error --------- Co-authored-by: JoaoSRaposo <joaosraposo@gmail.com> Co-authored-by: Mahyar Iranibazaz <mahiarirani@pm.me> Co-authored-by: mahiarirani <10583381+mahiarirani@users.noreply.github.com> Co-authored-by: retrevor <75954541+retrevor@users.noreply.github.com> Co-authored-by: Take one <rontrevor@hotmail.com> Co-authored-by: JoaoSRaposo <1598265+JoaoSRaposo@users.noreply.github.com>
2025-03-07 15:44:03 +00:00
->setTooltip($l->t('Access Key'))
->setType(DefinitionParameter::VALUE_PASSWORD),
])
;
}
}