Tom Hacohen 
							
						 
					 
					
						
						
						
						
							
						
						
							233aeab98b 
							
						 
					 
					
						
						
							
							Support login and invitations using email rather than just username.  
						
						
						
					 
					
						2021-01-27 09:35:36 +02:00 
						 
				 
			
				
					
						
							
							
								Tom Hacohen 
							
						 
					 
					
						
						
						
						
							
						
						
							240469342b 
							
						 
					 
					
						
						
							
							Move reporting item changes to a background task.  
						
						
						
					 
					
						2021-01-12 11:57:43 +02:00 
						 
				 
			
				
					
						
							
							
								Tom Hacohen 
							
						 
					 
					
						
						
						
						
							
						
						
							61bd82f1e3 
							
						 
					 
					
						
						
							
							Subscriptions: stream missing items if user passed an old stoken.  
						
						
						
					 
					
						2021-01-11 22:15:12 +02:00 
						 
				 
			
				
					
						
							
							
								Tom Hacohen 
							
						 
					 
					
						
						
						
						
							
						
						
							f52facad1c 
							
						 
					 
					
						
						
							
							Subscriptions: implement live subscriptions for collection items  
						
						
						
					 
					
						2021-01-11 22:15:12 +02:00 
						 
				 
			
				
					
						
							
							
								Tom Hacohen 
							
						 
					 
					
						
						
						
						
							
						
						
							cd4131e890 
							
						 
					 
					
						
						
							
							Exceptions: make sure error codes aren't None.  
						
						
						
					 
					
						2021-01-11 22:12:41 +02:00 
						 
				 
			
				
					
						
							
							
								Tom Hacohen 
							
						 
					 
					
						
						
						
						
							
						
						
							1349f99cd3 
							
						 
					 
					
						
						
							
							Exceptions: inherit from the fastapi HTTPException.  
						
						
						
					 
					
						2021-01-09 19:52:10 +02:00 
						 
				 
			
				
					
						
							
							
								Tom Hacohen 
							
						 
					 
					
						
						
						
						
							
						
						
							9f0430a6da 
							
						 
					 
					
						
						
							
							Improve types.  
						
						
						
					 
					
						2021-01-04 14:23:30 +02:00 
						 
				 
			
				
					
						
							
							
								Tom Hacohen 
							
						 
					 
					
						
						
						
						
							
						
						
							9bf118225d 
							
						 
					 
					
						
						
							
							Exceptions: fix error when transforming django validation errors.  
						
						
						
					 
					
						2021-01-04 10:15:38 +02:00 
						 
				 
			
				
					
						
							
							
								Tom Hacohen 
							
						 
					 
					
						
						
						
						
							
						
						
							43dede57d2 
							
						 
					 
					
						
						
							
							Exceptions: fix types.  
						
						
						
					 
					
						2021-01-04 10:15:38 +02:00 
						 
				 
			
				
					
						
							
							
								Tom Hacohen 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							3894fd205b 
							
						 
					 
					
						
						
							
							README: mention minimum requirements  
						
						
						
					 
					
						2021-01-03 12:55:24 +02:00 
						 
				 
			
				
					
						
							
							
								Tom Hacohen 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							84870d25bf 
							
						 
					 
					
						
						
							
							README: mention that Windows requires WSL  
						
						
						
					 
					
						2021-01-03 09:14:10 +02:00 
						 
				 
			
				
					
						
							
							
								Tom Hacohen 
							
						 
					 
					
						
						
						
						
							
						
						
							2e21fe4994 
							
						 
					 
					
						
						
							
							Django db cleanup: explicitly add it to dependencies.  
						
						... 
						
						
						
						We can't really add it manually, because some of the deps are auto included as
parameters. These were not being decorated which in turn meeant issues. 
						
					 
					
						2020-12-31 10:03:16 +02:00 
						 
				 
			
				
					
						
							
							
								Tom Hacohen 
							
						 
					 
					
						
						
						
						
							
						
						
							5b8f667e55 
							
						 
					 
					
						
						
							
							Cleanup django db connections before every request and every dependency.  
						
						... 
						
						
						
						This is instead of the commit we reverted in the previous commit.
