fix: Improve delete operations with existence checks
- Update delete functions to return bool indicating success - Add existence checks before deleting items - Return 404 error for non-existent items in RPC delete operations - Remove unused 'new_response_ok' result from RPC delete operations
This commit is contained in:
@@ -3,7 +3,7 @@ module heromodels
|
||||
import freeflowuniverse.herolib.data.encoder
|
||||
import freeflowuniverse.herolib.data.ourtime
|
||||
import freeflowuniverse.herolib.hero.db
|
||||
import freeflowuniverse.herolib.schemas.jsonrpc { Response, new_error, new_response, new_response_false, new_response_int, new_response_ok, new_response_true }
|
||||
import freeflowuniverse.herolib.schemas.jsonrpc { Response, new_error, new_response, new_response_false, new_response_int, new_response_true }
|
||||
import freeflowuniverse.herolib.hero.user { UserRef }
|
||||
import freeflowuniverse.herolib.ui.console
|
||||
import json
|
||||
@@ -123,8 +123,13 @@ pub fn (mut self DBCalendar) set(o Calendar) !Calendar {
|
||||
return self.db.set[Calendar](o)!
|
||||
}
|
||||
|
||||
pub fn (mut self DBCalendar) delete(id u32) ! {
|
||||
pub fn (mut self DBCalendar) delete(id u32) !bool {
|
||||
// Check if the item exists before trying to delete
|
||||
if !self.db.exists[Calendar](id)! {
|
||||
return false
|
||||
}
|
||||
self.db.delete[Calendar](id)!
|
||||
return true
|
||||
}
|
||||
|
||||
pub fn (mut self DBCalendar) exist(id u32) !bool {
|
||||
@@ -156,8 +161,15 @@ pub fn calendar_handle(mut f ModelsFactory, rpcid int, servercontext map[string]
|
||||
}
|
||||
'delete' {
|
||||
id := db.decode_u32(params)!
|
||||
f.calendar.delete(id)!
|
||||
return new_response_ok(rpcid)
|
||||
deleted := f.calendar.delete(id)!
|
||||
if deleted {
|
||||
return new_response_true(rpcid)
|
||||
} else {
|
||||
return new_error(rpcid,
|
||||
code: 404
|
||||
message: 'Calendar with ID ${id} not found'
|
||||
)
|
||||
}
|
||||
}
|
||||
'exist' {
|
||||
id := db.decode_u32(params)!
|
||||
|
||||
@@ -2,7 +2,7 @@ module heromodels
|
||||
|
||||
import freeflowuniverse.herolib.data.encoder
|
||||
import freeflowuniverse.herolib.data.ourtime
|
||||
import freeflowuniverse.herolib.schemas.jsonrpc { Response, new_error, new_response, new_response_false, new_response_int, new_response_ok, new_response_true }
|
||||
import freeflowuniverse.herolib.schemas.jsonrpc { Response, new_error, new_response, new_response_false, new_response_int, new_response_true }
|
||||
import freeflowuniverse.herolib.hero.user { UserRef }
|
||||
import json
|
||||
import freeflowuniverse.herolib.hero.db
|
||||
@@ -388,8 +388,13 @@ pub fn (mut self DBCalendarEvent) set(o CalendarEvent) !CalendarEvent {
|
||||
return self.db.set[CalendarEvent](o)!
|
||||
}
|
||||
|
||||
pub fn (mut self DBCalendarEvent) delete(id u32) ! {
|
||||
pub fn (mut self DBCalendarEvent) delete(id u32) !bool {
|
||||
// Check if the item exists before trying to delete
|
||||
if !self.db.exists[CalendarEvent](id)! {
|
||||
return false
|
||||
}
|
||||
self.db.delete[CalendarEvent](id)!
|
||||
return true
|
||||
}
|
||||
|
||||
pub fn (mut self DBCalendarEvent) exist(id u32) !bool {
|
||||
@@ -463,8 +468,15 @@ pub fn calendar_event_handle(mut f ModelsFactory, rpcid int, servercontext map[s
|
||||
}
|
||||
'delete' {
|
||||
id := db.decode_u32(params)!
|
||||
f.calendar_event.delete(id)!
|
||||
return new_response_ok(rpcid)
|
||||
deleted := f.calendar_event.delete(id)!
|
||||
if deleted {
|
||||
return new_response_true(rpcid)
|
||||
} else {
|
||||
return new_error(rpcid,
|
||||
code: 404
|
||||
message: 'Calendar event with ID ${id} not found'
|
||||
)
|
||||
}
|
||||
}
|
||||
'exist' {
|
||||
id := db.decode_u32(params)!
|
||||
|
||||
@@ -3,7 +3,7 @@ module heromodels
|
||||
import freeflowuniverse.herolib.data.encoder
|
||||
import freeflowuniverse.herolib.data.ourtime
|
||||
import freeflowuniverse.herolib.hero.db
|
||||
import freeflowuniverse.herolib.schemas.jsonrpc { Response, new_error, new_response, new_response_false, new_response_int, new_response_ok, new_response_true }
|
||||
import freeflowuniverse.herolib.schemas.jsonrpc { Response, new_error, new_response, new_response_false, new_response_int, new_response_true }
|
||||
import freeflowuniverse.herolib.hero.user { UserRef }
|
||||
import json
|
||||
|
||||
@@ -143,8 +143,13 @@ pub fn (mut self DBChatGroup) set(o ChatGroup) !ChatGroup {
|
||||
return self.db.set[ChatGroup](o)!
|
||||
}
|
||||
|
||||
pub fn (mut self DBChatGroup) delete(id u32) ! {
|
||||
pub fn (mut self DBChatGroup) delete(id u32) !bool {
|
||||
// Check if the item exists before trying to delete
|
||||
if !self.db.exists[ChatGroup](id)! {
|
||||
return false
|
||||
}
|
||||
self.db.delete[ChatGroup](id)!
|
||||
return true
|
||||
}
|
||||
|
||||
pub fn (mut self DBChatGroup) exist(id u32) !bool {
|
||||
@@ -176,8 +181,15 @@ pub fn chat_group_handle(mut f ModelsFactory, rpcid int, servercontext map[strin
|
||||
}
|
||||
'delete' {
|
||||
id := db.decode_u32(params)!
|
||||
f.chat_group.delete(id)!
|
||||
return new_response_ok(rpcid)
|
||||
deleted := f.chat_group.delete(id)!
|
||||
if deleted {
|
||||
return new_response_true(rpcid)
|
||||
} else {
|
||||
return new_error(rpcid,
|
||||
code: 404
|
||||
message: 'Chat group with ID ${id} not found'
|
||||
)
|
||||
}
|
||||
}
|
||||
'exist' {
|
||||
id := db.decode_u32(params)!
|
||||
|
||||
@@ -3,7 +3,7 @@ module heromodels
|
||||
import freeflowuniverse.herolib.data.encoder
|
||||
import freeflowuniverse.herolib.data.ourtime
|
||||
import freeflowuniverse.herolib.hero.db
|
||||
import freeflowuniverse.herolib.schemas.jsonrpc { Response, new_error, new_response, new_response_false, new_response_int, new_response_ok, new_response_true }
|
||||
import freeflowuniverse.herolib.schemas.jsonrpc { Response, new_error, new_response, new_response_false, new_response_int, new_response_true }
|
||||
import freeflowuniverse.herolib.hero.user { UserRef }
|
||||
import json
|
||||
|
||||
@@ -243,8 +243,13 @@ pub fn (mut self DBChatMessage) set(o ChatMessage) !ChatMessage {
|
||||
return self.db.set[ChatMessage](o)!
|
||||
}
|
||||
|
||||
pub fn (mut self DBChatMessage) delete(id u32) ! {
|
||||
pub fn (mut self DBChatMessage) delete(id u32) !bool {
|
||||
// Check if the item exists before trying to delete
|
||||
if !self.db.exists[ChatMessage](id)! {
|
||||
return false
|
||||
}
|
||||
self.db.delete[ChatMessage](id)!
|
||||
return true
|
||||
}
|
||||
|
||||
pub fn (mut self DBChatMessage) exist(id u32) !bool {
|
||||
@@ -299,8 +304,15 @@ pub fn chat_message_handle(mut f ModelsFactory, rpcid int, servercontext map[str
|
||||
}
|
||||
'delete' {
|
||||
id := db.decode_u32(params)!
|
||||
f.chat_message.delete(id)!
|
||||
return new_response_ok(rpcid)
|
||||
deleted := f.chat_message.delete(id)!
|
||||
if deleted {
|
||||
return new_response_true(rpcid)
|
||||
} else {
|
||||
return new_error(rpcid,
|
||||
code: 404
|
||||
message: 'Chat message with ID ${id} not found'
|
||||
)
|
||||
}
|
||||
}
|
||||
'exist' {
|
||||
id := db.decode_u32(params)!
|
||||
|
||||
@@ -3,7 +3,7 @@ module heromodels
|
||||
import freeflowuniverse.herolib.data.encoder
|
||||
import freeflowuniverse.herolib.data.ourtime
|
||||
import freeflowuniverse.herolib.hero.db
|
||||
import freeflowuniverse.herolib.schemas.jsonrpc { Response, new_error, new_response, new_response_false, new_response_int, new_response_ok, new_response_true }
|
||||
import freeflowuniverse.herolib.schemas.jsonrpc { Response, new_error, new_response, new_response_false, new_response_int, new_response_true }
|
||||
import freeflowuniverse.herolib.hero.user { UserRef }
|
||||
import json
|
||||
|
||||
@@ -158,8 +158,13 @@ pub fn (mut self DBContact) set(o Contact) !Contact {
|
||||
return self.db.set[Contact](o)!
|
||||
}
|
||||
|
||||
pub fn (mut self DBContact) delete(id u32) ! {
|
||||
pub fn (mut self DBContact) delete(id u32) !bool {
|
||||
// Check if the item exists before trying to delete
|
||||
if !self.db.exists[Contact](id)! {
|
||||
return false
|
||||
}
|
||||
self.db.delete[Contact](id)!
|
||||
return true
|
||||
}
|
||||
|
||||
pub fn (mut self DBContact) exist(id u32) !bool {
|
||||
@@ -209,8 +214,15 @@ pub fn contact_handle(mut f ModelsFactory, rpcid int, servercontext map[string]s
|
||||
}
|
||||
'delete' {
|
||||
id := db.decode_u32(params)!
|
||||
f.contact.delete(id)!
|
||||
return new_response_ok(rpcid)
|
||||
deleted := f.contact.delete(id)!
|
||||
if deleted {
|
||||
return new_response_true(rpcid)
|
||||
} else {
|
||||
return new_error(rpcid,
|
||||
code: 404
|
||||
message: 'Contact with ID ${id} not found'
|
||||
)
|
||||
}
|
||||
}
|
||||
'exist' {
|
||||
id := db.decode_u32(params)!
|
||||
|
||||
@@ -3,7 +3,7 @@ module heromodels
|
||||
import freeflowuniverse.herolib.data.encoder
|
||||
import freeflowuniverse.herolib.data.ourtime
|
||||
import freeflowuniverse.herolib.hero.db
|
||||
import freeflowuniverse.herolib.schemas.jsonrpc { Response, new_error, new_response, new_response_false, new_response_int, new_response_ok, new_response_true }
|
||||
import freeflowuniverse.herolib.schemas.jsonrpc { Response, new_error, new_response, new_response_false, new_response_int, new_response_true }
|
||||
import freeflowuniverse.herolib.hero.user { UserRef }
|
||||
import json
|
||||
|
||||
@@ -174,7 +174,12 @@ pub fn (mut self DBGroup) set(o_ Group) !Group {
|
||||
return o
|
||||
}
|
||||
|
||||
pub fn (mut self DBGroup) delete(id u32) ! {
|
||||
pub fn (mut self DBGroup) delete(id u32) !bool {
|
||||
// Check if the item exists before trying to delete
|
||||
if !self.db.exists[Group](id)! {
|
||||
return false
|
||||
}
|
||||
|
||||
mut group := self.get(id)!
|
||||
|
||||
// If this group has a parent, remove it from the parent's subgroups
|
||||
@@ -190,6 +195,7 @@ pub fn (mut self DBGroup) delete(id u32) ! {
|
||||
}
|
||||
|
||||
self.db.delete[Group](id)!
|
||||
return true
|
||||
}
|
||||
|
||||
pub fn (mut self DBGroup) exist(id u32) !bool {
|
||||
@@ -264,8 +270,15 @@ pub fn group_handle(mut f ModelsFactory, rpcid int, servercontext map[string]str
|
||||
}
|
||||
'delete' {
|
||||
id := db.decode_u32(params)!
|
||||
f.group.delete(id)!
|
||||
return new_response_ok(rpcid)
|
||||
deleted := f.group.delete(id)!
|
||||
if deleted {
|
||||
return new_response_true(rpcid)
|
||||
} else {
|
||||
return new_error(rpcid,
|
||||
code: 404
|
||||
message: 'Group with ID ${id} not found'
|
||||
)
|
||||
}
|
||||
}
|
||||
'exist' {
|
||||
id := db.decode_u32(params)!
|
||||
|
||||
@@ -3,7 +3,7 @@ module heromodels
|
||||
import freeflowuniverse.herolib.data.encoder
|
||||
import freeflowuniverse.herolib.data.ourtime
|
||||
import freeflowuniverse.herolib.hero.db
|
||||
import freeflowuniverse.herolib.schemas.jsonrpc { Response, new_error, new_response, new_response_false, new_response_int, new_response_ok, new_response_true }
|
||||
import freeflowuniverse.herolib.schemas.jsonrpc { Response, new_error, new_response, new_response_false, new_response_int, new_response_true }
|
||||
import freeflowuniverse.herolib.hero.user { UserRef }
|
||||
import json
|
||||
|
||||
@@ -177,8 +177,13 @@ pub fn (mut self DBMessages) set(o Message) !Message {
|
||||
return self.db.set[Message](o)!
|
||||
}
|
||||
|
||||
pub fn (mut self DBMessages) delete(id u32) ! {
|
||||
pub fn (mut self DBMessages) delete(id u32) !bool {
|
||||
// Check if the item exists before trying to delete
|
||||
if !self.db.exists[Message](id)! {
|
||||
return false
|
||||
}
|
||||
self.db.delete[Message](id)!
|
||||
return true
|
||||
}
|
||||
|
||||
pub fn (mut self DBMessages) exist(id u32) !bool {
|
||||
@@ -238,8 +243,15 @@ pub fn message_handle(mut f ModelsFactory, rpcid int, servercontext map[string]s
|
||||
}
|
||||
'delete' {
|
||||
id := db.decode_u32(params)!
|
||||
f.messages.delete(id)!
|
||||
return new_response_ok(rpcid)
|
||||
deleted := f.messages.delete(id)!
|
||||
if deleted {
|
||||
return new_response_true(rpcid)
|
||||
} else {
|
||||
return new_error(rpcid,
|
||||
code: 404
|
||||
message: 'Message with ID ${id} not found'
|
||||
)
|
||||
}
|
||||
}
|
||||
'exist' {
|
||||
id := db.decode_u32(params)!
|
||||
|
||||
@@ -3,7 +3,7 @@ module heromodels
|
||||
import freeflowuniverse.herolib.data.encoder
|
||||
import freeflowuniverse.herolib.data.ourtime
|
||||
import freeflowuniverse.herolib.hero.db
|
||||
import freeflowuniverse.herolib.schemas.jsonrpc { Response, new_error, new_response, new_response_false, new_response_int, new_response_ok, new_response_true }
|
||||
import freeflowuniverse.herolib.schemas.jsonrpc { Response, new_error, new_response, new_response_false, new_response_int, new_response_true }
|
||||
import freeflowuniverse.herolib.hero.user { UserRef }
|
||||
import json
|
||||
|
||||
@@ -230,8 +230,13 @@ pub fn (mut self DBPlanning) set(o Planning) !Planning {
|
||||
return self.db.set[Planning](o)!
|
||||
}
|
||||
|
||||
pub fn (mut self DBPlanning) delete(id u32) ! {
|
||||
pub fn (mut self DBPlanning) delete(id u32) !bool {
|
||||
// Check if the item exists before trying to delete
|
||||
if !self.db.exists[Planning](id)! {
|
||||
return false
|
||||
}
|
||||
self.db.delete[Planning](id)!
|
||||
return true
|
||||
}
|
||||
|
||||
pub fn (mut self DBPlanning) exist(id u32) !bool {
|
||||
@@ -298,8 +303,15 @@ pub fn planning_handle(mut f ModelsFactory, rpcid int, servercontext map[string]
|
||||
}
|
||||
'delete' {
|
||||
id := db.decode_u32(params)!
|
||||
f.planning.delete(id)!
|
||||
return new_response_ok(rpcid)
|
||||
deleted := f.planning.delete(id)!
|
||||
if deleted {
|
||||
return new_response_true(rpcid)
|
||||
} else {
|
||||
return new_error(rpcid,
|
||||
code: 404
|
||||
message: 'Planning with ID ${id} not found'
|
||||
)
|
||||
}
|
||||
}
|
||||
'exist' {
|
||||
id := db.decode_u32(params)!
|
||||
|
||||
@@ -3,7 +3,7 @@ module heromodels
|
||||
import freeflowuniverse.herolib.data.encoder
|
||||
import freeflowuniverse.herolib.data.ourtime
|
||||
import freeflowuniverse.herolib.hero.db
|
||||
import freeflowuniverse.herolib.schemas.jsonrpc { Response, new_error, new_response, new_response_false, new_response_int, new_response_ok, new_response_true }
|
||||
import freeflowuniverse.herolib.schemas.jsonrpc { Response, new_error, new_response, new_response_false, new_response_int, new_response_true }
|
||||
import freeflowuniverse.herolib.hero.user { UserRef }
|
||||
import json
|
||||
|
||||
@@ -195,8 +195,13 @@ pub fn (mut self DBProfile) set(o Profile) !Profile {
|
||||
return self.db.set[Profile](o)!
|
||||
}
|
||||
|
||||
pub fn (mut self DBProfile) delete(id u32) ! {
|
||||
pub fn (mut self DBProfile) delete(id u32) !bool {
|
||||
// Check if the item exists before trying to delete
|
||||
if !self.db.exists[Profile](id)! {
|
||||
return false
|
||||
}
|
||||
self.db.delete[Profile](id)!
|
||||
return true
|
||||
}
|
||||
|
||||
pub fn (mut self DBProfile) exist(id u32) !bool {
|
||||
@@ -230,8 +235,15 @@ pub fn profile_handle(mut f ModelsFactory, rpcid int, servercontext map[string]s
|
||||
}
|
||||
'delete' {
|
||||
id := db.decode_u32(params)!
|
||||
f.profile.delete(id)!
|
||||
return new_response_ok(rpcid)
|
||||
deleted := f.profile.delete(id)!
|
||||
if deleted {
|
||||
return new_response_true(rpcid)
|
||||
} else {
|
||||
return new_error(rpcid,
|
||||
code: 404
|
||||
message: 'Profile with ID ${id} not found'
|
||||
)
|
||||
}
|
||||
}
|
||||
'exist' {
|
||||
id := db.decode_u32(params)!
|
||||
|
||||
@@ -3,7 +3,7 @@ module heromodels
|
||||
import freeflowuniverse.herolib.data.encoder
|
||||
import freeflowuniverse.herolib.data.ourtime
|
||||
import freeflowuniverse.herolib.hero.db
|
||||
import freeflowuniverse.herolib.schemas.jsonrpc { Response, new_error, new_response, new_response_false, new_response_int, new_response_ok, new_response_true }
|
||||
import freeflowuniverse.herolib.schemas.jsonrpc { Response, new_error, new_response, new_response_false, new_response_int, new_response_true }
|
||||
import freeflowuniverse.herolib.hero.user { UserRef }
|
||||
import json
|
||||
|
||||
@@ -228,8 +228,13 @@ pub fn (mut self DBProject) set(o Project) !Project {
|
||||
return self.db.set[Project](o)!
|
||||
}
|
||||
|
||||
pub fn (mut self DBProject) delete(id u32) ! {
|
||||
pub fn (mut self DBProject) delete(id u32) !bool {
|
||||
// Check if the item exists before trying to delete
|
||||
if !self.db.exists[Project](id)! {
|
||||
return false
|
||||
}
|
||||
self.db.delete[Project](id)!
|
||||
return true
|
||||
}
|
||||
|
||||
pub fn (mut self DBProject) exist(id u32) !bool {
|
||||
@@ -286,8 +291,15 @@ pub fn project_handle(mut f ModelsFactory, rpcid int, servercontext map[string]s
|
||||
}
|
||||
'delete' {
|
||||
id := db.decode_u32(params)!
|
||||
f.project.delete(id)!
|
||||
return new_response_ok(rpcid)
|
||||
deleted := f.project.delete(id)!
|
||||
if deleted {
|
||||
return new_response_true(rpcid)
|
||||
} else {
|
||||
return new_error(rpcid,
|
||||
code: 404
|
||||
message: 'Project with ID ${id} not found'
|
||||
)
|
||||
}
|
||||
}
|
||||
'exist' {
|
||||
id := db.decode_u32(params)!
|
||||
|
||||
@@ -3,7 +3,7 @@ module heromodels
|
||||
import freeflowuniverse.herolib.data.encoder
|
||||
import freeflowuniverse.herolib.data.ourtime
|
||||
import freeflowuniverse.herolib.hero.db
|
||||
import freeflowuniverse.herolib.schemas.jsonrpc { Response, new_error, new_response, new_response_false, new_response_int, new_response_ok, new_response_true }
|
||||
import freeflowuniverse.herolib.schemas.jsonrpc { Response, new_error, new_response, new_response_false, new_response_int, new_response_true }
|
||||
import freeflowuniverse.herolib.hero.user { UserRef }
|
||||
import json
|
||||
|
||||
@@ -254,8 +254,13 @@ pub fn (mut self DBProjectIssue) set(o ProjectIssue) !ProjectIssue {
|
||||
return self.db.set[ProjectIssue](o)!
|
||||
}
|
||||
|
||||
pub fn (mut self DBProjectIssue) delete(id u32) ! {
|
||||
pub fn (mut self DBProjectIssue) delete(id u32) !bool {
|
||||
// Check if the item exists before trying to delete
|
||||
if !self.db.exists[ProjectIssue](id)! {
|
||||
return false
|
||||
}
|
||||
self.db.delete[ProjectIssue](id)!
|
||||
return true
|
||||
}
|
||||
|
||||
pub fn (mut self DBProjectIssue) exist(id u32) !bool {
|
||||
@@ -330,8 +335,15 @@ pub fn project_issue_handle(mut f ModelsFactory, rpcid int, servercontext map[st
|
||||
}
|
||||
'delete' {
|
||||
id := db.decode_u32(params)!
|
||||
f.project_issue.delete(id)!
|
||||
return new_response_ok(rpcid)
|
||||
deleted := f.project_issue.delete(id)!
|
||||
if deleted {
|
||||
return new_response_true(rpcid)
|
||||
} else {
|
||||
return new_error(rpcid,
|
||||
code: 404
|
||||
message: 'Project issue with ID ${id} not found'
|
||||
)
|
||||
}
|
||||
}
|
||||
'exist' {
|
||||
id := db.decode_u32(params)!
|
||||
|
||||
@@ -3,7 +3,7 @@ module heromodels
|
||||
import freeflowuniverse.herolib.data.encoder
|
||||
import freeflowuniverse.herolib.data.ourtime
|
||||
import freeflowuniverse.herolib.hero.db
|
||||
import freeflowuniverse.herolib.schemas.jsonrpc { Response, new_error, new_response, new_response_false, new_response_int, new_response_ok, new_response_true }
|
||||
import freeflowuniverse.herolib.schemas.jsonrpc { Response, new_error, new_response, new_response_false, new_response_int, new_response_true }
|
||||
import freeflowuniverse.herolib.hero.user { UserRef }
|
||||
import json
|
||||
|
||||
@@ -235,8 +235,13 @@ pub fn (mut self DBRegistrationDesk) set(o RegistrationDesk) !RegistrationDesk {
|
||||
return self.db.set[RegistrationDesk](o)!
|
||||
}
|
||||
|
||||
pub fn (mut self DBRegistrationDesk) delete(id u32) ! {
|
||||
pub fn (mut self DBRegistrationDesk) delete(id u32) !bool {
|
||||
// Check if the item exists before trying to delete
|
||||
if !self.db.exists[RegistrationDesk](id)! {
|
||||
return false
|
||||
}
|
||||
self.db.delete[RegistrationDesk](id)!
|
||||
return true
|
||||
}
|
||||
|
||||
pub fn (mut self DBRegistrationDesk) exist(id u32) !bool {
|
||||
@@ -304,8 +309,15 @@ pub fn registration_desk_handle(mut f ModelsFactory, rpcid int, servercontext ma
|
||||
}
|
||||
'delete' {
|
||||
id := db.decode_u32(params)!
|
||||
f.registration_desk.delete(id)!
|
||||
return new_response_ok(rpcid)
|
||||
deleted := f.registration_desk.delete(id)!
|
||||
if deleted {
|
||||
return new_response_true(rpcid)
|
||||
} else {
|
||||
return new_error(rpcid,
|
||||
code: 404
|
||||
message: 'Registration desk with ID ${id} not found'
|
||||
)
|
||||
}
|
||||
}
|
||||
'exist' {
|
||||
id := db.decode_u32(params)!
|
||||
|
||||
@@ -3,7 +3,7 @@ module heromodels
|
||||
import freeflowuniverse.herolib.data.encoder
|
||||
import freeflowuniverse.herolib.data.ourtime
|
||||
import freeflowuniverse.herolib.hero.db
|
||||
import freeflowuniverse.herolib.schemas.jsonrpc { Response, new_error, new_response, new_response_false, new_response_int, new_response_ok, new_response_true }
|
||||
import freeflowuniverse.herolib.schemas.jsonrpc { Response, new_error, new_response, new_response_false, new_response_int, new_response_true }
|
||||
import freeflowuniverse.herolib.hero.user { UserRef }
|
||||
import json
|
||||
|
||||
@@ -141,8 +141,13 @@ pub fn (mut self DBUser) set(o User) !User {
|
||||
return self.db.set[User](o)!
|
||||
}
|
||||
|
||||
pub fn (mut self DBUser) delete(id u32) ! {
|
||||
pub fn (mut self DBUser) delete(id u32) !bool {
|
||||
// Check if the item exists before trying to delete
|
||||
if !self.db.exists[User](id)! {
|
||||
return false
|
||||
}
|
||||
self.db.delete[User](id)!
|
||||
return true
|
||||
}
|
||||
|
||||
pub fn (mut self DBUser) exist(id u32) !bool {
|
||||
@@ -192,8 +197,15 @@ pub fn user_handle(mut f ModelsFactory, rpcid int, servercontext map[string]stri
|
||||
}
|
||||
'delete' {
|
||||
id := db.decode_u32(params)!
|
||||
f.user.delete(id)!
|
||||
return new_response_ok(rpcid)
|
||||
deleted := f.user.delete(id)!
|
||||
if deleted {
|
||||
return new_response_true(rpcid)
|
||||
} else {
|
||||
return new_error(rpcid,
|
||||
code: 404
|
||||
message: 'User with ID ${id} not found'
|
||||
)
|
||||
}
|
||||
}
|
||||
'exist' {
|
||||
id := db.decode_u32(params)!
|
||||
|
||||
@@ -51,7 +51,7 @@ pub fn new_response_true(id int) Response {
|
||||
pub fn new_response_ok(id int) Response {
|
||||
return Response{
|
||||
jsonrpc: jsonrpc_version
|
||||
result: ''
|
||||
result: 'true'
|
||||
id: id
|
||||
}
|
||||
}
|
||||
@@ -96,9 +96,6 @@ pub fn new_error_response(id int, error RPCError) Response {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
// decode_response parses a JSON string into a Response object.
|
||||
// This function handles the complex validation rules for JSON-RPC responses.
|
||||
//
|
||||
|
||||
Reference in New Issue
Block a user