11import fastapi
22import db_models
33import api_models
4- import uuid
54import typing
65import base64
76import pymongo
7+ from bson import ObjectId
88import pydantic
99
1010
@@ -97,15 +97,15 @@ def route_submit(params: RunSubmitSimpleParams, db: pymongo.database.Database =
9797 fields of request body; `id` will be real id of this run.
9898 """
9999
100- run_uuid = uuid .uuid4 ()
101- user_id = uuid .UUID ('12345678123456781234567812345678' )
102- doc_main = db_models .RunMainProj (id = run_uuid , toolchain_name = params .toolchain ,
100+ user_id = ObjectId ('507f1f77bcf86cd799439011' )
101+ doc_main = db_models .RunMainProj (toolchain_name = params .toolchain ,
103102 problem_name = params .problem , user_id = user_id , contest_name = params .contest , phase = str (db_models .RunPhase .QUEUED ))
104103 doc_source = db_models .RunSourceProj (
105104 source = base64 .b64decode (params .code ))
106105 doc = {** dict (doc_main ), ** dict (doc_source )}
107106 db .runs .insert_one (doc )
108- return api_models .Run (id = run_uuid , toolchain_name = params .toolchain , problem_name = params .problem , user_id = user_id , contest_name = params .contest )
107+ print (type (user_id ))
108+ return api_models .Run (toolchain_name = params .toolchain , problem_name = params .problem , user_id = user_id , contest_name = params .contest )
109109
110110 @app .get ('/runs' , response_model = typing .List [api_models .Run ],
111111 operation_id = 'listRuns' )
@@ -122,7 +122,7 @@ def route_list_runs(db: pymongo.database.Database = fastapi.Depends(db_connect))
122122 return runs
123123
124124 @app .get ('/runs/{run_id}' , response_model = api_models .Run , operation_id = 'getRun' )
125- def route_get_run (run_id : uuid . UUID , db : pymongo .database .Database = fastapi .Depends (db_connect )):
125+ def route_get_run (run_id : db_models . Id , db : pymongo .database .Database = fastapi .Depends (db_connect )):
126126 """
127127 Loads run by id
128128 """
@@ -139,7 +139,7 @@ def route_get_run(run_id: uuid.UUID, db: pymongo.database.Database = fastapi.Dep
139139 'description' : "Run source is not available"
140140 }
141141 })
142- def route_get_run_source (run_id : uuid . UUID , db : pymongo .database .Database = fastapi .Depends (db_connect )):
142+ def route_get_run_source (run_id : db_models . Id , db : pymongo .database .Database = fastapi .Depends (db_connect )):
143143 """
144144 Returns run source as base64-encoded JSON string
145145 """
@@ -154,7 +154,7 @@ def route_get_run_source(run_id: uuid.UUID, db: pymongo.database.Database = fast
154154 return base64 .b64encode (doc ['source' ])
155155
156156 @app .patch ('/runs/{run_id}' , response_model = api_models .Run , operation_id = 'patchRun' )
157- def route_run_patch (run_id : uuid . UUID , patch : RunPatch , db : pymongo .database .Database = fastapi .Depends (db_connect )):
157+ def route_run_patch (run_id : db_models . Id , patch : RunPatch , db : pymongo .database .Database = fastapi .Depends (db_connect )):
158158 """
159159 Modifies existing run
160160
0 commit comments