Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Search query #1

Open
wants to merge 81 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
81 commits
Select commit Hold shift + click to select a range
7d57f46
Create composer file
epx-anpf Nov 19, 2021
2615b10
[TASK] Basic extension configuration
epx-anpf Nov 19, 2021
3733284
[FEATURE] Add user detail api
epx-anpf Nov 25, 2021
3a0ff14
[BUGFIX] User array does not work with json view
epx-anpf Dec 6, 2021
fbe1994
[TASK] Add content element for user update
epx-anpf Dec 17, 2021
227a7b1
[TASK] Mark folder as part of extension "account"
epx-anpf Dec 20, 2021
f9e964e
[TASK] Initialize user data structure
epx-anpf Dec 20, 2021
a01ec08
[TASK] Update dashboard widgets
epx-anpf Dec 21, 2021
5a6196e
[TASK] Fulfill update suggestions
epx-anpf Dec 22, 2021
88541b4
[TASK] Extend backend list view with account data via api
epx-anpf Dec 23, 2021
c5cca82
[TASK] Change layout at backend list for account
epx-anpf Dec 27, 2021
992967b
[TASK] Split user in separated objects depends on context
epx-anpf Dec 27, 2021
cdb6db4
[TASK] Simplify code
epx-anpf Dec 27, 2021
3a3643c
[TASK] Replace validate with sanitize
epx-anpf Dec 27, 2021
a83524e
[TASK] Add user dashboard api
epx-anpf Dec 28, 2021
2643c9e
[BUGFIX] Change namespace
epx-anpf Dec 28, 2021
0af3463
[TASK] Handle dashboard widgets like array
epx-anpf Dec 28, 2021
7ec92ca
[TASK] Fix empty dashboard widget array
epx-anpf Dec 29, 2021
59cecfb
[TASK] Add search query
epx-anpf Jan 14, 2022
641ac07
[TASK] Refactor code; Add number of results; Reorganize user profile
epx-anpf Jan 17, 2022
3390af4
[TASK] Optimize code quality
epx-anpf Jan 17, 2022
522198a
[TASK] Optimize code; Make even with dashboard
epx-anpf Jan 17, 2022
241d8d1
[TASK] Add description to search request
epx-anpf Jan 20, 2022
2cdb867
[FEATURE] Add api for user detail search query
epx-anpf Jan 21, 2022
b908ceb
[FEATURE] Add api to delete search queries
epx-anpf Jan 26, 2022
48afcd2
[BUGFIX] Resolve database compare
epx-anpf Jan 28, 2022
6587167
[FEATURE] Add caching to account data
epx-anpf Feb 16, 2022
09afeb4
[TASK] Add parameter declaration
epx-anpf Mar 1, 2022
0effbf1
[TASk] Remove unnecessary statement
epx-anpf Mar 2, 2022
797dd9a
[TASK] Change api url
epx-anpf Jun 10, 2022
a42f049
[TASK] Add header data to get full account data
epx-anpf Jun 10, 2022
1b25907
[FEATURE] User update profile
epx-anpf Jun 15, 2022
88b103b
[TASK] Specify sanitization and validation
epx-anpf Jun 15, 2022
8464f14
[TASK] Add status message when no data given
epx-anpf Jun 15, 2022
98b2310
[TASK] Add postman collection for account api
epx-anpf Jun 15, 2022
fe52f63
[TASK] First name and last name have to be excluded from updates
epx-anpf Jun 15, 2022
a75f290
[TASK] Refresh postman collection
epx-anpf Jun 15, 2022
1a6fd8e
[TASK] Add language support; Set "all" languages as default
epx-anpf Jun 21, 2022
41beca4
[TASK] Additional user data - x_category_description
epx-anpf Jun 22, 2022
f0bdd0f
[TASK] Refresh api documentation
epx-anpf Jun 22, 2022
bae30be
[TASK] Refresh postman
epx-anpf Jun 27, 2022
255ac96
[BUGFIX] Postman has a wrong url set for get user data
epx-anpf Aug 8, 2022
44372c0
[FEATURE] Password api
epx-anpf Jun 28, 2022
6e1fbf3
[POSTMAN] Add page for update password
epx-anpf Jun 28, 2022
e96270f
[TASK] Code clean up
epx-anpf Jul 4, 2022
eb3445a
[TASK] Add required fields for account
epx-anpf Sep 22, 2022
d006241
[POSTMAN] Refresh config file
epx-anpf Sep 22, 2022
e25ddc6
[FEATURE] Add pin api
epx-anpf Sep 26, 2022
719bcf9
[TASK] Improve code quality
epx-anpf Sep 27, 2022
6979b0e
[POSTMAN] Add loan history
epx-anpf Sep 27, 2022
2177940
[FEATURE] Api for loan history
epx-anpf Sep 28, 2022
1e0c3af
[TASK] Change order of loan history (latest to old)
epx-anpf Sep 28, 2022
2da3c73
[DOCUMENTATION] Add missing apis and general information
epx-anpf Sep 29, 2022
fedf4c3
[TASK] Set sorting via api
epx-anpf Sep 30, 2022
3cd0ea2
[TASK] Add pagination to load history
epx-anpf Oct 11, 2022
9668267
[TASK] Refactor loan history
epx-anpf Oct 11, 2022
29a0c30
[TASK] Add documentation for pagination
epx-anpf Oct 11, 2022
4ea27ed
[POSTMAN] Change loan history and add loan current
epx-anpf Oct 14, 2022
8103a8a
[TASK] Add loan current
epx-anpf Oct 14, 2022
83e6f54
[TASK] Document typoscript loan current
epx-anpf Oct 14, 2022
66d9913
[FEATURE] Add api for reserve current and reserve history
epx-anpf Oct 20, 2022
de88ae1
[POSTMAN] Add api for reserve current and reserve history
epx-anpf Oct 20, 2022
7bc4a6e
[POSTMAN] Refresh api for reserve current and reserve history
epx-anpf Oct 21, 2022
610458e
[TASK] Change API-Paths and methode type to change pin
epx-anpf Nov 4, 2022
39267b8
[TASK] Code quality
epx-anpf Nov 4, 2022
a77a783
[TASK] Change api to change password
epx-anpf Nov 4, 2022
18fbe51
[POSTMAN] Change properties for password update api
epx-anpf Nov 15, 2022
561d596
[TASK] Add password validation when update password
epx-anpf Nov 15, 2022
89e2763
[POSTMAN] Add load renewal api
epx-anpf Nov 16, 2022
fcd8d25
[TASK] Add load renewal api
epx-anpf Nov 16, 2022
7b01cb3
[TASK] Improve code quality
epx-anpf Nov 17, 2022
5c18d43
[POSTMAN] Add api to delete reservation
epx-anpf Nov 23, 2022
0af0873
[TASK] Add api to delete reservation
epx-anpf Nov 23, 2022
7f7c210
[TASK] Do not overwrite other custom render types
epx-anpf Feb 1, 2023
737cd0d
[TASK] Hide overview columns from "show column" collector
epx-anpf Apr 26, 2023
c0ee672
[TASK] Add download api
epx-anpf Jan 5, 2024
5a94bb6
[TASK] Add data download api
epx-anpf Apr 8, 2024
eccbe26
[TASK] Refresh api collection
epx-anpf Apr 23, 2024
0394143
[TASK] Add reserve hold api
epx-anpf Apr 25, 2024
4bebb71
[TASK] Update api documentation
epx-anpf May 3, 2024
368f21a
[TASK] Remove versioning from documentation
epx-anpf Dec 18, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 56 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
# EditorConfig is awesome: http://EditorConfig.org

