diff --git a/lib/circles/actionprocessor/factory.v b/lib/circles/actionprocessor/factory.v index 75f8e748..21b2c09f 100644 --- a/lib/circles/actionprocessor/factory.v +++ b/lib/circles/actionprocessor/factory.v @@ -4,7 +4,7 @@ module actionprocessor import freeflowuniverse.herolib.circles.core.db import freeflowuniverse.herolib.circles.mcc.db import freeflowuniverse.herolib.circles.actions.db -import freeflowuniverse.herolib.circles.models +import freeflowuniverse.herolib.circles.base import freeflowuniverse.herolib.core.texttools __global ( @@ -24,7 +24,7 @@ pub mut: mails &db.MailDB calendar &db.CalendarDB jobs &db.JobDB - session_state models.SessionState + session_state base.SessionState } diff --git a/lib/circles/actions/db/job_db.v b/lib/circles/actions/db/job_db.v index b87c0767..e55c377e 100644 --- a/lib/circles/actions/db/job_db.v +++ b/lib/circles/actions/db/job_db.v @@ -1,17 +1,17 @@ -module actions +module db -import freeflowuniverse.herolib.circles.base { models } -import freeflowuniverse.herolib.circles.actions.models { Job, job_loads } +import freeflowuniverse.herolib.circles.base { DBHandler, SessionState, new_dbhandler } +import freeflowuniverse.herolib.circles.actions.models { Job, job_loads, JobStatus } @[heap] pub struct JobDB { pub mut: - db models.DBHandler[Job] + db DBHandler[Job] } -pub fn new_jobdb(session_state models.SessionState) !JobDB { +pub fn new_jobdb(session_state SessionState) !JobDB { return JobDB{ - db: models.new_dbhandler[Job]('job', session_state) + db: new_dbhandler[Job]('job', session_state) } } @@ -97,12 +97,12 @@ pub fn (mut m JobDB) get_by_circle_and_context(circle string, context string) ![ } // update_job_status updates the status of a job -pub fn (mut m JobDB) update_job_status(guid string, new_status models.Status) !Job { +pub fn (mut m JobDB) update_job_status(guid string, new_status JobStatus) !Job { // Get the job by GUID mut job := m.get_by_guid(guid)! // Update the job status - job.status.status = new_status + job.status = new_status // Save the updated job return m.set(job)! diff --git a/lib/circles/actions/db/job_db_test.v b/lib/circles/actions/db/job_db_test.v index e91e4b5e..44f38a65 100644 --- a/lib/circles/actions/db/job_db_test.v +++ b/lib/circles/actions/db/job_db_test.v @@ -1,4 +1,4 @@ -module actions +module db import os import rand diff --git a/lib/circles/actions/models/job.v b/lib/circles/actions/models/job.v index 4db7dd6c..c20a458b 100644 --- a/lib/circles/actions/models/job.v +++ b/lib/circles/actions/models/job.v @@ -19,9 +19,9 @@ pub mut: timeout u16 = 3600 // timeout in sec log bool = true ignore_error bool // means if error will just exit and not raise, there will be no error reporting - ignore_error_codes []int // of we want to ignore certain error codes + ignore_error_codes []u16 // of we want to ignore certain error codes debug bool // if debug will get more context - retry int // default there is no debug + retry u8 // default there is no debug status JobStatus dependencies []JobDependency // will not execute until other jobs are done } @@ -101,17 +101,17 @@ pub fn (j Job) dumps() ![]u8 { // Encode ignore_error_codes array e.add_u16(u16(j.ignore_error_codes.len)) for code in j.ignore_error_codes { - e.add_i32(code) + e.add_u16(code) } e.add_bool(j.debug) - e.add_i32(j.retry) + e.add_u8(j.retry) // Encode JobStatus e.add_string(j.status.guid) - e.add_i64(j.status.created.unix) - e.add_i64(j.status.start.unix) - e.add_i64(j.status.end.unix) + e.add_u32(u32(j.status.created.unix())) + e.add_u32(u32(j.status.start.unix())) + e.add_u32(u32(j.status.end.unix())) e.add_u8(u8(j.status.status)) // Encode dependencies array @@ -172,20 +172,20 @@ pub fn job_loads(data []u8) !Job { job.ignore_error = d.get_bool()! // Decode ignore_error_codes array - error_codes_len := d.get_u16()! - job.ignore_error_codes = []int{len: int(error_codes_len)} + error_codes_len := d.get_u8()! + job.ignore_error_codes = []u16{len: int(error_codes_len)} for i in 0 .. error_codes_len { - job.ignore_error_codes[i] = d.get_i32()! + job.ignore_error_codes[i] = d.get_u8()! } job.debug = d.get_bool()! - job.retry = d.get_i32()! + job.retry = d.get_u8()! // Decode JobStatus job.status.guid = d.get_string()! - job.status.created.unix = d.get_i64()! - job.status.start.unix = d.get_i64()! - job.status.end.unix = d.get_i64()! + job.status.created.unixt = u64(d.get_u32()!) + job.status.start.unixt = u64(d.get_u32()!) + job.status.end.unixt = u64(d.get_u32()!) status_val := d.get_u8()! job.status.status = match status_val { 0 { Status.created } diff --git a/lib/circles/actions/models/job_test.v b/lib/circles/actions/models/job_test.v index d3a20efe..67f202cd 100644 --- a/lib/circles/actions/models/job_test.v +++ b/lib/circles/actions/models/job_test.v @@ -1,4 +1,4 @@ -module model +module models import freeflowuniverse.herolib.data.ourtime @@ -21,7 +21,7 @@ fn test_job_serialization() { timeout: 7200 log: true ignore_error: false - ignore_error_codes: [404, 500] + ignore_error_codes: [u16(404), u16(500)] debug: true retry: 3 } diff --git a/lib/circles/base/dbhandler.v b/lib/circles/base/dbhandler.v index 069f9fb8..7c769519 100644 --- a/lib/circles/base/dbhandler.v +++ b/lib/circles/base/dbhandler.v @@ -1,4 +1,4 @@ -module models +module base import freeflowuniverse.herolib.circles.core.models { agent_loads, Agent, circle_loads, Circle, name_loads, Name } import freeflowuniverse.herolib.circles.mcc.models { Email, email_loads, CalendarEvent, calendar_event_loads } diff --git a/lib/circles/base/sessionstate.v b/lib/circles/base/sessionstate.v index 730a7fce..0a76804b 100644 --- a/lib/circles/base/sessionstate.v +++ b/lib/circles/base/sessionstate.v @@ -1,4 +1,4 @@ -module models +module base import freeflowuniverse.herolib.data.ourdb import freeflowuniverse.herolib.data.radixtree diff --git a/lib/circles/core/db/agent_db.v b/lib/circles/core/db/agent_db.v index 47c9d60a..abfbfb40 100644 --- a/lib/circles/core/db/agent_db.v +++ b/lib/circles/core/db/agent_db.v @@ -1,7 +1,7 @@ -module core +module dbmodule core import freeflowuniverse.herolib.data.ourtime -import freeflowuniverse.herolib.circles.models { DBHandler, SessionState } +import freeflowuniverse.herolib.circles.base { DBHandler, SessionState } import freeflowuniverse.herolib.circles.core.models { Agent, AgentService, AgentServiceAction, AgentState } diff --git a/lib/circles/core/db/agent_db_test.v b/lib/circles/core/db/agent_db_test.v index 4af0c72a..61a4f31e 100755 --- a/lib/circles/core/db/agent_db_test.v +++ b/lib/circles/core/db/agent_db_test.v @@ -1,9 +1,9 @@ -module core +module db import os import rand import freeflowuniverse.herolib.circles.actionprocessor -import freeflowuniverse.herolib.circles.core.model +import freeflowuniverse.herolib.circles.core {Agent, AgentService, AgentServiceAction, AgentState} fn test_agent_db() { // Create a temporary directory for testing @@ -169,7 +169,7 @@ fn test_agent_db() { agents_after_all_deleted := runner.agents.getall() or { // This is expected to fail with 'No agents found' error assert err.msg() == 'No agents found' - []core.Agent{cap: 0} + []Agent{cap: 0} } assert agents_after_all_deleted.len == 0, 'Expected 0 agents after all deletions, got ${agents_after_all_deleted.len}' diff --git a/lib/circles/core/db/circle_db.v b/lib/circles/core/db/circle_db.v index 402d0893..f21f148d 100644 --- a/lib/circles/core/db/circle_db.v +++ b/lib/circles/core/db/circle_db.v @@ -1,7 +1,7 @@ -module core +module db -import freeflowuniverse.herolib.circles.models { DBHandler, SessionState } -import freeflowuniverse.herolib.circles.core.models { Circle } +import freeflowuniverse.herolib.circles.base { DBHandler, SessionState } +import freeflowuniverse.herolib.circles.core.models { Circle, Member } @[heap] pub struct CircleDB { @@ -78,7 +78,7 @@ pub fn (mut m CircleDB) get_all_circle_names() ![]string { } // add_member adds a member to a circle -pub fn (mut m CircleDB) add_member(circle_name string, member core.Member) !Circle { +pub fn (mut m CircleDB) add_member(circle_name string, member Member) !Circle { // Get the circle by name mut circle := m.get_by_name(circle_name)! @@ -103,7 +103,7 @@ pub fn (mut m CircleDB) remove_member(circle_name string, member_name string) !C // Find and remove the member mut found := false - mut new_members := []core.Member{} + mut new_members := []Member{} for member in circle.members { if member.name == member_name { @@ -125,7 +125,7 @@ pub fn (mut m CircleDB) remove_member(circle_name string, member_name string) !C } // update_member_role updates the role of a member in a circle -pub fn (mut m CircleDB) update_member_role(circle_name string, member_name string, new_role core.Role) !Circle { +pub fn (mut m CircleDB) update_member_role(circle_name string, member_name string, new_role Role) !Circle { // Get the circle by name mut circle := m.get_by_name(circle_name)! diff --git a/lib/circles/core/db/circle_db_test.v b/lib/circles/core/db/circle_db_test.v index 11536440..0d151cc1 100644 --- a/lib/circles/core/db/circle_db_test.v +++ b/lib/circles/core/db/circle_db_test.v @@ -1,9 +1,9 @@ -module core +module db import os import rand import freeflowuniverse.herolib.circles.actionprocessor -import freeflowuniverse.herolib.circles.core.models +import freeflowuniverse.herolib.circles.core {Circle, Member} fn test_circle_db() { // Create a temporary directory for testing @@ -184,7 +184,7 @@ fn test_circle_db() { circles_after_all_deleted := runner.circles.getall() or { // This is expected to fail with 'No circles found' error assert err.msg().contains('No index keys defined for this type') || err.msg().contains('No circles found') - []core.Circle{cap: 0} + []Circle{cap: 0} } assert circles_after_all_deleted.len == 0, 'Expected 0 circles after all deletions, got ${circles_after_all_deleted.len}' diff --git a/lib/circles/core/db/name_db.v b/lib/circles/core/db/name_db.v index 374dc634..6ceaf25d 100644 --- a/lib/circles/core/db/name_db.v +++ b/lib/circles/core/db/name_db.v @@ -1,6 +1,6 @@ -module core +module dbmodule core -import freeflowuniverse.herolib.circles.models { DBHandler, SessionState } +import freeflowuniverse.herolib.circles.base { DBHandler, SessionState } import freeflowuniverse.herolib.circles.core.models { Name, Record, RecordType } @[heap] diff --git a/lib/circles/core/db/name_db_test.v b/lib/circles/core/db/name_db_test.v index 72e7e577..59301e0f 100644 --- a/lib/circles/core/db/name_db_test.v +++ b/lib/circles/core/db/name_db_test.v @@ -1,9 +1,9 @@ -module core +module db import os import rand import freeflowuniverse.herolib.circles.actionprocessor -import freeflowuniverse.herolib.circles.core.models +import freeflowuniverse.herolib.circles.core {Name, Record} fn test_name_db() { // Create a temporary directory for testing @@ -201,7 +201,7 @@ fn test_name_db() { names_after_all_deleted := runner.names.getall() or { // This is expected to fail with 'No names found' error assert err.msg().contains('No index keys defined for this type') || err.msg().contains('No names found') - []core.Name{cap: 0} + []Name{cap: 0} } assert names_after_all_deleted.len == 0, 'Expected 0 names after all deletions, got ${names_after_all_deleted.len}' diff --git a/lib/circles/core/models/agent.v b/lib/circles/core/models/agent.v index b5474d91..5c723f67 100644 --- a/lib/circles/core/models/agent.v +++ b/lib/circles/core/models/agent.v @@ -1,4 +1,4 @@ -module core +module models import freeflowuniverse.herolib.data.ourtime import freeflowuniverse.herolib.data.encoder diff --git a/lib/circles/core/models/agent_test.v b/lib/circles/core/models/agent_test.v index 5f8a97a7..43df0821 100644 --- a/lib/circles/core/models/agent_test.v +++ b/lib/circles/core/models/agent_test.v @@ -1,4 +1,4 @@ -module core +module models import freeflowuniverse.herolib.data.ourtime diff --git a/lib/circles/core/models/circle.v b/lib/circles/core/models/circle.v index db71e3ae..baf85e2e 100644 --- a/lib/circles/core/models/circle.v +++ b/lib/circles/core/models/circle.v @@ -1,4 +1,4 @@ -module core +module models import freeflowuniverse.herolib.data.encoder diff --git a/lib/circles/core/models/circle_test.v b/lib/circles/core/models/circle_test.v index 88d7909e..94aa709e 100644 --- a/lib/circles/core/models/circle_test.v +++ b/lib/circles/core/models/circle_test.v @@ -1,4 +1,4 @@ -module core +module models fn test_circle_dumps_loads() { // Create a test circle with some sample data diff --git a/lib/circles/core/models/name.v b/lib/circles/core/models/name.v index 61373548..2ce7f632 100644 --- a/lib/circles/core/models/name.v +++ b/lib/circles/core/models/name.v @@ -1,4 +1,4 @@ -module core +module models import freeflowuniverse.herolib.data.encoder diff --git a/lib/circles/core/models/name_test.v b/lib/circles/core/models/name_test.v index c3214a30..66495d2e 100644 --- a/lib/circles/core/models/name_test.v +++ b/lib/circles/core/models/name_test.v @@ -1,4 +1,4 @@ -module core +module models import freeflowuniverse.herolib.data.ourdb import freeflowuniverse.herolib.data.radixtree diff --git a/lib/circles/mcc/db/calendar_db.v b/lib/circles/mcc/db/calendar_db.v index bb2ecf69..246e702b 100644 --- a/lib/circles/mcc/db/calendar_db.v +++ b/lib/circles/mcc/db/calendar_db.v @@ -1,6 +1,6 @@ -module mcc +module db -import freeflowuniverse.herolib.circles.models { DBHandler, SessionState } +import freeflowuniverse.herolib.circles.base { DBHandler, SessionState } import freeflowuniverse.herolib.circles.mcc.models { CalendarEvent, calendar_event_loads } @[heap] diff --git a/lib/circles/mcc/db/calendar_db_test.v b/lib/circles/mcc/db/calendar_db_test.v index 147c3206..3be982e6 100644 --- a/lib/circles/mcc/db/calendar_db_test.v +++ b/lib/circles/mcc/db/calendar_db_test.v @@ -1,6 +1,6 @@ -module mcc +module db -import freeflowuniverse.herolib.circles.models { SessionState, new_session } +import freeflowuniverse.herolib.circles.base { SessionState, new_session } import freeflowuniverse.herolib.circles.mcc.models { CalendarEvent } import freeflowuniverse.herolib.data.ourtime import os diff --git a/lib/circles/mcc/db/mail_db.v b/lib/circles/mcc/db/mail_db.v index f65cf32f..4552a310 100644 --- a/lib/circles/mcc/db/mail_db.v +++ b/lib/circles/mcc/db/mail_db.v @@ -1,6 +1,6 @@ -module mcc +module db -import freeflowuniverse.herolib.circles.models { DBHandler, SessionState } +import freeflowuniverse.herolib.circles.base { DBHandler, SessionState } import freeflowuniverse.herolib.circles.mcc.models { Email, email_loads } @[heap] diff --git a/lib/circles/mcc/db/mail_db_test.v b/lib/circles/mcc/db/mail_db_test.v index 0b441cfa..8bc58c17 100644 --- a/lib/circles/mcc/db/mail_db_test.v +++ b/lib/circles/mcc/db/mail_db_test.v @@ -1,4 +1,4 @@ -module mcc +module db import os import rand diff --git a/lib/circles/mcc/models/caledar.v b/lib/circles/mcc/models/caledar.v index 75552b24..0d6e4764 100644 --- a/lib/circles/mcc/models/caledar.v +++ b/lib/circles/mcc/models/caledar.v @@ -1,4 +1,4 @@ -module mcc +module models import freeflowuniverse.herolib.data.ourtime import freeflowuniverse.herolib.data.encoder diff --git a/lib/circles/mcc/models/calendar_test.v b/lib/circles/mcc/models/calendar_test.v index f23b7d16..0756ad76 100644 --- a/lib/circles/mcc/models/calendar_test.v +++ b/lib/circles/mcc/models/calendar_test.v @@ -1,4 +1,4 @@ -module mcc +module models import freeflowuniverse.herolib.data.ourtime import time diff --git a/lib/circles/mcc/models/mail.v b/lib/circles/mcc/models/mail.v index 6d61ed1f..02d4d7a0 100644 --- a/lib/circles/mcc/models/mail.v +++ b/lib/circles/mcc/models/mail.v @@ -1,4 +1,4 @@ -module mcc +module models // import freeflowuniverse.herolib.data.ourtime import freeflowuniverse.herolib.data.encoder diff --git a/lib/circles/mcc/models/mail_simple_test.v b/lib/circles/mcc/models/mail_simple_test.v index 3142c01b..7383275c 100644 --- a/lib/circles/mcc/models/mail_simple_test.v +++ b/lib/circles/mcc/models/mail_simple_test.v @@ -1,4 +1,4 @@ -module mcc +module models // A simplified test file to verify basic functionality diff --git a/lib/circles/mcc/models/mail_test.v b/lib/circles/mcc/models/mail_test.v index 16d9aa70..d2b59260 100644 --- a/lib/circles/mcc/models/mail_test.v +++ b/lib/circles/mcc/models/mail_test.v @@ -1,4 +1,4 @@ -module mcc +module models import freeflowuniverse.herolib.data.ourtime