Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
D
Doorcode
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
5
Issues
5
List
Boards
Labels
Service Desk
Milestones
Merge Requests
2
Merge Requests
2
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Packages & Registries
Packages & Registries
Package Registry
Container Registry
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Guardians of the Kretschmar Elock System
Doorcode
Commits
37c4fc03
Commit
37c4fc03
authored
Jul 09, 2020
by
Jacob Priddy
👌
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Arrow functoins are cool... Also door access requests use cases
parent
27db1ee0
Changes
61
Hide whitespace changes
Inline
Side-by-side
Showing
61 changed files
with
794 additions
and
200 deletions
+794
-200
src/backend/app/Request.php
src/backend/app/Request.php
+1
-1
src/backend/config/app.php
src/backend/config/app.php
+6
-0
src/backend/src/Entities/Request.php
src/backend/src/Entities/Request.php
+18
-2
src/backend/src/Gateways/Requests/DatabaseRequestsRepository.php
...kend/src/Gateways/Requests/DatabaseRequestsRepository.php
+19
-5
src/backend/src/Gateways/Requests/InMemoryRequestsRepository.php
...kend/src/Gateways/Requests/InMemoryRequestsRepository.php
+2
-2
src/backend/src/Gateways/Requests/RequestsRepository.php
src/backend/src/Gateways/Requests/RequestsRepository.php
+5
-3
src/backend/src/UseCases/Admin/Statistics/WebPresenter.php
src/backend/src/UseCases/Admin/Statistics/WebPresenter.php
+2
-3
src/backend/src/UseCases/Attempts/APIPresenter.php
src/backend/src/UseCases/Attempts/APIPresenter.php
+1
-3
src/backend/src/UseCases/BasePresenter.php
src/backend/src/UseCases/BasePresenter.php
+31
-31
src/backend/src/UseCases/Door/ScheduleEvents/EventsPresenter.php
...kend/src/UseCases/Door/ScheduleEvents/EventsPresenter.php
+5
-5
src/backend/src/UseCases/Door/ScheduleEvents/JsonPresenter.php
...ackend/src/UseCases/Door/ScheduleEvents/JsonPresenter.php
+3
-3
src/backend/src/UseCases/DoorGroup/GetGroupDoors/APIPresenter.php
...end/src/UseCases/DoorGroup/GetGroupDoors/APIPresenter.php
+1
-3
src/backend/src/UseCases/DoorUser/UserDoorAccess/MePresenter.php
...kend/src/UseCases/DoorUser/UserDoorAccess/MePresenter.php
+3
-3
src/backend/src/UseCases/DoorUser/UserDoorAccess/PrivilegedApiPresenter.php
...eCases/DoorUser/UserDoorAccess/PrivilegedApiPresenter.php
+3
-9
src/backend/src/UseCases/Doors/CreateDoor/APIPresenter.php
src/backend/src/UseCases/Doors/CreateDoor/APIPresenter.php
+1
-1
src/backend/src/UseCases/Doors/GetDoor/APIPresenter.php
src/backend/src/UseCases/Doors/GetDoor/APIPresenter.php
+1
-1
src/backend/src/UseCases/Doors/UpdateDoor/APIPresenter.php
src/backend/src/UseCases/Doors/UpdateDoor/APIPresenter.php
+1
-1
src/backend/src/UseCases/Entries/APIPresenter.php
src/backend/src/UseCases/Entries/APIPresenter.php
+1
-3
src/backend/src/UseCases/GroupUser/GetGroupUsers/APIPresenter.php
...end/src/UseCases/GroupUser/GetGroupUsers/APIPresenter.php
+1
-3
src/backend/src/UseCases/Groups/CreateGroup/APIPresenter.php
src/backend/src/UseCases/Groups/CreateGroup/APIPresenter.php
+1
-1
src/backend/src/UseCases/Groups/GetGroup/APIPresenter.php
src/backend/src/UseCases/Groups/GetGroup/APIPresenter.php
+1
-1
src/backend/src/UseCases/Groups/GetGroups/APIPresenter.php
src/backend/src/UseCases/Groups/GetGroups/APIPresenter.php
+1
-3
src/backend/src/UseCases/Groups/UpdateGroup/APIPresenter.php
src/backend/src/UseCases/Groups/UpdateGroup/APIPresenter.php
+1
-1
src/backend/src/UseCases/Groups/UpdateGroup/ResponseModel.php
...backend/src/UseCases/Groups/UpdateGroup/ResponseModel.php
+2
-28
src/backend/src/UseCases/HasErrors.php
src/backend/src/UseCases/HasErrors.php
+57
-0
src/backend/src/UseCases/Overrides/ApiPresenter.php
src/backend/src/UseCases/Overrides/ApiPresenter.php
+1
-3
src/backend/src/UseCases/Overrides/OverrideCreate/ApiPresenter.php
...nd/src/UseCases/Overrides/OverrideCreate/ApiPresenter.php
+1
-1
src/backend/src/UseCases/Overrides/OverrideCreate/ResponseModel.php
...d/src/UseCases/Overrides/OverrideCreate/ResponseModel.php
+2
-28
src/backend/src/UseCases/Requests/ApiPresenter.php
src/backend/src/UseCases/Requests/ApiPresenter.php
+44
-0
src/backend/src/UseCases/Requests/CreateRequest/CreateRequest.php
...end/src/UseCases/Requests/CreateRequest/CreateRequest.php
+45
-0
src/backend/src/UseCases/Requests/CreateRequest/CreateRequestUseCase.php
.../UseCases/Requests/CreateRequest/CreateRequestUseCase.php
+20
-0
src/backend/src/UseCases/Requests/CreateRequest/CreateRequestUseCaseServiceProvider.php
...sts/CreateRequest/CreateRequestUseCaseServiceProvider.php
+35
-0
src/backend/src/UseCases/Requests/GetRequest/GetRequest.php
src/backend/src/UseCases/Requests/GetRequest/GetRequest.php
+35
-0
src/backend/src/UseCases/Requests/GetRequest/GetRequestUseCase.php
...nd/src/UseCases/Requests/GetRequest/GetRequestUseCase.php
+18
-0
src/backend/src/UseCases/Requests/GetRequest/GetRequestUseCaseServiceProvider.php
.../Requests/GetRequest/GetRequestUseCaseServiceProvider.php
+35
-0
src/backend/src/UseCases/Requests/GetRequests/ApiPresenter.php
...ackend/src/UseCases/Requests/GetRequests/ApiPresenter.php
+34
-0
src/backend/src/UseCases/Requests/GetRequests/GetRequests.php
...backend/src/UseCases/Requests/GetRequests/GetRequests.php
+39
-0
src/backend/src/UseCases/Requests/GetRequests/GetRequestsUseCase.php
.../src/UseCases/Requests/GetRequests/GetRequestsUseCase.php
+20
-0
src/backend/src/UseCases/Requests/GetRequests/GetRequestsUseCaseServiceProvider.php
...equests/GetRequests/GetRequestsUseCaseServiceProvider.php
+35
-0
src/backend/src/UseCases/Requests/GetRequests/Presenter.php
src/backend/src/UseCases/Requests/GetRequests/Presenter.php
+17
-0
src/backend/src/UseCases/Requests/GetRequests/ResponseModel.php
...ckend/src/UseCases/Requests/GetRequests/ResponseModel.php
+29
-0
src/backend/src/UseCases/Requests/InteractWithRequest/InteractWithRequest.php
...ases/Requests/InteractWithRequest/InteractWithRequest.php
+75
-0
src/backend/src/UseCases/Requests/InteractWithRequest/InteractWithRequestUseCase.php
...quests/InteractWithRequest/InteractWithRequestUseCase.php
+41
-0
src/backend/src/UseCases/Requests/InteractWithRequest/InteractWithRequestUseCaseServiceProvider.php
...WithRequest/InteractWithRequestUseCaseServiceProvider.php
+35
-0
src/backend/src/UseCases/Requests/Presenter.php
src/backend/src/UseCases/Requests/Presenter.php
+16
-0
src/backend/src/UseCases/Requests/ResponseModel.php
src/backend/src/UseCases/Requests/ResponseModel.php
+29
-0
src/backend/src/UseCases/Schedules/APIPresenter.php
src/backend/src/UseCases/Schedules/APIPresenter.php
+1
-1
src/backend/src/UseCases/Schedules/SchedulesGet/APIPresenter.php
...kend/src/UseCases/Schedules/SchedulesGet/APIPresenter.php
+1
-3
src/backend/src/UseCases/Tokens/CreateToken/APIPresenter.php
src/backend/src/UseCases/Tokens/CreateToken/APIPresenter.php
+1
-1
src/backend/src/UseCases/Tokens/GetToken/APIPresenter.php
src/backend/src/UseCases/Tokens/GetToken/APIPresenter.php
+1
-1
src/backend/src/UseCases/Tokens/GetTokens/APIPresenter.php
src/backend/src/UseCases/Tokens/GetTokens/APIPresenter.php
+1
-3
src/backend/src/UseCases/Tokens/GetTokens/WebPresenter.php
src/backend/src/UseCases/Tokens/GetTokens/WebPresenter.php
+2
-2
src/backend/src/UseCases/Tokens/UpdateToken/APIPresenter.php
src/backend/src/UseCases/Tokens/UpdateToken/APIPresenter.php
+1
-1
src/backend/src/UseCases/Users/Authenticate/APIPresenter.php
src/backend/src/UseCases/Users/Authenticate/APIPresenter.php
+2
-2
src/backend/src/UseCases/Users/Authenticate/WebPresenter.php
src/backend/src/UseCases/Users/Authenticate/WebPresenter.php
+1
-1
src/backend/src/UseCases/Users/CreateUser/APIPresenter.php
src/backend/src/UseCases/Users/CreateUser/APIPresenter.php
+1
-1
src/backend/src/UseCases/Users/GetUser/APIPresenter.php
src/backend/src/UseCases/Users/GetUser/APIPresenter.php
+1
-1
src/backend/src/UseCases/Users/GetUser/WebPresenter.php
src/backend/src/UseCases/Users/GetUser/WebPresenter.php
+3
-3
src/backend/src/UseCases/Users/GetUsers/APIPresenter.php
src/backend/src/UseCases/Users/GetUsers/APIPresenter.php
+1
-3
src/backend/src/UseCases/Users/UpdateUser/APIPresenter.php
src/backend/src/UseCases/Users/UpdateUser/APIPresenter.php
+1
-1
src/backend/src/UseCases/Users/UpdateUser/ResponseModel.php
src/backend/src/UseCases/Users/UpdateUser/ResponseModel.php
+2
-28
No files found.
src/backend/app/Request.php
View file @
37c4fc03
...
...
@@ -7,7 +7,7 @@ use Illuminate\Database\Eloquent\Relations\BelongsTo;
class
Request
extends
Model
{
protected
$fillable
=
[
'title'
,
'request'
,
'reply'
,
'
accept
ed'
,
'user_id'
];
protected
$fillable
=
[
'title'
,
'request'
,
'reply'
,
'
resolv
ed'
,
'user_id'
];
/**
* @return \Illuminate\Database\Eloquent\Relations\BelongsTo
...
...
src/backend/config/app.php
View file @
37c4fc03
...
...
@@ -286,6 +286,12 @@ return [
// Statistics
Source\UseCases\Admin\Statistics\StatisticsUseCaseServiceProvider
::
class
,
// Requests
Source\UseCases\Requests\GetRequest\GetRequestUseCaseServiceProvider
::
class
,
Source\UseCases\Requests\GetRequests\GetRequestsUseCaseServiceProvider
::
class
,
Source\UseCases\Requests\CreateRequest\CreateRequestUseCaseServiceProvider
::
class
,
Source\UseCases\Requests\InteractWithRequest\InteractWithRequestUseCaseServiceProvider
::
class
,
],
/*
...
...
src/backend/src/Entities/Request.php
View file @
37c4fc03
...
...
@@ -35,7 +35,7 @@ class Request
string
$title
,
int
$userId
,
string
$request
,
bool
$
accept
ed
=
false
,
bool
$
resolv
ed
=
false
,
?string
$reply
=
null
,
?Carbon
$createdAt
=
null
,
?Carbon
$updatedAt
=
null
...
...
@@ -46,7 +46,7 @@ class Request
$this
->
userId
=
$userId
;
$this
->
request
=
$request
;
$this
->
reply
=
$reply
;
$this
->
resolved
=
$
accept
ed
;
$this
->
resolved
=
$
resolv
ed
;
$this
->
createdAt
=
$createdAt
;
$this
->
updatedAt
=
$updatedAt
;
}
...
...
@@ -156,4 +156,20 @@ class Request
{
return
(
bool
)
$this
->
reply
;
}
/**
* @param string $reply
*/
public
function
setReply
(
string
$reply
):
void
{
$this
->
reply
=
$reply
;
}
/**
* @param bool $resolved
*/
public
function
setResolved
(
bool
$resolved
):
void
{
$this
->
resolved
=
$resolved
;
}
}
src/backend/src/Gateways/Requests/DatabaseRequestsRepository.php
View file @
37c4fc03
...
...
@@ -5,6 +5,9 @@ namespace Source\Gateways\Requests;
use
Source\Entities\Request
;
use
Source\Sanitize\CastsTo
;
use
Illuminate\Support\Facades\Log
;
use
Source\Gateways\PostgresSQLCodes
;
use
Illuminate\Database\QueryException
;
use
Illuminate\Database\Eloquent\Builder
;
use
Source\Exceptions\EntityNotFoundException
;
...
...
@@ -15,16 +18,27 @@ class DatabaseRequestsRepository implements RequestsRepository
/**
* @param \App\Request $dbRequest
* @param \Source\Entities\Request $request
* @throws \Source\Exceptions\EntityNotFoundException
*/
protected
static
function
saveRequest
(
\
App\Request
$dbRequest
,
Request
$request
)
:
void
{
$dbRequest
->
setAttribute
(
'title'
,
$request
->
getTitle
());
$dbRequest
->
setAttribute
(
'request'
,
$request
->
getRequest
());
$dbRequest
->
setAttribute
(
'reply'
,
$request
->
getReply
());
$dbRequest
->
setAttribute
(
'
accept
ed'
,
$request
->
isResolved
());
$dbRequest
->
setAttribute
(
'
resolv
ed'
,
$request
->
isResolved
());
$dbRequest
->
setAttribute
(
'user_id'
,
$request
->
getUserId
());
$dbRequest
->
save
();
try
{
$dbRequest
->
save
();
}
catch
(
QueryException
$e
)
{
if
(
$e
->
getCode
()
===
PostgresSQLCodes
::
FOREIGN_KEY_VIOLATION
)
{
throw
new
EntityNotFoundException
(
'The user does not exist.'
);
}
Log
::
error
(
'Failed saving door request: '
.
$e
);
throw
$e
;
}
}
/**
...
...
@@ -39,7 +53,7 @@ class DatabaseRequestsRepository implements RequestsRepository
$request
->
getAttribute
(
'user_id'
),
$request
->
getAttribute
(
'request'
),
$request
->
getAttribute
(
'reply'
),
$request
->
getAttribute
(
'
accept
ed'
),
$request
->
getAttribute
(
'
resolv
ed'
),
$request
->
getAttribute
(
'created_at'
),
$request
->
getAttribute
(
'updated_at'
)
);
...
...
@@ -75,13 +89,13 @@ class DatabaseRequestsRepository implements RequestsRepository
/**
* @inheritDoc
*/
public
function
get
(
string
$requestId
):
?
Request
public
function
get
(
string
$requestId
):
Request
{
/** @var \App\Request|null $request */
$request
=
\
App\Request
::
query
()
->
find
(
self
::
castToInt
(
$requestId
));
if
(
!
$request
)
{
return
null
;
throw
new
EntityNotFoundException
(
'Request does not exist.'
)
;
}
return
self
::
makeRequestFromDb
(
$request
);
...
...
src/backend/src/Gateways/Requests/InMemoryRequestsRepository.php
View file @
37c4fc03
...
...
@@ -33,7 +33,7 @@ class InMemoryRequestsRepository implements RequestsRepository
/**
* @inheritDoc
*/
public
function
get
(
string
$requestId
):
?
Request
public
function
get
(
string
$requestId
):
Request
{
foreach
(
$this
->
requests
as
$request
)
{
if
(
$request
->
hasIdOf
(
$requestId
))
{
...
...
@@ -41,7 +41,7 @@ class InMemoryRequestsRepository implements RequestsRepository
}
}
return
null
;
throw
new
EntityNotFoundException
(
'Request does not exist.'
)
;
}
/**
...
...
src/backend/src/Gateways/Requests/RequestsRepository.php
View file @
37c4fc03
...
...
@@ -12,7 +12,7 @@ interface RequestsRepository
*
* @param \Source\Entities\Request $request
* @return \Source\Entities\Request
* @throws \Source\Exceptions\Entity
Exists
Exception
* @throws \Source\Exceptions\Entity
NotFound
Exception
*/
public
function
create
(
Request
$request
):
Request
;
...
...
@@ -27,9 +27,10 @@ interface RequestsRepository
* Get a specific request
*
* @param string $requestId
* @return \Source\Entities\Request|null
* @return \Source\Entities\Request
* @throws \Source\Exceptions\EntityNotFoundException
*/
public
function
get
(
string
$requestId
):
?
Request
;
public
function
get
(
string
$requestId
):
Request
;
/**
* @param string|null $query
...
...
@@ -47,6 +48,7 @@ interface RequestsRepository
* @param \Source\Entities\Request $request
* @return \Source\Entities\Request
* @throws \Source\Exceptions\EntityNotFoundException
* @throws \Source\Exceptions\EntityNotFoundException
*/
public
function
update
(
string
$requestId
,
Request
$request
):
Request
;
}
src/backend/src/UseCases/Admin/Statistics/WebPresenter.php
View file @
37c4fc03
...
...
@@ -3,7 +3,6 @@
namespace
Source\UseCases\Admin\Statistics
;
use
JsonException
;
use
Source\Sanitize\CastsTo
;
use
Source\UseCases\BasePresenter
;
use
Source\Entities\DoorFailureRate
;
...
...
@@ -51,8 +50,8 @@ class WebPresenter extends BasePresenter implements Presenter
}
try
{
$this
->
viewModel
[
'entries'
][
'labels'
]
=
json_encode
(
array_map
(
fn
(
array
$entry
)
=>
$this
->
formatDateTime
(
$entry
[
0
],
self
::
HUMAN_DAY_FORMAT
),
$responseModel
->
getEntryCounts
()),
JSON_THROW_ON_ERROR
);
$this
->
viewModel
[
'entries'
][
'counts'
]
=
json_encode
(
array_map
(
fn
(
array
$entry
)
=>
$entry
[
1
],
$responseModel
->
getEntryCounts
()),
JSON_THROW_ON_ERROR
);
$this
->
viewModel
[
'entries'
][
'labels'
]
=
json_encode
(
array_map
(
fn
(
array
$entry
)
=>
self
::
formatDateTime
(
$entry
[
0
],
self
::
HUMAN_DAY_FORMAT
),
$responseModel
->
getEntryCounts
()),
JSON_THROW_ON_ERROR
);
$this
->
viewModel
[
'entries'
][
'counts'
]
=
json_encode
(
array_map
(
fn
(
array
$entry
)
=>
$entry
[
1
],
$responseModel
->
getEntryCounts
()),
JSON_THROW_ON_ERROR
);
}
catch
(
JsonException
$e
)
{
$this
->
viewModel
[
'entries'
]
=
[
'labels'
=>
'[]'
,
...
...
src/backend/src/UseCases/Attempts/APIPresenter.php
View file @
37c4fc03
...
...
@@ -15,9 +15,7 @@ class APIPresenter extends BasePresenter implements Presenter
/** @inheritDoc */
public
function
present
(
ResponseModel
$responseModel
):
void
{
$this
->
attempts
=
array_map
(
function
(
Attempt
$attempt
)
{
return
$this
->
formatAttempt
(
$attempt
);
},
$responseModel
->
getAttempts
());
$this
->
attempts
=
array_map
(
fn
(
Attempt
$attempt
):
array
=>
self
::
formatAttempt
(
$attempt
),
$responseModel
->
getAttempts
());
}
/** @inheritDoc */
...
...
src/backend/src/UseCases/BasePresenter.php
View file @
37c4fc03
...
...
@@ -23,7 +23,7 @@ abstract class BasePresenter
* @param string $format
* @return string|null
*/
public
function
formatDateTime
(
?Carbon
$datetime
,
string
$format
=
'c'
):
?string
public
static
function
formatDateTime
(
?Carbon
$datetime
,
string
$format
=
'c'
):
?string
{
if
(
$datetime
===
null
)
{
return
null
;
...
...
@@ -36,7 +36,7 @@ abstract class BasePresenter
* @param \Source\Entities\User $user
* @return array
*/
public
function
formatFullUser
(
User
$user
):
array
public
static
function
formatFullUser
(
User
$user
):
array
{
return
[
'id'
=>
$user
->
getId
(),
...
...
@@ -45,9 +45,9 @@ abstract class BasePresenter
'display_name'
=>
$user
->
getDisplayName
(),
'emplid'
=>
$user
->
getEmplid
(),
'email'
=>
$user
->
getEmail
(),
'expires_at'
=>
$this
->
formatDateTime
(
$user
->
getExpiresAt
()),
'created_at'
=>
$this
->
formatDateTime
(
$user
->
getCreatedAt
()),
'updated_at'
=>
$this
->
formatDateTime
(
$user
->
getUpdatedAt
()),
'expires_at'
=>
self
::
formatDateTime
(
$user
->
getExpiresAt
()),
'created_at'
=>
self
::
formatDateTime
(
$user
->
getCreatedAt
()),
'updated_at'
=>
self
::
formatDateTime
(
$user
->
getUpdatedAt
()),
];
}
...
...
@@ -55,7 +55,7 @@ abstract class BasePresenter
* @param \Source\Entities\User $user
* @return array
*/
public
function
formatPartialUser
(
User
$user
):
array
public
static
function
formatPartialUser
(
User
$user
):
array
{
$expired
=
false
;
if
(
$user
->
getExpiresAt
())
{
...
...
@@ -76,14 +76,14 @@ abstract class BasePresenter
* @param \Source\Entities\Group $group
* @return array
*/
public
function
formatGroup
(
Group
$group
):
array
public
static
function
formatGroup
(
Group
$group
):
array
{
return
[
'id'
=>
$group
->
getId
(),
'title'
=>
$group
->
getTitle
(),
'description'
=>
$group
->
getDescription
(),
'created_at'
=>
$this
->
formatDateTime
(
$group
->
getCreatedAt
()),
'updated_at'
=>
$this
->
formatDateTime
(
$group
->
getUpdatedAt
()),
'created_at'
=>
self
::
formatDateTime
(
$group
->
getCreatedAt
()),
'updated_at'
=>
self
::
formatDateTime
(
$group
->
getUpdatedAt
()),
];
}
...
...
@@ -91,7 +91,7 @@ abstract class BasePresenter
* @param \Source\Entities\Door|null $door
* @return array
*/
public
function
formatDoor
(
?Door
$door
):
array
public
static
function
formatDoor
(
?Door
$door
):
array
{
if
(
!
$door
)
{
return
[];
...
...
@@ -102,9 +102,9 @@ abstract class BasePresenter
'name'
=>
$door
->
getName
(),
'location'
=>
$door
->
getLocation
(),
'version'
=>
$door
->
getVersion
()
??
'Unknown'
,
'created_at'
=>
$this
->
formatDateTime
(
$door
->
getCreatedAt
()),
'updated_at'
=>
$this
->
formatDateTime
(
$door
->
getUpdatedAt
()),
'last_seen_at'
=>
$this
->
formatDateTime
(
$door
->
getLastSeenAt
()),
'created_at'
=>
self
::
formatDateTime
(
$door
->
getCreatedAt
()),
'updated_at'
=>
self
::
formatDateTime
(
$door
->
getUpdatedAt
()),
'last_seen_at'
=>
self
::
formatDateTime
(
$door
->
getLastSeenAt
()),
];
}
...
...
@@ -112,7 +112,7 @@ abstract class BasePresenter
* @param \Source\Entities\Token|null $token
* @return array
*/
public
function
formatToken
(
?Token
$token
):
array
public
static
function
formatToken
(
?Token
$token
):
array
{
if
(
!
$token
)
{
return
[];
...
...
@@ -122,9 +122,9 @@ abstract class BasePresenter
'id'
=>
$token
->
getId
(),
'name'
=>
$token
->
getName
(),
'user_id'
=>
$token
->
getUserId
(),
'expires_at'
=>
$this
->
formatDateTime
(
$token
->
getExpiresAt
()),
'created_at'
=>
$this
->
formatDateTime
(
$token
->
getCreatedAt
()),
'updated_at'
=>
$this
->
formatDateTime
(
$token
->
getUpdatedAt
()),
'expires_at'
=>
self
::
formatDateTime
(
$token
->
getExpiresAt
()),
'created_at'
=>
self
::
formatDateTime
(
$token
->
getCreatedAt
()),
'updated_at'
=>
self
::
formatDateTime
(
$token
->
getUpdatedAt
()),
];
}
...
...
@@ -132,7 +132,7 @@ abstract class BasePresenter
* @param \Source\Entities\Schedule|null $schedule
* @return array
*/
public
function
formatSchedule
(
?Schedule
$schedule
):
array
public
static
function
formatSchedule
(
?Schedule
$schedule
):
array
{
if
(
!
$schedule
)
{
return
[];
...
...
@@ -145,10 +145,10 @@ abstract class BasePresenter
'rset'
=>
$schedule
->
getRset
(),
'duration'
=>
$schedule
->
getDuration
(),
'description'
=>
$schedule
->
getDescription
(),
'start_date'
=>
$this
->
formatDateTime
(
$schedule
->
getStart
()),
'end_date'
=>
$this
->
formatDateTime
(
$schedule
->
getEnd
()),
'created_at'
=>
$this
->
formatDateTime
(
$schedule
->
getCreatedAt
()),
'updated_at'
=>
$this
->
formatDateTime
(
$schedule
->
getUpdatedAt
()),
'start_date'
=>
self
::
formatDateTime
(
$schedule
->
getStart
()),
'end_date'
=>
self
::
formatDateTime
(
$schedule
->
getEnd
()),
'created_at'
=>
self
::
formatDateTime
(
$schedule
->
getCreatedAt
()),
'updated_at'
=>
self
::
formatDateTime
(
$schedule
->
getUpdatedAt
()),
];
}
...
...
@@ -156,7 +156,7 @@ abstract class BasePresenter
* @param \Source\Entities\Attempt|null $attempt
* @return array
*/
public
function
formatAttempt
(
?Attempt
$attempt
):
array
public
static
function
formatAttempt
(
?Attempt
$attempt
):
array
{
if
(
!
$attempt
)
{
return
[];
...
...
@@ -165,7 +165,7 @@ abstract class BasePresenter
return
[
'id'
=>
$attempt
->
getId
(),
'door_id'
=>
$attempt
->
getDoorId
(),
'created_at'
=>
$this
->
formatDateTime
(
$attempt
->
getCreatedAt
()),
'created_at'
=>
self
::
formatDateTime
(
$attempt
->
getCreatedAt
()),
];
}
...
...
@@ -173,7 +173,7 @@ abstract class BasePresenter
* @param \Source\Entities\Entry|null $entry
* @return array
*/
public
function
formatEntry
(
?Entry
$entry
):
array
public
static
function
formatEntry
(
?Entry
$entry
):
array
{
if
(
!
$entry
)
{
return
[];
...
...
@@ -184,7 +184,7 @@ abstract class BasePresenter
'user_id'
=>
$entry
->
getUserId
(),
'door_id'
=>
$entry
->
getDoorId
(),
'success'
=>
$entry
->
wasSuccessful
(),
'created_at'
=>
$this
->
formatDateTime
(
$entry
->
getCreatedAt
()),
'created_at'
=>
self
::
formatDateTime
(
$entry
->
getCreatedAt
()),
];
}
...
...
@@ -192,7 +192,7 @@ abstract class BasePresenter
* @param \Source\Entities\Override|null $override
* @return array
*/
public
function
formatOverride
(
?Override
$override
):
array
public
static
function
formatOverride
(
?Override
$override
):
array
{
if
(
!
$override
)
{
return
[];
...
...
@@ -204,10 +204,10 @@ abstract class BasePresenter
'user_id'
=>
$override
->
getUserId
(),
'door_id'
=>
$override
->
getDoorId
(),
'type'
=>
$override
->
getType
(),
'start'
=>
$this
->
formatDateTime
(
$override
->
getStart
()),
'end'
=>
$this
->
formatDateTime
(
$override
->
getEnd
()),
'created_at'
=>
$this
->
formatDateTime
(
$override
->
getCreatedAt
()),
'updated_at'
=>
$this
->
formatDateTime
(
$override
->
getUpdatedAt
()),
'start'
=>
self
::
formatDateTime
(
$override
->
getStart
()),
'end'
=>
self
::
formatDateTime
(
$override
->
getEnd
()),
'created_at'
=>
self
::
formatDateTime
(
$override
->
getCreatedAt
()),
'updated_at'
=>
self
::
formatDateTime
(
$override
->
getUpdatedAt
()),
];
}
}
src/backend/src/UseCases/Door/ScheduleEvents/EventsPresenter.php
View file @
37c4fc03
...
...
@@ -14,19 +14,19 @@ class EventsPresenter extends BasePresenter implements Presenter
{
$events
=
$responseModel
->
getOpenEvents
();
$this
->
viewModel
=
array_map
(
function
(
ScheduleEvent
$event
)
{
$this
->
viewModel
=
array_map
(
static
function
(
ScheduleEvent
$event
)
{
return
[
'title'
=>
'Door unlocked.'
,
'start'
=>
$this
->
formatDateTime
(
$event
->
getBegin
()),
'end'
=>
$this
->
formatDateTime
(
$event
->
getEnd
()),
'start'
=>
self
::
formatDateTime
(
$event
->
getBegin
()),
'end'
=>
self
::
formatDateTime
(
$event
->
getEnd
()),
];
},
$events
);
foreach
(
$responseModel
->
getUserEvents
()
as
$event
)
{
$this
->
viewModel
[]
=
[
'title'
=>
'Allowed via doorcode.'
,
'start'
=>
$this
->
formatDateTime
(
$event
->
getBegin
()),
'end'
=>
$this
->
formatDateTime
(
$event
->
getEnd
()),
'start'
=>
self
::
formatDateTime
(
$event
->
getBegin
()),
'end'
=>
self
::
formatDateTime
(
$event
->
getEnd
()),
];
}
}
...
...
src/backend/src/UseCases/Door/ScheduleEvents/JsonPresenter.php
View file @
37c4fc03
...
...
@@ -19,10 +19,10 @@ class JsonPresenter extends BasePresenter implements Presenter
return
$a
->
cmp
(
$b
);
});
$this
->
viewModel
[
'events'
]
=
array_map
(
function
(
ScheduleEvent
$event
)
{
$this
->
viewModel
[
'events'
]
=
array_map
(
static
function
(
ScheduleEvent
$event
)
{
return
[
'begins_at'
=>
$this
->
formatDateTime
(
$event
->
getBegin
()),
'ends_at'
=>
$this
->
formatDateTime
(
$event
->
getEnd
()),
'begins_at'
=>
self
::
formatDateTime
(
$event
->
getBegin
()),
'ends_at'
=>
self
::
formatDateTime
(
$event
->
getEnd
()),
];
},
$events
);
}
...
...
src/backend/src/UseCases/DoorGroup/GetGroupDoors/APIPresenter.php
View file @
37c4fc03
...
...
@@ -15,9 +15,7 @@ class APIPresenter extends BasePresenter implements Presenter
/** @inheritDoc */
public
function
present
(
ResponseModel
$responseModel
):
void
{
$this
->
doors
=
array_map
(
function
(
Door
$door
)
{
return
$this
->
formatDoor
(
$door
);
},
$responseModel
->
getDoors
());
$this
->
doors
=
array_map
(
fn
(
Door
$door
):
array
=>
self
::
formatDoor
(
$door
),
$responseModel
->
getDoors
());
}
/** @inheritDoc */
...
...
src/backend/src/UseCases/DoorUser/UserDoorAccess/MePresenter.php
View file @
37c4fc03
...
...
@@ -32,14 +32,14 @@ class MePresenter extends BasePresenter implements Presenter
'location'
=>
$door
->
getLocation
(),
];
},
$responseModel
->
getDoorsForGroup
(
$group
));
$this
->
viewModel
[
'schedules'
][
$group
->
getId
()]
=
array_map
(
function
(
Schedule
$schedule
)
{
$this
->
viewModel
[
'schedules'
][
$group
->
getId
()]
=
array_map
(
static
function
(
Schedule
$schedule
)
{
return
[
'id'
=>
$schedule
->
getId
(),
'description'
=>
$schedule
->
getDescription
(),
'rset'
=>
$schedule
->
getRset
(),
'duration'
=>
$schedule
->
getDuration
(),
'start_date'
=>
$this
->
formatDateTime
(
$schedule
->
getStart
()),
'end_date'
=>
$this
->
formatDateTime
(
$schedule
->
getEnd
()),
'start_date'
=>
self
::
formatDateTime
(
$schedule
->
getStart
()),
'end_date'
=>
self
::
formatDateTime
(
$schedule
->
getEnd
()),
];
},
$responseModel
->
getSchedulesForGroup
(
$group
));
}
...
...
src/backend/src/UseCases/DoorUser/UserDoorAccess/PrivilegedApiPresenter.php
View file @
37c4fc03
...
...
@@ -18,18 +18,12 @@ class PrivilegedApiPresenter extends BasePresenter implements Presenter
public
function
present
(
ResponseModel
$responseModel
):
void
{
$groups
=
$responseModel
->
getGroups
();
$this
->
viewModel
[
'groups'
]
=
array_map
(
function
(
Group
$group
)
{
return
$this
->
formatGroup
(
$group
);
},
$groups
);
$this
->
viewModel
[
'groups'
]
=
array_map
(
fn
(
Group
$group
):
array
=>
self
::
formatGroup
(
$group
),
$groups
);
$this
->
viewModel
[
'doors'
]
=
[];
$this
->
viewModel
[
'schedules'
]
=
[];
foreach
(
$groups
as
$group
)
{
$this
->
viewModel
[
'doors'
][
$group
->
getId
()]
=
array_map
(
function
(
Door
$door
)
{
return
$this
->
formatDoor
(
$door
);
},
$responseModel
->
getDoorsForGroup
(
$group
));
$this
->
viewModel
[
'schedules'
][
$group
->
getId
()]
=
array_map
(
function
(
Schedule
$schedule
)
{
return
$this
->
formatSchedule
(
$schedule
);
},
$responseModel
->
getSchedulesForGroup
(
$group
));
$this
->
viewModel
[
'doors'
][
$group
->
getId
()]
=
array_map
(
fn
(
Door
$door
):
array
=>
self
::
formatDoor
(
$door
),
$responseModel
->
getDoorsForGroup
(
$group
));
$this
->
viewModel
[
'schedules'
][
$group
->
getId
()]
=
array_map
(
fn
(
Schedule
$schedule
):
array
=>
self
::
formatSchedule
(
$schedule
),
$responseModel
->
getSchedulesForGroup
(
$group
));
}
}
...
...
src/backend/src/UseCases/Doors/CreateDoor/APIPresenter.php
View file @
37c4fc03
...
...
@@ -12,7 +12,7 @@ class APIPresenter extends BasePresenter implements Presenter
public
function
present
(
ResponseModel
$responseModel
):
void
{
$this
->
viewModel
[
'door_token'
]
=
$responseModel
->
getToken
();
$this
->
viewModel
[
'door'
]
=
$this
->
formatDoor
(
$responseModel
->
getDoor
());
$this
->
viewModel
[
'door'
]
=
self
::
formatDoor
(
$responseModel
->
getDoor
());
}
/** @inheritDoc */
...
...
src/backend/src/UseCases/Doors/GetDoor/APIPresenter.php
View file @
37c4fc03
...
...
@@ -11,7 +11,7 @@ class APIPresenter extends BasePresenter implements Presenter
/** @inheritDoc */
public
function
present
(
ResponseModel
$responseModel
):
void
{
$this
->
viewModel
[
'door'
]
=
$this
->
formatDoor
(
$responseModel
->
getDoor
());
$this
->
viewModel
[
'door'
]
=
self
::
formatDoor
(
$responseModel
->
getDoor
());
}
/** @inheritDoc */
...
...
src/backend/src/UseCases/Doors/UpdateDoor/APIPresenter.php
View file @
37c4fc03
...
...
@@ -12,7 +12,7 @@ class APIPresenter extends BasePresenter implements Presenter
public
function
present
(
ResponseModel
$responseModel
):
void
{
$this
->
viewModel
[
'message'
]
=
$responseModel
->
getMessage
();
$this
->
viewModel
[
'door'
]
=
$this
->
formatDoor
(
$responseModel
->
getDoor
());
$this
->
viewModel
[
'door'
]
=
self
::
formatDoor
(
$responseModel
->
getDoor
());
}
/** @inheritDoc */
...
...
src/backend/src/UseCases/Entries/APIPresenter.php
View file @
37c4fc03
...
...
@@ -15,9 +15,7 @@ class APIPresenter extends BasePresenter implements Presenter
/** @inheritDoc */
public
function
present
(
ResponseModel
$responseModel
):
void
{
$this
->
entries
=
array_map
(
function
(
Entry
$entry
)
{
return
$this
->
formatEntry
(
$entry
);
},
$responseModel
->
getEntries
());
$this
->
entries
=
array_map
(
fn
(
Entry
$entry
):
array
=>
self
::
formatEntry
(
$entry
),
$responseModel
->
getEntries
());
}
/** @inheritDoc */
...
...
src/backend/src/UseCases/GroupUser/GetGroupUsers/APIPresenter.php
View file @
37c4fc03
...
...
@@ -15,9 +15,7 @@ class APIPresenter extends BasePresenter implements Presenter
/** @inheritDoc */
public
function
present
(
ResponseModel
$responseModel
):
void
{
$this
->
users
=
array_map
(
function
(
User
$user
)
{
return
$this
->
formatPartialUser
(
$user
);
},
$responseModel
->
getUsers
());
$this
->
users
=
array_map
(
fn
(
User
$user
):
array
=>
self
::
formatPartialUser
(
$user
),
$responseModel
->
getUsers
());
}
/** @inheritDoc */
...
...
src/backend/src/UseCases/Groups/CreateGroup/APIPresenter.php
View file @
37c4fc03
...
...
@@ -11,7 +11,7 @@ class APIPresenter extends BasePresenter implements Presenter
/** @inheritDoc */
public
function
present
(
ResponseModel
$responseModel
):
void
{
$this
->
viewModel
[
'group'
]
=
$this
->
formatGroup
(
$responseModel
->
getGroup
());
$this
->
viewModel
[
'group'
]
=
self
::
formatGroup
(
$responseModel
->
getGroup
());
}
/** @inheritDoc */
...
...
src/backend/src/UseCases/Groups/GetGroup/APIPresenter.php
View file @
37c4fc03
...
...
@@ -11,7 +11,7 @@ class APIPresenter extends BasePresenter implements Presenter
/** @inheritDoc */
public
function
present
(
ResponseModel
$responseModel
):
void
{
$this
->
viewModel
[
'group'
]
=
$this
->
formatGroup
(
$responseModel
->
getGroup
());
$this
->
viewModel
[
'group'
]
=
self
::
formatGroup
(
$responseModel
->
getGroup
());
}
/** @inheritDoc */
...
...
src/backend/src/UseCases/Groups/GetGroups/APIPresenter.php
View file @
37c4fc03
...
...
@@ -15,9 +15,7 @@ class APIPresenter extends BasePresenter implements Presenter
/** @inheritDoc */
public
function
present
(
ResponseModel
$responseModel
):
void
{
$this
->
groups
=
array_map
(
function
(
Group
$group
)
{
return
$this
->
formatGroup
(
$group
);
},
$responseModel
->
getGroups
());
$this
->
groups
=
array_map
(
fn
(
Group
$group
):
array
=>
self
::
formatGroup
(
$group
),
$responseModel
->
getGroups
());
}
/** @inheritDoc */
...
...
src/backend/src/UseCases/Groups/UpdateGroup/APIPresenter.php
View file @
37c4fc03
...
...
@@ -17,7 +17,7 @@ class APIPresenter extends BasePresenter implements Presenter
if
(
$responseModel
->
hasError
())
{
$this
->
viewModel
[
'message'
]
=
$responseModel
->
getError
();