# top-most EditorConfig file
root = true

# Unix-style newlines with a newline ending every file
[*]
charset = utf-8
end_of_line = lf
indent_style = space
indent_size = 4
insert_final_newline = true
trim_trailing_whitespace = true

# TS/JS-Files
[*.{ts,js}]
indent_size = 2

# JSON-Files
[*.json]
indent_style = tab

# ReST-Files
[*.rst]
indent_size = 4
max_line_length = 80

# YAML-Files
[*.{yaml,yml}]
indent_size = 2

# NEON-Files
[*.neon]
indent_size = 2
indent_style = tab

# package.json
[package.json]
indent_size = 2

# TypoScript
[*.{typoscript,tsconfig}]
indent_size = 2

# XLF-Files
[*.xlf]
indent_style = tab

# SQL-Files
[*.sql]
indent_style = tab
indent_size = 2

# .htaccess
[{_.htaccess,.htaccess}]
indent_style = tab
75 changes: 75 additions & 0 deletions Classes/Controller/UserAccountController.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
<?php

declare(strict_types=1);

/*
* This file is part of the package slub/slub-profile-account
*
* For the full copyright and license information, please read the
* LICENSE file that was distributed with this source code.
*/

namespace Slub\SlubProfileAccount\Controller;

use Exception;
use Psr\Http\Message\ResponseInterface;
use Slub\SlubProfileAccount\Domain\Model\User\Account as User;
use Slub\SlubProfileAccount\Mvc\View\JsonView;
use Slub\SlubProfileAccount\Service\UserAccountService as UserService;
use TYPO3\CMS\Extbase\Mvc\Controller\ActionController;
use TYPO3\CMS\Extbase\Persistence\Exception\IllegalObjectTypeException;

