feat: improve build and serialization logic

- Update v fmt exit code handling
- Support dynamic organization for symlinks
- Add f32 and list f64 serialization/deserialization
- Improve JSON decoding for bid requirements/pricing
- Add basic tests for Bid and Node creation
This commit is contained in:
Mahmoud-Emad
2025-10-12 13:27:10 +03:00
parent de8f390f4b
commit a65cbd606b
8 changed files with 108 additions and 30 deletions

View File

@@ -3,7 +3,7 @@ module models_tfgrid
import incubaid.herolib.data.encoder
import incubaid.herolib.data.ourtime
import incubaid.herolib.hero.db
import incubaid.herolib.data.json
import json
// Bid - ROOT OBJECT
@[heap]
@@ -106,8 +106,10 @@ pub fn (self Bid) dump(mut e encoder.Encoder) ! {
fn (mut self DBBid) load(mut o Bid, mut e encoder.Decoder) ! {
o.customer_id = e.get_u32()!
o.requirements = json.decode[map[string]string](e.get_string()!)!
o.pricing = json.decode[map[string]string](e.get_string()!)!
requirements_str := e.get_string()!
o.requirements = json.decode(map[string]string, requirements_str)!
pricing_str := e.get_string()!
o.pricing = json.decode(map[string]string, pricing_str)!
o.status = unsafe { BidStatus(e.get_int()!) }
o.obligation = e.get_bool()!
o.start_date = e.get_u32()!