The problem is that django keeps the connection per thread and it relies
on django itself to clean them up before/after connections.
We can't do this, because django is unaware of fastapi, so we have to
manage this ourselves.
The easiest way is to call it at the beginning of evenry route and every dep.
We need to do it for each because unfortunately fastapi may send them to
different worker threads. 
						
					 
					
						2020-12-30 17:16:58 +02:00 
						 
				 
			
				
					
						
							
							
								Tom Hacohen 
							
						 
					 
					
						
						
						
						
							
						
						
							6ec03c3d34 
							
						 
					 
					
						
						
							
							Revert "Add a django middleware to cleanup db connections."  
						
						... 
						
						
						
						This ended up being useless because of the way startlette and fastapi do
thread pools. The middleware is called in one thread, the path in
another, and the dependency in yet another.
This reverts commit 473448246f 
						
					 
					
						2020-12-30 15:37:59 +02:00 
						 
				 
			
				
					
						
							
							
								Tom Hacohen 
							
						 
					 
					
						
						
						
						
							
						
						
							6738c2cf20 
							
						 
					 
					
						
						
							
							Remove unused variable.  
						
						
						
					 
					
						2020-12-30 13:55:05 +02:00 
						 
				 
			
				
					
						
							
							
								Tom Hacohen 
							
						 
					 
					
						
						
						
						
							
						
						
							64be7f10bd 
							
						 
					 
					
						
						
							
							Remove all of the needless async decorators.  
						
						... 
						
						
						
						The code uses the django ORM which is sync, and fastapi handles sync paths
just fine. So having all of this extra code for handling async was unnecessary. 
						
					 
					
						2020-12-30 10:17:01 +02:00 
						 
				 
			
				
					
						
							
							
								Tom Hacohen 
							
						 
					 
					
						
						
						
						
							
						
						
							473448246f 
							
						 
					 
					
						
						
							
							Add a django middleware to cleanup db connections.  
						
						... 
						
						
						
						This severely impacts performance, though without it we are getting