class UserAccountController extends ActionController
{
protected $view;
protected $defaultViewObjectName = JsonView::class;
protected ?User $user;
protected UserService $userService;

/**
* @param UserService $userService
*/
public function __construct(UserService $userService)
{
$this->userService = $userService;
}

/**
* @return ResponseInterface
*/
public function detailAction(): ResponseInterface
{
$this->view->setVariablesToRender(['userAccountDetail']);
$this->view->assign('userAccountDetail', $this->user);

return $this->jsonResponse();
}

/**
* @return ResponseInterface
* @throws \JsonException
*/
public function updateAction(): ResponseInterface
{
$status = $this->userService->updateUser($this->user);

$this->view->setVariablesToRender(['status']);
$this->view->assign('status', $status);

return $this->jsonResponse();
}

/**
* @throws Exception
*/
protected function initializeAction(): void
{
try {
$this->user = $this->userService->getUser(
$this->request->getArguments()
);
} catch (IllegalObjectTypeException $e) {
throw new Exception($e->getMessage());
}
}
}
78 changes: 78 additions & 0 deletions Classes/Controller/UserDashboardController.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
<?php

declare(strict_types=1);

/*
* This file is part of the package slub/slub-profile-account
*
* For the full copyright and license information, please read the
* LICENSE file that was distributed with this source code.
*/

namespace Slub\SlubProfileAccount\Controller;

use Exception;
use Psr\Http\Message\ResponseInterface;
use Slub\SlubProfileAccount\Domain\Model\User\Dashboard as User;
use Slub\SlubProfileAccount\Mvc\View\JsonView;
use Slub\SlubProfileAccount\Service\UserDashboardService as UserService;
use Slub\SlubProfileAccount\Utility\ApiUtility;
use TYPO3\CMS\Extbase\Mvc\Controller\ActionController;
use TYPO3\CMS\Extbase\Persistence\Exception\IllegalObjectTypeException;
use TYPO3\CMS\Extbase\Persistence\Exception\UnknownObjectException;

