File tree Expand file tree Collapse file tree 3 files changed +8
-18
lines changed
src/zimfarm_backend/routes/schedules Expand file tree Collapse file tree 3 files changed +8
-18
lines changed Original file line number Diff line number Diff line change 4343 create_offliner_instance ,
4444 get_offliner_definition ,
4545 get_offliner_definition_by_id ,
46- get_offliner_versions ,
4746)
4847from zimfarm_backend .db .schedule import create_schedule as db_create_schedule
4948from zimfarm_backend .db .schedule import (
@@ -135,20 +134,9 @@ def create_schedule(
135134 raise UnauthorizedError ("You are not allowed to create a schedule" )
136135
137136 if offliner_id := request .config .get ("offliner" , {}).get ("offliner_id" ):
138- if request .version :
139- offliner_definition = get_offliner_definition (
140- session , offliner_id , request .version
141- )
142- else :
143- # get the most recent offliner definition
144- results = get_offliner_versions (session , offliner_id , limit = 1 , skip = 0 )
145- if not results .versions :
146- raise RecordDoesNotExistError (
147- f"No offliner definitions found for { offliner_id } "
148- )
149- offliner_definition = get_offliner_definition (
150- session , offliner_id , results .versions [0 ]
151- )
137+ offliner_definition = get_offliner_definition (
138+ session , offliner_id , request .version
139+ )
152140 else :
153141 raise RequestValidationError (
154142 [
Original file line number Diff line number Diff line change @@ -41,9 +41,7 @@ class ScheduleCreateSchema(BaseModel):
4141 periodicity : SchedulePeriodicity
4242 tags : list [NotEmptyString ] = Field (default_factory = list )
4343 enabled : bool
44- # version of offliner to use for validation. Determine latest version to use
45- # if None is provided
46- version : str | None = None
44+ version : NotEmptyString
4745 config : dict [str , Any ] # will be validated in the route
4846 notification : ScheduleNotificationSchema | None = None
4947 context : NotEmptyString | None = None
Original file line number Diff line number Diff line change @@ -168,6 +168,7 @@ def test_get_similar_schedules(
168168 },
169169 "enabled" : True ,
170170 "periodicity" : SchedulePeriodicity .manually .value ,
171+ "version" : "initial" ,
171172 },
172173 HTTPStatus .UNPROCESSABLE_ENTITY ,
173174 id = "invalid-config-missing-offliner-id" ,
@@ -200,6 +201,7 @@ def test_get_similar_schedules(
200201 "monitor" : True ,
201202 },
202203 "enabled" : True ,
204+ "version" : "initial" ,
203205 "periodicity" : SchedulePeriodicity .manually .value ,
204206 },
205207 HTTPStatus .UNPROCESSABLE_ENTITY ,
@@ -266,6 +268,7 @@ def test_get_similar_schedules(
266268 },
267269 "enabled" : True ,
268270 "periodicity" : SchedulePeriodicity .manually .value ,
271+ "version" : "initial" ,
269272 },
270273 HTTPStatus .OK ,
271274 id = "valid-config" ,
@@ -867,6 +870,7 @@ def test_create_duplicate_schedule(
867870 ),
868871 "enabled" : True ,
869872 "periodicity" : SchedulePeriodicity .manually .value ,
873+ "version" : "initial" ,
870874 },
871875 )
872876 assert response .status_code == HTTPStatus .CONFLICT
You can’t perform that action at this time.
0 commit comments