module erpnext import incubaid.herolib.data.paramsparser import incubaid.herolib.data.encoderhero import os pub const version = '0.0.0' const singleton = false const default = true // THIS THE THE SOURCE OF THE INFORMATION OF THIS FILE, HERE WE HAVE THE CONFIG OBJECT CONFIGURED AND MODELLED @[heap] pub struct ERPNext { pub mut: name string = 'default' username string password string @[secret] title string port int example []ERPNextExample } pub struct ERPNextExample { pub mut: field1 string field2 int } // your checking & initialization code if needed fn obj_init(mycfg_ ERPNext) !ERPNext { mut mycfg := mycfg_ // if mycfg.password == '' && mycfg.secret == '' { // return error('password or secret needs to be filled in for ${mycfg.name}') // } return mycfg } // called before start if done fn configure() ! { // mut installer := get()! // mut mycode := $tmpl('templates/atemplate.yaml') // mut path := pathlib.get_file(path: cfg.configpath, create: true)! // path.write(mycode)! // console.print_debug(mycode) } /////////////NORMALLY NO NEED TO TOUCH pub fn heroscript_loads(heroscript string) !ERPNext { mut obj := encoderhero.decode[ERPNext](heroscript)! return obj }