class UserDashboardController extends ActionController
{
protected $view;
protected $defaultViewObjectName = JsonView::class;
protected ?User $user;
protected UserService $userService;

/**
* @param UserService $userService
*/
public function __construct(UserService $userService)
{
$this->userService = $userService;
}

/**
* @return ResponseInterface
*/
public function detailAction(): ResponseInterface
{
$this->view->setVariablesToRender(['userDashboardDetail']);
$this->view->assign('userDashboardDetail', $this->user);

return $this->jsonResponse();
}

/**
* @return ResponseInterface
* @throws UnknownObjectException|\JsonException
* @throws IllegalObjectTypeException
*/
public function updateAction(): ResponseInterface
{
$this->userService->updateUser($this->user);

$this->view->setVariablesToRender(['status']);
$this->view->assign('status', ApiUtility::STATUS[200]);

return $this->jsonResponse();
}

/**
* @throws Exception
*/
protected function initializeAction(): void
{
try {
$this->user = $this->userService->getUser(
$this->request->getArguments()
);
} catch (IllegalObjectTypeException $e) {
throw new Exception($e->getMessage());
}
}
}
50 changes: 50 additions & 0 deletions Classes/Controller/UserDataController.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
<?php

declare(strict_types=1);

/*
* This file is part of the package slub/slub-profile-account
*
* For the full copyright and license information, please read the
* LICENSE file that was distributed with this source code.
*/

namespace Slub\SlubProfileAccount\Controller;

use Psr\Http\Message\ResponseInterface;
use Slub\SlubProfileAccount\Domain\Model\User\Account as User;
use Slub\SlubProfileAccount\Mvc\View\JsonView;
use Slub\SlubProfileAccount\Service\UserDataService as UserService;
use TYPO3\CMS\Extbase\Mvc\Controller\ActionController;

class UserDataController extends ActionController
{
protected $view;
protected $defaultViewObjectName = JsonView::class;
protected ?User $user;
protected UserService $userService;

/**
* @param UserService $userService
*/
public function __construct(UserService $userService)
{
$this->userService = $userService;
}

/**
* @return ResponseInterface
* @throws \JsonException
*/
public function downloadAction(): ResponseInterface
{
$dataDownload = $this->userService->getDownload(
$this->request->getArguments()
);

$this->view->setVariablesToRender(['userDataDownload']);
$this->view->assign('userDataDownload', $dataDownload);

return $this->jsonResponse();
}
}
81 changes: 81 additions & 0 deletions Classes/Controller/UserLoanController.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
<?php

declare(strict_types=1);

/*
* This file is part of the package slub/slub-profile-account
*
* For the full copyright and license information, please read the
* LICENSE file that was distributed with this source code.
*/

namespace Slub\SlubProfileAccount\Controller;

use JsonException;
use Psr\Http\Message\ResponseInterface;
use Slub\SlubProfileAccount\Mvc\View\JsonView;
use Slub\SlubProfileAccount\Service\UserLoanService as UserService;
use TYPO3\CMS\Extbase\Mvc\Controller\ActionController;

class UserLoanController extends ActionController
{
protected $view;
protected $defaultViewObjectName = JsonView::class;
protected UserService $userService;

/**
* @param UserService $userService
*/
public function __construct(UserService $userService)
{
$this->userService = $userService;
}

/**
* @return ResponseInterface
* @throws JsonException
*/
public function currentAction(): ResponseInterface
{
$loanCurrent = $this->userService->getCurrent(
$this->request->getArguments()
);

$this->view->setVariablesToRender(['userLoanCurrent']);
$this->view->assign('userLoanCurrent', $loanCurrent);

return $this->jsonResponse();
}

/**
* @return ResponseInterface
* @throws JsonException
*/
public function historyAction(): ResponseInterface
{
$loanHistory = $this->userService->getHistory(
$this->request->getArguments()
);

$this->view->setVariablesToRender(['userLoanHistory']);
$this->view->assign('userLoanHistory', $loanHistory);

return $this->jsonResponse();
}

/**
* @return ResponseInterface
* @throws JsonException
*/
public function renewalAction(): ResponseInterface
{
$status = $this->userService->getRenewal(
$this->request->getArguments()
);

$this->view->setVariablesToRender(['status']);
$this->view->assign('status', $status);

return $this->jsonResponse();
}
}
Loading