Maxime Alves LIRMM@home
1ec244b60f
[lib.constants] route keys are optional, in case of empty routers
2021-12-01 12:20:32 +01:00
Maxime Alves LIRMM@home
5e88109b3e
manipuler le sys.path : BAAAD
2021-12-01 12:14:27 +01:00
Maxime Alves LIRMM@home
e293ac3867
[cli/domain] create domain function rework - creates a basic domain
2021-12-01 12:08:24 +01:00
Maxime Alves LIRMM
7e1cc21b8c
[wip][testfail] update config monodomain - schema gives acls
2021-11-30 18:31:40 +01:00
Maxime Alves LIRMM
ec26438340
[schemas] supression des fonctions api_routes
2021-11-30 14:40:07 +01:00
Maxime Alves LIRMM
18dbbdd584
[app] enable use of SCHEMA to run halfapi, fix tests
2021-11-30 11:20:26 +01:00
Maxime Alves LIRMM
b3b32b47f8
[cli.run] halfapi run SCHEMA.csv
2021-11-30 10:42:00 +01:00
Maxime Alves LIRMM
189fcf86f7
[cli.routes] halfapi routes --export
2021-11-30 01:54:48 +01:00
Maxime Alves LIRMM
55878df260
[lib.domain] use args_check by default, even on async functions
2021-11-30 01:52:02 +01:00
Maxime Alves LIRMM
a6985fa9bf
[halfapi] configuration globals go lowercase
2021-11-30 01:50:27 +01:00
Maxime Alves LIRMM
ed6dcb0513
[halfapi] application becomes a private attribute
2021-11-30 01:49:37 +01:00
Maxime Alves LIRMM
7017827b2b
[lib] small fixes
2021-11-30 01:46:30 +01:00
Maxime Alves LIRMM
1fda2ab15d
[lib.schemas] add schema_csv_dict and schema_to_csv function
2021-11-30 01:42:29 +01:00
Maxime Alves LIRMM
c9639ddbc0
[constants] add lib "schema" Schemas for all items
2021-11-30 00:37:13 +01:00
Maxime Alves LIRMM@home
e203552876
[dummy_domain] add async routes, and routes that use arguments
2021-11-29 08:37:52 +01:00
Maxime Alves LIRMM@home
ac4aadc2df
[conf][testfail] add SCHEMA dictionary to globals
2021-11-29 06:21:48 +01:00
Maxime Alves LIRMM@home
c27ed3a966
[routers] docstring is mandator in route methods. YAML is used for markup
2021-11-29 06:08:24 +01:00
Maxime Alves LIRMM@home
47d81c048f
[lib] route_acl_decorator becomes HalfRoute.acl_decorator, creation of HalfRoute that wraps starlette.route
2021-11-29 05:42:26 +01:00
Maxime Alves LIRMM
ad6877a7e9
[run] add arguments for config
2021-11-23 13:53:08 +01:00
Maxime Alves LIRMM
e7e1bfed1b
[conf] halfapi config now dumps the .ini of the current config
2021-11-23 13:35:12 +01:00
Maxime Alves LIRMM
f0e662e060
[conf] remove is_project variable
2021-11-23 11:39:33 +01:00
Maxime Alves LIRMM
ea8e7ede65
[cli.routes:export] shows a header to describe the CSV, can be deactivated
2021-11-22 20:14:05 +01:00
Maxime Alves LIRMM
f4880f1f9c
[lib.domain] wraps function when loading routes from modules, to get the real name
2021-11-22 20:09:57 +01:00
Maxime Alves LIRMM
4a8cb008e6
[cli.routes] add routes command, allows exporting route dict as csv
2021-11-22 20:06:50 +01:00
Maxime Alves LIRMM
049860fce5
[lib.domain] gen_router_routes yields router module also
2021-11-22 20:06:12 +01:00
Maxime Alves LIRMM
908eab5fdc
[lib.user] move JWTUser, Nobody and CheckUser to lib.user
2021-11-22 20:05:17 +01:00
Maxime Alves LIRMM
ce672eeb30
[cli.domain] fix list routes
2021-11-22 19:09:02 +01:00
Maxime Alves LIRMM
1f20a336e2
[conf] production now defaults to true
2021-11-22 18:30:29 +01:00
Maxime Alves LIRMM
0173eb6d72
HalfAPI class clean and rewrite
2021-11-22 18:18:06 +01:00
Maxime Alves LIRMM
ad9bd45ba0
[logging] use logger from halfapi.logging
2021-11-16 17:45:40 +01:00
Maxime Alves LIRMM@home
5a0509a114
set loglevel even if in production
2021-10-12 03:10:10 +02:00
Maxime Alves LIRMM@home
c99e636d6e
[0.5.13]
...
Squashed commit of the following:
commit 4552d85cc49fda572e54aa9c8054031554bfcb3a
Author: Maxime Alves LIRMM@home <maxime.alves@lirmm.fr>
Date: Thu Oct 7 13:57:37 2021 +0200
[0.5.13]
commit 38032acfac559155b31c12cf12673c81b7cfdf20
Author: Maxime Alves LIRMM@home <maxime.alves@lirmm.fr>
Date: Thu Oct 7 13:57:12 2021 +0200
add 503 error code
commit 6f516e844b0f3786aa571d1ac8d575247ff7b7fe
Author: Maxime Alves LIRMM@home <maxime.alves@lirmm.fr>
Date: Thu Oct 7 13:26:15 2021 +0200
[ci] add run halfapi --version
2021-10-07 13:58:03 +02:00
Maxime Alves LIRMM@home
8b88d7f1b4
[0.5.12] fix production no reload
2021-10-07 13:23:53 +02:00
Maxime Alves LIRMM@home
f27b68e350
[0.5.11]
2021-10-04 22:16:27 +02:00
Maxime Alves LIRMM@home
f3c12f516e
[cli] run does not reload modules by default
2021-10-04 20:11:32 +02:00
Maxime Alves LIRMM
55109e271c
[conf] fix HALFAPI_PROD variable that is set to a string
2021-09-03 16:38:20 +02:00
Maxime Alves LIRMM
51877b271e
[conf] Read "HALFAPI_SECRET" file content if the option is not specified. Do not use HALFAPI_SECRET to store the *secret* value
2021-09-03 16:22:55 +02:00
Maxime Alves LIRMM
061c966072
[lib.domain] fix mounting domains with environment variable
2021-09-03 14:56:18 +02:00
Maxime Alves LIRMM
cdd2214043
[conf] halfapi becomes configurable only by environment variables (for one domain)
2021-09-03 13:17:06 +02:00
Maxime Alves LIRMM
0470f9fa89
[0.5.9] release
...
Squashed commit of the following:
commit 7fe3e22f5e4108b5eb149abf8d608334debc49ca
Author: Maxime Alves LIRMM <maxime.alves@lirmm.fr>
Date: Thu Sep 2 16:59:52 2021 +0200
[0.5.9] release
commit c36c0fcc982388a5acf2f9f937fa8ab54a18f3de
Author: Maxime Alves LIRMM <maxime.alves@lirmm.fr>
Date: Thu Sep 2 16:53:13 2021 +0200
[conf] fix #19 et ajout du test (test_dummy_project_router/test_get_config)
configuration du domaine accessible depuis :
l'attribut config de l'argument "halfapi" pour les fonctions
request.scope['config'] pour les fonctions async
commit cc235eee8c6f8f5d3606dda0f88156697eac296e
Author: Maxime Alves LIRMM <maxime.alves@lirmm.fr>
Date: Thu Sep 2 14:59:17 2021 +0200
[tests] don't import click two times
commit fa418478c76205bb407e536737d8e389b4bf391c
Author: Maxime Alves LIRMM <maxime.alves@lirmm.fr>
Date: Thu Sep 2 14:57:06 2021 +0200
[clean] remove unused variables, remove [] as default value in fct, raise from exc
2021-09-02 17:01:36 +02:00
Maxime Alves LIRMM
bc556854ac
Fix #21 by simplifying DomainMiddleware
...
Tests are passing, but we loose the by-domain configuration (#19 )
Squashed commit of the following:
commit d75fafcb9a043ac2540b2ac135704721b002d3c0
Author: Maxime Alves LIRMM <maxime.alves@lirmm.fr>
Date: Thu Sep 2 14:40:05 2021 +0200
fix #21
commit 38c59e4ea3b40bd230f2add2bb0e05772913c097
Author: Maxime Alves LIRMM <maxime.alves@lirmm.fr>
Date: Thu Sep 2 01:13:51 2021 +0200
[deps] starlette 0.15 (breaks tests)
FAILED tests/test_debug_routes.py::test_current_user - AttributeError: 'DomainMiddleware' object has no attribute 'call_next'
FAILED tests/test_debug_routes.py::test_log - AttributeError: 'DomainMiddleware' object has no attribute 'call_next'
FAILED tests/test_debug_routes.py::test_error - AttributeError:
'DomainMiddleware' object has no attribute 'call_next'
FAILED tests/test_dummy_project_router.py::test_get_route - AttributeError: 'DomainMiddleware' object has no attribute 'call_next'
FAILED tests/test_dummy_project_router.py::test_delete_route - AttributeError: 'DomainMiddleware' object has no attribute 'call_next'
FAILED tests/test_lib_schemas.py::test_get_api_routes - AttributeError: 'DomainMiddleware' object has no attribute 'call_next'
FAILED tests/test_lib_schemas.py::test_get_schema_route - AttributeError: 'DomainMiddleware' object has no attribute 'call_next'
FAILED tests/test_lib_schemas.py::test_get_api_dummy_domain_routes - AttributeError: 'DomainMiddleware' object has no attribute 'call_next'
2021-09-02 14:45:06 +02:00
Maxime Alves LIRMM
844f6a8f14
[packaging] 0.5.8 update to PyPi
2021-09-01 15:59:47 +02:00
Maxime Alves LIRMM
387fc01f44
[0.5.7] release, real fix for halfapi/acl route bug
2021-07-06 11:30:30 +02:00
Maxime Alves LIRMM
c2054e9aa9
[lib.domain.domain_acls] fix ROUTES constant using read_router function
2021-07-06 11:28:23 +02:00
Maxime Alves LIRMM@home
0e669b81b0
[domain] do not raise exception when the router is missing the ROUTES variable in halfapi/acls route
2021-06-30 15:13:57 +02:00
Maxime Alves LIRMM@home
c920531610
[release] 0.5.6
2021-06-25 12:21:40 +02:00
Maxime Alves LIRMM@home
bb50fae186
[lib.acl] fixes #20
2021-06-25 12:21:10 +02:00
Maxime Alves LIRMM
0c3aeb532f
[0.5.5] retablissement de la configuration par domaine
2021-06-23 15:04:37 +02:00
Maxime Alves LIRMM
8a9f93b9e0
[conf] lecture des sections du nom des domaines activés et ajout dans request.scope['config']['config']
2021-06-23 15:03:00 +02:00
Maxime Alves LIRMM
9381e1582e
[0.5.4]
2021-06-18 17:11:34 +02:00
Maxime Alves LIRMM
a539212faf
[lib.acl] fix args_check for get parameters
2021-06-18 12:08:51 +02:00
Maxime Alves LIRMM
a14285475e
[lib.domain] check if an HTTPException is raised, else raise an HTTPException(500)
2021-06-18 10:39:05 +02:00
Maxime Alves LIRMM@home
15d69efd60
[tests] /halfapi/schema
2021-06-17 19:14:39 +02:00
Maxime Alves LIRMM@home
2819483070
[doc] docstring for api_routes
2021-06-17 19:02:11 +02:00
Maxime Alves LIRMM@home
81f6cf8b39
[0.5.3]
...
Squashed commit of the following:
commit ac935db6d6
Author: Maxime Alves LIRMM@home <maxime.alves@lirmm.fr>
Date: Thu Jun 17 18:52:49 2021 +0200
[tests] remove dummy-domain from dependencies
commit 4d50363c9b
Author: Maxime Alves LIRMM@home <maxime.alves@lirmm.fr>
Date: Thu Jun 17 18:52:18 2021 +0200
[tests] update tests for 0.5.3
commit 6181592692
Author: Maxime Alves LIRMM@home <maxime.alves@lirmm.fr>
Date: Thu Jun 17 18:17:51 2021 +0200
[lib.*] Refactor libs
commit ed7485a8a1
Author: Maxime Alves LIRMM@home <maxime.alves@lirmm.fr>
Date: Thu Jun 17 18:15:10 2021 +0200
[app] Use HalfAPI class to be able to use custom configuration
à
commit fa1ca6bf9d
Author: Maxime Alves LIRMM <maxime.alves@lirmm.fr>
Date: Wed Jun 16 15:34:25 2021 +0200
[wip] tests dummy_domain
commit 86e8dd3465
Author: Maxime Alves LIRMM <maxime.alves@lirmm.fr>
Date: Tue Jun 15 18:12:13 2021 +0200
[0.5.3] ajout de la config actuelle dans les arguments des routes
commit aa7ec62c7a
Author: Maxime Alves LIRMM <maxime.alves@lirmm.fr>
Date: Tue Jun 15 11:16:23 2021 +0200
[lib.jwtMw] verify signature even if halfapi is in DEBUG mode
commit e208728d7e
Author: Maxime Alves LIRMM <maxime.alves@lirmm.fr>
Date: Tue Jun 15 10:49:46 2021 +0200
[lib.acl] args_check doesn't check required/optional arguments if "args" is not specified in request, if the target function is not async
commit aa4c309778
Author: Maxime Alves LIRMM <maxime.alves@lirmm.fr>
Date: Tue Jun 15 09:45:37 2021 +0200
[lib.domain] SUBROUTER can be a path parameter if including ":"
commit 138420461d
Author: Maxime Alves LIRMM@home <maxime.alves@lirmm.fr>
Date: Tue Jun 15 07:24:32 2021 +0200
[gitignore] *.swp
commit 0c1e2849ba
Author: Maxime Alves LIRMM@home <maxime.alves@lirmm.fr>
Date: Tue Jun 15 07:24:14 2021 +0200
[tests] test get route with dummy projects
commit 7227e2d7f1
Author: Maxime Alves LIRMM@home <maxime.alves@lirmm.fr>
Date: Mon Jun 14 17:18:47 2021 +0200
[lib.domain] handle modules without ROUTES attribute
commit 78c75cd60e
Author: Maxime Alves LIRMM@home <maxime.alves@lirmm.fr>
Date: Mon Jun 14 16:34:58 2021 +0200
[tests] add dummy_project_router tests for path-based routers (without ROUTES variable)
2021-06-17 18:53:23 +02:00
Maxime Alves LIRMM
eb68d06ac0
[0.5.2] /halfapi/acls crash if acl attribute does not exist on a route
2021-06-07 19:40:50 +02:00
Maxime Alves LIRMM
3fb6fb4ded
[0.5.1] Reactivation de la route "/halfapi/acls" (bug lors de multiples de domaines)
2021-06-07 19:30:00 +02:00
Maxime Alves LIRMM
e5a278c84c
[release] 0.5.0
2021-06-07 16:44:43 +02:00
Maxime Alves LIRMM
e0b06f51d5
[acl decorator] when check flag is activated, returns a 200 status code with empty body if no acl has passed
...
check function should always return 200. If we don't do this, we can't see the difference between a "refused" call and a "refused" check
2021-05-28 22:23:20 +02:00
Maxime Alves LIRMM
8ca94ab7ed
[acl decorator] possibility to decorate functions with "@route_acl_decorator"
2021-05-28 22:22:05 +02:00
Maxime Alves LIRMM
e4e04c6ac1
[JWTmw] add CheckUser to be used when using the "check" flag. Add "user_id" query param to check access of a specific user to a route
2021-05-28 22:18:58 +02:00
Maxime Alves LIRMM
a82fd6def0
[acl] ajout de l'acl private (test purposes)
2021-05-28 22:02:35 +02:00
Maxime Alves LIRMM@home
933f456c86
Montage des routes uniquement si les variables DOMAINDICt et SECREt sont présentes
2021-04-27 08:26:48 +02:00
Maxime Alves LIRMM@home
5276833afe
[lib/domain] ajout du dossier courant dans le path pour import de librairies dans le dossier du projet
2021-04-24 23:54:18 +02:00
Maxime Alves LIRMM@home
10b1960f4e
nettoyage / commentaires / renommage de variables - JWTUser.id deviens JWTUser.identity
2021-04-24 08:56:18 +02:00
Maxime Alves LIRMM@home
a2fb70f84b
DomainMiddleware ne vérifie plus les domaines non concernés par la première partie du path (optimisation vitesse)
2021-04-23 12:51:51 +02:00
Maxime Alves LIRMM@home
795ca3dcc0
[decorator] ajout du décorateur "args_check" pour automatiser la vérification des args requis/optionels
2021-04-22 23:36:34 +02:00
Maxime Alves LIRMM@home
5b67d938e2
Ajout du timing middleware pour le mode debug
2021-04-22 22:33:02 +02:00
Maxime Alves LIRMM@home
89ec439d3e
ajout du header x-args-required et x-args-optional
2021-04-22 22:06:27 +02:00
Maxime Alves LIRMM@home
b5ef4a12d1
Ajout du header http "x-acl" qui renseigne l'acl qui a passé dans une requête
2021-04-22 22:04:21 +02:00
Maxime Alves LIRMM@home
4eb23fd189
Ajout de l'option "check" permettant de connaître l'acl qui passe
2021-04-22 17:30:21 +02:00
Maxime Alves LIRMM@home
e1c3d61207
Rajout de l'argument "doc" sur la route /halfapi/acls
2021-04-22 11:45:12 +02:00
Maxime Alves LIRMM@home
607a288e28
[debug] ajout des routes /error/{code:str} et /exception
2021-03-12 18:59:30 +01:00
Maxime Alves LIRMM@home
fecdaa29e5
[update] mise à jour du Pipfile.lock et de jwt_middleware
...
Upgrade de toutes les dépendances
Suppression de la dépendance à jwt
Tests : ok
2021-01-26 00:58:59 +01:00
Joël Maïzi
f36a2d8e06
[ORJSONResponse] Handle sets.
2021-01-25 10:44:07 +01:00
Joël Maïzi
a5300962ad
[responses] cast set to list.
2021-01-23 08:49:07 +01:00
Maxime Alves LIRMM
d21ee175e9
[responses] cast special types in ORJSONResponse
2021-01-14 10:55:02 +01:00
Maxime Alves LIRMM@home
f8e546007c
[conf] lower loglevel string
2020-12-04 18:12:42 +01:00
Maxime Alves LIRMM@home
8d414f2bdd
[config] ajout de l'option LOGLEVEL (info|debug|warning...)
2020-12-04 10:13:54 +01:00
Maxime Alves LIRMM@home
e61dd7eeaa
[logs] change level de certains messages
2020-12-03 18:49:37 +01:00
Maxime Alves LIRMM@home
f4ba64f186
[debug] added /halfapi/log as a debug route that generates all type of logs
2020-11-12 17:56:05 +01:00
Maxime Alves LIRMM@home
d4a6bb1a04
[domainMW] set "acl_pass" variable into scope
2020-11-09 21:27:23 +01:00
Maxime Alves LIRMM@home
5d4b8d38b4
0.3.1
2020-11-09 21:26:31 +01:00
Maxime Alves LIRMM@home
9516eaa6d7
RAISES when a router import fails - test your domains routers FFS
2020-11-04 17:02:19 +01:00
Maxime Alves LIRMM@home
56657036e4
Added logging for acls
2020-11-04 13:32:33 +01:00
Maxime Alves LIRMM@home
73d49031a7
handle configuration when domain does not exist
2020-11-04 12:31:11 +01:00
Maxime Alves LIRMM@home
4782764059
add request.scope['config'] when there is a section with the domains name in the project's configuration
2020-11-04 05:01:26 +01:00
Maxime Alves LIRMM@home
61aec6871a
[release][v0.3.0] Updated version to 0.3.0
2020-10-31 17:48:55 +01:00
Maxime Alves LIRMM@home
9a4f90d36b
/lib/domain - try for ImportError bug
2020-10-27 13:07:49 +01:00
Maxime Alves LIRMM
64e60343bf
[conf] Clean of DOMAINS global variable
2020-10-27 13:07:49 +01:00
Maxime Alves LIRMM
4df34b5d87
logging
2020-10-27 13:07:49 +01:00
Maxime Alves LIRMM
24c68b51f2
[lib] ORJSONResponse can now accept specific encoders
2020-10-26 15:12:03 +01:00
Maxime Alves LIRMM
e590bc31fe
[doc] lib/domain, lib/domain_middlware
2020-10-07 16:13:54 +02:00
Maxime Alves LIRMM
1e1ff2fb69
[routes] skip acls that are falsy
2020-10-07 15:50:50 +02:00
Maxime Alves LIRMM
63b73a2bc1
[middleware][domain] load api and acl objects at each call (TODO: use a cache)
2020-10-07 15:49:49 +02:00
Maxime Alves LIRMM
710d390b49
[cli][conf] suppression of BASE_DIR option (now defaults to os.getcwd)
2020-10-07 15:48:48 +02:00
Maxime Alves LIRMM
cb5724b4fa
[doc] lib/domain_middleware
2020-10-07 13:37:31 +02:00
Maxime Alves LIRMM
23bd876c4c
[conf] fix list comprehension
2020-10-07 09:55:03 +02:00
Maxime Alves LIRMM
f5ebabbcd4
[refactor] update to avoid using global variables, and configuration are not stored in /etc/half_api anymore
...
Added domain_middleware
2020-10-07 09:55:03 +02:00
Maxime Alves LIRMM
781736c151
[logs] print -> logger lib.domain
2020-10-07 09:55:03 +02:00