django.db.utils.InterfaceError once connections in the pool go stale. 
						
					 
					
						2020-12-30 09:26:33 +02:00 
						 
				 
			
				
					
						
							
							
								Tom Hacohen 
							
						 
					 
					
						
						
						
						
							
						
						
							a7fdb4a108 
							
						 
					 
					
						
						
							
							More typing fixes.  
						
						
						
					 
					
						2020-12-29 21:10:03 +02:00 
						 
				 
			
				
					
						
							
							
								Simon Vandevelde 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							6615b149c5 
							
						 
					 
					
						
						
							
							Update README with wiki changes ( #82 )  
						
						... 
						
						
						
						* Changed link to wiki
* Removed unneeded links (as uWSGI won't be supported)
* Added --host flag to uvicorn command, as the server is only accessible from the host machine otherwise (and not from another in the local network) 
						
					 
					
						2020-12-29 21:04:48 +02:00 
						 
				 
			
				
					
						
							
							
								Tom Hacohen 
							
						 
					 
					
						
						
						
						
							
						
						
							981e1a9a6a 
							
						 
					 
					
						
						
							
							Add mypy config.  
						
						
						
					 
					
						2020-12-29 21:01:18 +02:00 
						 
				 
			
				
					
						
							
							
								Tom Hacohen 
							
						 
					 
					
						
						
						
						
							
						
						
							8bfdbc55a3 
							
						 
					 
					
						
						
							
							Add typing extensions to requirements.  
						
						
						
					 
					
						2020-12-29 18:53:31 +02:00 
						 
				 
			
				
					
						
							
							
								Tom Hacohen 
							
						 
					 
					
						
						
						
						
							
						
						
							c4235662d8 
							
						 
					 
					
						
						
							
							Use uvicorn[standard] in requirements to get some added extras.  
						
						
						
					 
					
						2020-12-29 18:50:30 +02:00 
						 
				 
			
				
					
						
							
							
								Tom Hacohen 
							
						 
					 
					
						
						
						
						
							
						
						
							709bc6c1fc 
							
						 
					 
					
						
						
							
							Improve typing information.  
						
						
						
					 
					
						2020-12-29 18:17:28 +02:00 
						 
				 
			
				
					
						
							
							
								Tom Hacohen 
							
						 
					 
					
						
						
						
						
							
						
						
							332f7e2332 
							
						 
					 
					
						
						
							
							Fix Python 3.7 compatibility  
						
						... 
						
						
						
						Both cached_property and Literal were introduced in Python 3.8 so they
can't be used. 
						
					 
					
						2020-12-29 17:55:55 +02:00 
						 
				 
			
				
					
						
							
							
								Tom Hacohen 
							
						 
					 
					
						
						
						
						
							
						
						
							8245577dfb 
							
						 
					 
					
						
						
							
							Rename module to prevent confusion on import.  
						
						
						
					 
					
						2020-12-29 16:55:21 +02:00 
						 
				 
			
				
					
						
							
							
								Tom Hacohen 
							
						 
					 
					
						
						
						
						
							
						
						
							174e54681d 
							
						 
					 
					
						
						
							
							Improve type annotations.  
						
						
						
					 
					
						2020-12-29 16:10:11 +02:00 
						 
				 
			
				
					
						
							
							
								Tom Hacohen 
							
						 
					 
					
						
						
						
						
							
						
						
							62eb46ec4e 
							
						 
					 
					
						
						
							
							msgpack route: use the encode/decode functions from the utils module.  
						
						
						
					 
					
						2020-12-29 15:44:52 +02:00 
						 
				 
			
				
					
						
							
							
								Tom Hacohen 
							
						 
					 
					
						
						
						
						
							
						
						
							dbdff06e68 
							
						 
					 
					
						
						
							
							Move all the routers under their own dir.  
						
						
						
					 
					
						2020-12-29 15:42:41 +02:00 
						 
				 
			
				
					
						
							
							
								Tom Hacohen 
							
						 
					 
					
						
						
						
						
							
						
						
							8bf04fc286 
							
						 
					 
					
						
						
							
							Reformat files using black.  
						
						
						
					 
					
						2020-12-29 15:37:11 +02:00 
						 
				 
			
				
					
						
							
							
								Tom Hacohen 
							
						 
					 
					
						
						
						
						
							
						
						
							e6b47ae1a9 
							
						 
					 
					
						
						
							
							Fix login_challenge to work with get_user_queryset.  
						
						
						
					 
					
						2020-12-29 15:17:46 +02:00 
						 
				 
			
				
					
						
							
							
								Tom Hacohen 
							
						 
					 
					
						
						
						
						
							
						
						
							ff55904f49 
							
						 
					 
					
						
						
							
							Fix user type  
						
						
						
					 
					
						2020-12-29 14:04:17 +02:00 
						 
				 
			
				
					
						
							
							
								Tom Hacohen 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							259e395c92 
							
						 
					 
					
						
						
							
							Merge: change the server to use FastAPI  
						
						... 
						
						
						
						FastAPI is much faster (twice as fast in our testing environment), though
more importantly it's much faster to develop with, much less error-prone
thanks to strong typing, and makes it easier to further extend the server.
We currently still use the Django ORM behind the scenes, which means we still
get all of the benefits of the django admin UI, and being able to use django
for the non-API parts.
Merge of #72  
						
					 
					
						2020-12-29 13:51:51 +02:00 
						 
				 
			
				
					
						
							
							
								Tom Hacohen 
							
						 
					 
					
						
						
						
						
							
						
						
							84b6114e99 
							
						 
					 
					
						
						
							
							Requirements: add dev requirements and django-stubs.  
						
						
						
					 
					
						2020-12-29 13:43:11 +02:00 
						 
				 
			
				
					
						
							
							
								Tom Hacohen 
							
						 
					 
					
						
						
						
						
							
						
						
							794b5f3983 
							
						 
					 
					
						
						
							
							Fix many type errors.  
						
						
						
					 
					
						2020-12-29 13:32:19 +02:00 
						 
				 
			
				
					
						
							
							
								Tom Hacohen 
							
						 
					 
					
						
						
						
						
							
						
						
							e13f26ec56 
							
						 
					 
					
						
						
							
							Fix handling of legacy accounts that don't have collection type.  
						
						
						
					 
					
						2020-12-29 10:27:35 +02:00 
						 
				 
			
				
					
						
							
							
								Tom Hacohen 
							
						 
					 
					
						
						
						
						
							
						
						
							f67730f42d 
							
						 
					 
					
						
						
							
							Support passing custom middlewares.  
						
						
						
					 
					
						2020-12-29 10:12:36 +02:00 
						 
				 
			
				
					
						
							
							
								Tom Hacohen 
							
						 
					 
					
						
						
						
						
							
						
						
							a8b97e60d4 
							
						 
					 
					
						
						
							
							Docs: improve metadata.  
						
						
						
					 
					
						2020-12-29 09:46:20 +02:00 
						 
				 
			
				
					
						
							
							
								Tom Hacohen 
							
						 
					 
					
						
						
						
						
							
						
						
							7714148807 
							
						 
					 
					
						
						
							
							Use ValidationError when appropriate.  
						
						
						
					 
					
						2020-12-28 18:49:05 +02:00 
						 
				 
			
				
					
						
							
							
								Tom Hacohen 
							
						 
					 
					
						
						
						
						
							
						
						
							f0a8689712 
							
						 
					 
					
						
						
							
							Implement sendfile.  
						
						
						
					 
					
						2020-12-28 18:46:37 +02:00 
						 
				 
			
				
					
						
							
							
								Tom Hacohen 
							
						 
					 
					
						
						
						
						
							
						
						
							c7f09d3fef 
							
						 
					 
					
						
						
							
							implement chunk_download.  
						
						
						
					 
					
						2020-12-28 18:25:06 +02:00 
						 
				 
			
				
					
						
							
							
								Tom Hacohen 
							
						 
					 
					
						
						
						
						
							
						
						
							53b22602b2 
							
						 
					 
					
						
						
							
							Implement chunk_update.  
						
						
						
					 
					
						2020-12-28 18:18:55 +02:00 
						 
				 
			
				
					
						
							
							
								Tom Hacohen 
							
						 
					 
					
						
						
						
						
							
						
						
							dcf81aa9ce 
							
						 
					 
					
						
						
							
							Fix prefetch medium.  
						
						
						
					 
					
						2020-12-28 18:17:41 +02:00 
						 
				 
			
				
					
						
							
							
								Tom Hacohen 
							
						 
					 
					
						
						
						
						
							
						
						
							f7858a20b7 
							
						 
					 
					
						
						
							
							Fix user creation.  
						
						
						
					 
					
						2020-12-28 17:46:20 +02:00 
						 
				 
			
				
					
						
							
							
								Tom Hacohen 
							
						 
					 
					
						
						
						
						
							
						
						
							3d438b9591 
							
						 
					 
					
						
						
							
							Cleanup validation errors.  
						
						
						
					 
					
						2020-12-28 17:39:51 +02:00 
						 
				 
			
				
					
						
							
							
								Tom Hacohen 
							
						 
					 
					
						
						
						
						
							
						
						
							10ff303b75 
							
						 
					 
					
						
						
							
							Fix formatting.  
						
						
						
					 
					
						2020-12-28 17:09:20 +02:00 
						 
				 
			
				
					
						
							
							
								Tom Hacohen 
							
						 
					 
					
						
						
						
						
							
						
						
							fa0979dce1 
							
						 
					 
					
						
						
							
							Test reset: clean reset function.  
						
						
						
					 
					
						2020-12-28 16:57:09 +02:00 
						 
				 
			
				
					
						
							
							
								Tom Hacohen 
							
						 
					 
					
						
						
						
						
							
						
						
							151bec0d9e 
							
						 
					 
					
						
						
							
							Fix type error.  
						
						
						
					 
					
						2020-12-28 16:44:13 +02:00 
						 
				 
			
				
					
						
							
							
								Tom Hacohen 
							
						 
					 
					
						
						
						
						
							
						
						
							586b015eb7 
							
						 
					 
					
						
						
							
							Login: also return username and email upon login.  
						
						
						
					 
					
						2020-12-28 16:42:39 +02:00 
						 
				 
			
				
					
						
							
							
								Tom Hacohen 
							
						 
					 
					
						
						
						
						
							
						
						
							c2a2e710c9 
							
						 
					 
					
						
						
							
							Move common dependencies to their own file.  
						
						
						
					 
					
						2020-12-28 16:42:39 +02:00 
						 
				 
			
				
					
						
							
							
								Tom Hacohen 
							
						 
					 
					
						
						
						
						
							
						
						
							3e39aa88a1 
							
						 
					 
					
						
						
							
							Remove unused var.  
						
						
						
					 
					
						2020-12-28 16:42:39 +02:00