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 @@ -119,6 +119,7 @@ def test_get_schedules(
119119 },
120120 "enabled" : True ,
121121 "periodicity" : SchedulePeriodicity .manually .value ,
122+ "version" : "initial" ,
122123 },
123124 HTTPStatus .UNPROCESSABLE_ENTITY ,
124125 id = "invalid-config-missing-offliner-id" ,
@@ -151,6 +152,7 @@ def test_get_schedules(
151152 "monitor" : True ,
152153 },
153154 "enabled" : True ,
155+ "version" : "initial" ,
154156 "periodicity" : SchedulePeriodicity .manually .value ,
155157 },
156158 HTTPStatus .UNPROCESSABLE_ENTITY ,
@@ -217,6 +219,7 @@ def test_get_schedules(
217219 },
218220 "enabled" : True ,
219221 "periodicity" : SchedulePeriodicity .manually .value ,
222+ "version" : "initial" ,
220223 },
221224 HTTPStatus .OK ,
222225 id = "valid-config" ,
@@ -727,6 +730,7 @@ def test_create_duplicate_schedule(
727730 ),
728731 "enabled" : True ,
729732 "periodicity" : SchedulePeriodicity .manually .value ,
733+ "version" : "initial" ,
730734 },
731735 )
732736 assert response .status_code == HTTPStatus .CONFLICT
You can’t perform that action at this time.
0 commit comments