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
0a14641e
Commit
0a14641e
authored
Dec 17, 2020
by
Jacob Priddy
👌
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
api doc updates
parent
d4e24e69
Pipeline
#13230
passed with stages
in 9 minutes and 21 seconds
Changes
6
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
469 additions
and
91 deletions
+469
-91
.gitlab-ci.yml
.gitlab-ci.yml
+1
-7
src/backend/app/Documentation/Strategies/BodyAuthenticationStrategy.php
...p/Documentation/Strategies/BodyAuthenticationStrategy.php
+3
-0
src/backend/app/Documentation/Strategies/UnauthenticatedResponseStrategy.php
...umentation/Strategies/UnauthenticatedResponseStrategy.php
+9
-3
src/backend/composer.json
src/backend/composer.json
+5
-8
src/backend/composer.lock
src/backend/composer.lock
+446
-68
src/backend/config/scribe.php
src/backend/config/scribe.php
+5
-5
No files found.
.gitlab-ci.yml
View file @
0a14641e
...
...
@@ -69,12 +69,6 @@ generate_api_docs:
-
cd src/backend
-
sed -i 's/\(^APP_ENV=\).*/\1memory/' .env
-
sed -i "s/\(^APP_URL=\).*/\1https:\/\/${DEPLOY_ADDRESS}/" .env
# TEMPORARY UNTIL THIS BRANCH GETS MERGED INTO THE SCRIBE PROJECT
# PHP 8 came out less than a month ago and not everything supports it yet T_T
-
cd vendor/knuckleswtf
-
rm -rf scribe
-
git clone --branch php8 https://github.com/knuckleswtf/scribe.git
-
cd ../..
-
"
if
(php
artisan
scribe:generate
|
grep
\"
Exception
\"
)
then
echo
\"
Failed
to
generate
API
docs.
\"
&&
false;
else
true;
fi"
artifacts
:
paths
:
...
...
@@ -113,7 +107,7 @@ deploy application:
-
docker build --build-arg APP_IMAGE=$DOORCODE_IMAGE_NAME -t $NGINX_IMAGE_NAME -f nginx.Dockerfile .
-
docker stack deploy -c docker-compose.prod.yml doorcode --prune
# Give it some time to spin up...
-
sleep
6
0
-
sleep
12
0
# Make sure app is running
-
"
curl
--fail
--insecure
--silent
--location
https://${DEPLOY_ADDRESS}/api
>
/dev/null"
-
"
curl
--fail
--insecure
--silent
--location
https://${DEPLOY_ADDRESS}/api/docs
>
/dev/null"
...
...
src/backend/app/Documentation/Strategies/BodyAuthenticationStrategy.php
View file @
0a14641e
...
...
@@ -29,6 +29,9 @@ class BodyAuthenticationStrategy extends Strategy
if
(
$controller
->
getShortName
()
===
'MeController'
)
{
$token
=
'token_string_engr'
;
}
if
(
$controller
->
getShortName
()
===
'DoorController'
)
{
$token
=
'door_1_api_token'
;
}
return
[
'api_token'
=>
[
...
...
src/backend/app/Documentation/Strategies/UnauthenticatedResponseStrategy.php
View file @
0a14641e
...
...
@@ -21,13 +21,19 @@ class UnauthenticatedResponseStrategy extends Strategy
return
null
;
}
return
[
[
$unauthenticated
=
[
'content'
=>
[
'message'
=>
'Unauthenticated'
,
],
'status'
=>
401
,
],
];
if
(
$controller
->
getShortName
()
===
'DoorController'
)
{
return
[
$unauthenticated
];
}
return
[
$unauthenticated
,
[
'content'
=>
[
'message'
=>
'Unauthorized'
,
...
...
src/backend/composer.json
View file @
0a14641e
{
"name"
:
"
laravel/laravel
"
,
"name"
:
"
wwu/elock
"
,
"type"
:
"project"
,
"description"
:
"The Laravel Framework."
,
"keywords"
:
[
"framework"
,
"laravel"
],
"description"
:
"Elock doorcode protection system."
,
"license"
:
"MIT"
,
"require"
:
{
"php"
:
"^8.0"
,
...
...
@@ -14,6 +10,7 @@
"fruitcake/laravel-cors"
:
"^1.0"
,
"laravel/framework"
:
"^8.0"
,
"laravel/tinker"
:
"^2.0"
,
"guzzlehttp/guzzle"
:
"^7.0.1"
,
"laravel/ui"
:
"^3.0"
,
"rlanvin/php-rrule"
:
"^2.2"
,
"ext-json"
:
"*"
...
...
@@ -22,8 +19,8 @@
"bamarni/composer-bin-plugin"
:
"^1.4"
,
"facade/ignition"
:
"^2.3.6"
,
"friendsofphp/php-cs-fixer"
:
"^2.16"
,
"f
zaninotto
/faker"
:
"^1.9.1"
,
"knuckleswtf/scribe"
:
"^2.
0
.0"
,
"f
akerphp
/faker"
:
"^1.9.1"
,
"knuckleswtf/scribe"
:
"^2.
5
.0"
,
"mockery/mockery"
:
"^1.0"
,
"nunomaduro/collision"
:
"^5.0"
,
"phpunit/phpunit"
:
"^9.5"
,
...
...
src/backend/composer.lock
View file @
0a14641e
...
...
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "
3666a142f01f2b445b656bc9e5646955
",
"content-hash": "
99f6a1dcd928feb225984a6b7918e01c
",
"packages": [
{
"name": "asm89/stack-cors",
...
...
@@ -727,6 +727,238 @@
],
"time": "2020-04-13T13:17:36+00:00"
},
{
"name": "guzzlehttp/guzzle",
"version": "7.2.0",
"source": {
"type": "git",
"url": "https://github.com/guzzle/guzzle.git",
"reference": "0aa74dfb41ae110835923ef10a9d803a22d50e79"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/guzzle/guzzle/zipball/0aa74dfb41ae110835923ef10a9d803a22d50e79",
"reference": "0aa74dfb41ae110835923ef10a9d803a22d50e79",
"shasum": ""
},
"require": {
"ext-json": "*",
"guzzlehttp/promises": "^1.4",
"guzzlehttp/psr7": "^1.7",
"php": "^7.2.5 || ^8.0",
"psr/http-client": "^1.0"
},
"provide": {
"psr/http-client-implementation": "1.0"
},
"require-dev": {
"ext-curl": "*",
"php-http/client-integration-tests": "^3.0",
"phpunit/phpunit": "^8.5.5 || ^9.3.5",
"psr/log": "^1.1"
},
"suggest": {
"ext-curl": "Required for CURL handler support",
"ext-intl": "Required for Internationalized Domain Name (IDN) support",
"psr/log": "Required for using the Log middleware"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "7.1-dev"
}
},
"autoload": {
"psr-4": {
"GuzzleHttp\\": "src/"
},
"files": [
"src/functions_include.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Michael Dowling",
"email": "mtdowling@gmail.com",
"homepage": "https://github.com/mtdowling"
},
{
"name": "Márk Sági-Kazár",
"email": "mark.sagikazar@gmail.com",
"homepage": "https://sagikazarmark.hu"
}
],
"description": "Guzzle is a PHP HTTP client library",
"homepage": "http://guzzlephp.org/",
"keywords": [
"client",
"curl",
"framework",
"http",
"http client",
"psr-18",
"psr-7",
"rest",
"web service"
],
"support": {
"issues": "https://github.com/guzzle/guzzle/issues",
"source": "https://github.com/guzzle/guzzle/tree/7.2.0"
},
"funding": [
{
"url": "https://github.com/GrahamCampbell",
"type": "github"
},
{
"url": "https://github.com/Nyholm",
"type": "github"
},
{
"url": "https://github.com/alexeyshockov",
"type": "github"
},
{
"url": "https://github.com/gmponos",
"type": "github"
}
],
"time": "2020-10-10T11:47:56+00:00"
},
{
"name": "guzzlehttp/promises",
"version": "1.4.0",
"source": {
"type": "git",
"url": "https://github.com/guzzle/promises.git",
"reference": "60d379c243457e073cff02bc323a2a86cb355631"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/guzzle/promises/zipball/60d379c243457e073cff02bc323a2a86cb355631",
"reference": "60d379c243457e073cff02bc323a2a86cb355631",
"shasum": ""
},
"require": {
"php": ">=5.5"
},
"require-dev": {
"symfony/phpunit-bridge": "^4.4 || ^5.1"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.4-dev"
}
},
"autoload": {
"psr-4": {
"GuzzleHttp\\Promise\\": "src/"
},
"files": [
"src/functions_include.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Michael Dowling",
"email": "mtdowling@gmail.com",
"homepage": "https://github.com/mtdowling"
}
],
"description": "Guzzle promises library",
"keywords": [
"promise"
],
"support": {
"issues": "https://github.com/guzzle/promises/issues",
"source": "https://github.com/guzzle/promises/tree/1.4.0"
},
"time": "2020-09-30T07:37:28+00:00"
},
{
"name": "guzzlehttp/psr7",
"version": "1.7.0",
"source": {
"type": "git",
"url": "https://github.com/guzzle/psr7.git",
"reference": "53330f47520498c0ae1f61f7e2c90f55690c06a3"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/guzzle/psr7/zipball/53330f47520498c0ae1f61f7e2c90f55690c06a3",
"reference": "53330f47520498c0ae1f61f7e2c90f55690c06a3",
"shasum": ""
},
"require": {
"php": ">=5.4.0",
"psr/http-message": "~1.0",
"ralouphie/getallheaders": "^2.0.5 || ^3.0.0"
},
"provide": {
"psr/http-message-implementation": "1.0"
},
"require-dev": {
"ext-zlib": "*",
"phpunit/phpunit": "~4.8.36 || ^5.7.27 || ^6.5.14 || ^7.5.20 || ^8.5.8 || ^9.3.10"
},
"suggest": {
"laminas/laminas-httphandlerrunner": "Emit PSR-7 responses"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.7-dev"
}
},
"autoload": {
"psr-4": {
"GuzzleHttp\\Psr7\\": "src/"
},
"files": [
"src/functions_include.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Michael Dowling",
"email": "mtdowling@gmail.com",
"homepage": "https://github.com/mtdowling"
},
{
"name": "Tobias Schultze",
"homepage": "https://github.com/Tobion"
}
],
"description": "PSR-7 message implementation that also provides common utility methods",
"keywords": [
"http",
"message",
"psr-7",
"request",
"response",
"stream",
"uri",
"url"
],
"support": {
"issues": "https://github.com/guzzle/psr7/issues",
"source": "https://github.com/guzzle/psr7/tree/1.7.0"
},
"time": "2020-09-30T07:37:11+00:00"
},
{
"name": "laravel/framework",
"version": "v8.19.0",
...
...
@@ -1753,6 +1985,111 @@
},
"time": "2019-01-08T18:20:26+00:00"
},
{
"name": "psr/http-client",
"version": "1.0.1",
"source": {
"type": "git",
"url": "https://github.com/php-fig/http-client.git",
"reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/php-fig/http-client/zipball/2dfb5f6c5eff0e91e20e913f8c5452ed95b86621",
"reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621",
"shasum": ""
},
"require": {
"php": "^7.0 || ^8.0",
"psr/http-message": "^1.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.0.x-dev"
}
},
"autoload": {
"psr-4": {
"Psr\\Http\\Client\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "PHP-FIG",
"homepage": "http://www.php-fig.org/"
}
],
"description": "Common interface for HTTP clients",
"homepage": "https://github.com/php-fig/http-client",
"keywords": [
"http",
"http-client",
"psr",
"psr-18"
],
"support": {
"source": "https://github.com/php-fig/http-client/tree/master"
},
"time": "2020-06-29T06:28:15+00:00"
},
{
"name": "psr/http-message",
"version": "1.0.1",
"source": {
"type": "git",
"url": "https://github.com/php-fig/http-message.git",
"reference": "f6561bf28d520154e4b0ec72be95418abe6d9363"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363",
"reference": "f6561bf28d520154e4b0ec72be95418abe6d9363",
"shasum": ""
},
"require": {
"php": ">=5.3.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.0.x-dev"
}
},
"autoload": {
"psr-4": {
"Psr\\Http\\Message\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "PHP-FIG",
"homepage": "http://www.php-fig.org/"
}
],
"description": "Common interface for HTTP messages",
"homepage": "https://github.com/php-fig/http-message",
"keywords": [
"http",
"http-message",
"psr",
"psr-7",
"request",
"response"
],
"support": {
"source": "https://github.com/php-fig/http-message/tree/master"
},
"time": "2016-08-06T14:39:51+00:00"
},
{
"name": "psr/log",
"version": "1.1.3",
...
...
@@ -1930,6 +2267,50 @@
},
"time": "2020-12-04T02:51:30+00:00"
},
{
"name": "ralouphie/getallheaders",
"version": "3.0.3",
"source": {
"type": "git",
"url": "https://github.com/ralouphie/getallheaders.git",
"reference": "120b605dfeb996808c31b6477290a714d356e822"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822",
"reference": "120b605dfeb996808c31b6477290a714d356e822",
"shasum": ""
},
"require": {
"php": ">=5.6"
},
"require-dev": {
"php-coveralls/php-coveralls": "^2.1",
"phpunit/phpunit": "^5 || ^6.5"
},
"type": "library",
"autoload": {
"files": [
"src/getallheaders.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Ralph Khattar",
"email": "ralph.khattar@gmail.com"
}
],
"description": "A polyfill for getallheaders.",
"support": {
"issues": "https://github.com/ralouphie/getallheaders/issues",
"source": "https://github.com/ralouphie/getallheaders/tree/develop"
},
"time": "2019-03-08T08:55:37+00:00"
},
{
"name": "ramsey/collection",
"version": "1.1.1",
...
...
@@ -5233,6 +5614,58 @@
},
"time": "2020-10-16T08:27:54+00:00"
},
{
"name": "fakerphp/faker",
"version": "v1.12.1",
"source": {
"type": "git",
"url": "https://github.com/FakerPHP/Faker.git",
"reference": "841e8bdde345cc1ea9f98e776959e7531cadea0e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/FakerPHP/Faker/zipball/841e8bdde345cc1ea9f98e776959e7531cadea0e",
"reference": "841e8bdde345cc1ea9f98e776959e7531cadea0e",
"shasum": ""
},
"require": {
"php": "^7.1 || ^8.0"
},
"conflict": {
"fzaninotto/faker": "*"
},
"require-dev": {
"bamarni/composer-bin-plugin": "^1.4.1",
"ext-intl": "*",
"phpunit/phpunit": "^7.5.20 || ^8.5.8 || ^9.4.2"
},
"type": "library",
"autoload": {
"psr-4": {
"Faker\\": "src/Faker/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "François Zaninotto"
}
],
"description": "Faker is a PHP library that generates fake data for you.",
"keywords": [
"data",
"faker",
"fixtures"
],
"support": {
"issues": "https://github.com/FakerPHP/Faker/issues",
"source": "https://github.com/FakerPHP/Faker/tree/v1.12.1"
},
"time": "2020-12-11T10:39:41+00:00"
},
{
"name": "filp/whoops",
"version": "2.9.1",
...
...
@@ -5400,62 +5833,6 @@
],
"time": "2020-12-08T13:47:02+00:00"
},
{
"name": "fzaninotto/faker",
"version": "dev-master",
"source": {
"type": "git",
"url": "https://github.com/fzaninotto/Faker.git",
"reference": "5ffe7db6c80f441f150fc88008d64e64af66634b"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/fzaninotto/Faker/zipball/5ffe7db6c80f441f150fc88008d64e64af66634b",
"reference": "5ffe7db6c80f441f150fc88008d64e64af66634b",
"shasum": ""
},
"require": {
"php": "^5.3.3 || ^7.0 || ^8.0"
},
"require-dev": {
"ext-intl": "*",
"phpunit/phpunit": "^4.8.35 || ^5.7",
"squizlabs/php_codesniffer": "^2.9.2"
},
"default-branch": true,
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.9-dev"
}
},
"autoload": {
"psr-4": {
"Faker\\": "src/Faker/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "François Zaninotto"
}
],
"description": "Faker is a PHP library that generates fake data for you.",
"keywords": [
"data",
"faker",
"fixtures"
],
"support": {
"issues": "https://github.com/fzaninotto/Faker/issues",
"source": "https://github.com/fzaninotto/Faker/tree/master"
},
"abandoned": true,
"time": "2020-12-11T09:59:14+00:00"
},
{
"name": "hamcrest/hamcrest-php",
"version": "v2.0.1",
...
...
@@ -5571,23 +5948,24 @@
},
{
"name": "knuckleswtf/scribe",
"version": "2.
0.2
",
"version": "2.
5.1
",
"source": {
"type": "git",
"url": "https://github.com/knuckleswtf/scribe.git",
"reference": "
a2d6f5e5c071ccbf1d349d094fe102580175a677
"
"reference": "
5b571f4971ad0cf3b68561508924b90de450cf6a
"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/knuckleswtf/scribe/zipball/
a2d6f5e5c071ccbf1d349d094fe102580175a677
",
"reference": "
a2d6f5e5c071ccbf1d349d094fe102580175a677
",
"url": "https://api.github.com/repos/knuckleswtf/scribe/zipball/
5b571f4971ad0cf3b68561508924b90de450cf6a
",
"reference": "
5b571f4971ad0cf3b68561508924b90de450cf6a
",
"shasum": ""
},
"require": {
"erusev/parsedown": "^1.7.4",
"ext-fileinfo": "*",