Compare commits

...

20 commits

Author SHA1 Message Date
e2128c8402 Add AllEntitiesHandler stub 2023-11-05 17:18:58 +01:00
309c0b50b1 Add SingleEntityHandler stub 2023-11-05 17:18:58 +01:00
95961d4b7b Add routing for entities handlers 2023-11-05 17:18:58 +01:00
4cb417a448 Add AuthenticatedHandler base class 2023-11-05 17:18:58 +01:00
ce14b7d6af Merge pull request 'Update dependency isodate to v0.6.1' () from renovate/isodate-0.x into master
Reviewed-on: 
2023-11-05 17:18:28 +01:00
d3badfe3d4 Update dependency isodate to v0.6.1 2023-11-05 17:18:15 +01:00
f2631e0bd0 Merge pull request 'Update dependency GitPython to v3.1.40' () from renovate/gitpython-3.x into master
Reviewed-on: 
2023-11-05 17:17:57 +01:00
90395cd7a3 Update dependency GitPython to v3.1.40 2023-11-05 16:17:19 +00:00
43a362046e Merge pull request 'Update python Docker tag to v3.12' () from renovate/python-3.x into master
Reviewed-on: 
2023-11-05 17:17:05 +01:00
1995b73868 Update python Docker tag to v3.12 2023-11-05 17:16:56 +01:00
0f4ca4314d Merge pull request 'Update dependency pytest to v7.4.3' () from renovate/pytest-7.x into master
Reviewed-on: 
2023-11-05 17:16:04 +01:00
deaeca5f0b Update dependency pytest to v7.4.3 2023-10-24 20:17:22 +00:00
f8670bebce Merge pull request 'Update dependency tornado to v6.3.3' () from renovate/tornado-6.x into master
Reviewed-on: 
2023-09-22 17:53:23 +02:00
d1845d7bba Update dependency tornado to v6.3.3 2023-09-22 17:53:08 +02:00
aff17df4cb Merge pull request 'Update python Docker tag to v3.11' () from renovate/python-3.x into master
Reviewed-on: 
2023-09-22 17:52:50 +02:00
53595bebda Update python Docker tag to v3.11 2023-09-22 17:52:30 +02:00
ab37ee689d Merge pull request 'Update dependency pytest to v7' () from renovate/pytest-7.x into master
Reviewed-on: 
2023-09-22 17:52:10 +02:00
8c3d8ae96e Update dependency pytest to v7 2023-09-07 19:18:29 +00:00
ad20e58cdf Merge pull request 'Configure Renovate' () from renovate/configure into master
Reviewed-on: https://gitea.n39.eu/Netz39_Vorstand/entities_service/pulls/6
2023-09-01 18:24:00 +02:00
f4aa0b403d Add renovate.json 2023-07-29 19:36:03 +00:00
4 changed files with 54 additions and 5 deletions

View file

@ -8,7 +8,7 @@ COPY . /git/
RUN find . -type d -name .git -exec git describe --always --dirty > /git-version.txt \;
FROM python:3.8
FROM python:3.12
EXPOSE 8080

46
app.py
View file

@ -18,6 +18,26 @@ from gitmgr import GitManagerConfiguration, GitManager
startup_timestamp = datetime.now()
class AuthenticatedHandler(tornado.web.RequestHandler, metaclass=ABCMeta):
# noinspection PyAttributeOutsideInit
def initialize(self, auth_provider=None):
self.auth_provider = auth_provider
def prepare(self):
if self.auth_provider is None:
return
# check authentication
auth_hdr = "Authentication"
if auth_hdr not in self.request.headers:
raise tornado.web.HTTPError(401, reason="authentication not provided")
tk = self.request.headers[auth_hdr]
if not self.auth_provider.validate_token(tk):
raise tornado.web.HTTPError(403, reason="invalid authentication token provided")
class HealthHandler(tornado.web.RequestHandler, metaclass=ABCMeta):
# noinspection PyAttributeOutsideInit
def initialize(self, sources=None):
@ -77,12 +97,38 @@ class Oas3Handler(tornado.web.RequestHandler, metaclass=ABCMeta):
self.finish()
class AllEntitiesHandler(AuthenticatedHandler, metaclass=ABCMeta):
# noinspection PyAttributeOutsideInit
def initialize(self, auth_provider=None):
super().initialize(auth_provider)
def post(self):
pass
def get(self):
pass
class SingleEntityHandler(AuthenticatedHandler, metaclass=ABCMeta):
# noinspection PyAttributeOutsideInit
def initialize(self, auth_provider=None):
super().initialize(auth_provider)
def post(self, identifier):
pass
def get(self, identifier):
pass
def make_app(_auth_provider=None, gitmgr=None):
version_path = r"/v[0-9]"
return tornado.web.Application([
(version_path + r"/health", HealthHandler,
{"sources": [lambda: {"git-head": gitmgr.head_sha}] if gitmgr else None}),
(version_path + r"/oas3", Oas3Handler),
(version_path + r"/entities", AllEntitiesHandler, {"auth_provider": _auth_provider}),
(version_path + r"/entity/{.*}", SingleEntityHandler, {"auth_provider": _auth_provider}),
])

3
renovate.json Normal file
View file

@ -0,0 +1,3 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json"
}

View file

@ -1,4 +1,4 @@
tornado==6.0.4
isodate==0.6.0
pytest==5.4.1
GitPython==3.1.12
tornado==6.3.3
isodate==0.6.1
pytest==7.4.3
GitPython==3.1.40