feat: Allow setting existing IDs for Planning and RegistrationDesk

- Add `id` field to `PlanningArg` struct
- Add `id` field to `RegistrationDeskArg` struct
- Update `set` handler for Planning to use `PlanningArg`
- Update `set` handler for RegistrationDesk to use `RegistrationDeskArg`
- Enable setting existing IDs during `set` operations
This commit is contained in:
Mahmoud-Emad
2025-10-07 13:13:20 +03:00
parent fc1b12516f
commit 479068587d
2 changed files with 12 additions and 2 deletions

View File

@@ -184,6 +184,7 @@ fn (mut self DBPlanning) load(mut o Planning, mut e encoder.Decoder) ! {
@[params]
pub struct PlanningArg {
pub mut:
id u32
name string
description string
color string
@@ -297,7 +298,11 @@ pub fn planning_handle(mut f ModelsFactory, rpcid int, servercontext map[string]
return new_response(rpcid, json.encode(res))
}
'set' {
mut o := db.decode_generic[Planning](params)!
mut args := db.decode_generic[PlanningArg](params)!
mut o := f.planning.new(args)!
if args.id != 0 {
o.id = args.id
}
o = f.planning.set(o)!
return new_response_int(rpcid, int(o.id))
}

View File

@@ -178,6 +178,7 @@ pub fn (mut self DBRegistrationDesk) load(mut o RegistrationDesk, mut e encoder.
@[params]
pub struct RegistrationDeskArg {
pub mut:
id u32
name string
description string
fs_items []u32 // IDs of linked files or dirs
@@ -303,7 +304,11 @@ pub fn registration_desk_handle(mut f ModelsFactory, rpcid int, servercontext ma
return new_response(rpcid, json.encode(res))
}
'set' {
mut o := db.decode_generic[RegistrationDesk](params)!
mut args := db.decode_generic[RegistrationDeskArg](params)!
mut o := f.registration_desk.new(args)!
if args.id != 0 {
o.id = args.id
}
o = f.registration_desk.set(o)!
return new_response_int(rpcid, int(o.id))
}