Compare commits

..

3 Commits

Author SHA1 Message Date
Jef Roosens ce6a5db29b
refactor: moved BuildLog to models 2022-05-19 21:47:51 +02:00
Jef Roosens e7a0aa4c90
refactor: separated GitRepo types into own module
feat: added more query params for GitRepo API
2022-05-19 07:54:33 +02:00
Jef Roosens 6e6249396a
WIP: add filters to GitRepo CLI 2022-05-18 16:05:44 +02:00
4 changed files with 11 additions and 5 deletions

View File

@ -4,6 +4,7 @@ import docker
import encoding.base64
import time
import os
import db
import strings
import util
import models { GitRepo }

View File

@ -7,6 +7,7 @@ import cron.expression { CronExpression, parse_expression }
import math
import build
import docker
import db
import os
import client
import models { GitRepo }

View File

@ -1,7 +1,5 @@
module models
// from_params<T> creates a new instance of T from the given map by parsing all
// of its fields from the map.
pub fn from_params<T>(params map[string]string) ?T {
mut o := T{}
@ -10,8 +8,6 @@ pub fn from_params<T>(params map[string]string) ?T {
return o
}
// patch_from_params<T> updates the given T object with the params defined in
// the map.
pub fn patch_from_params<T>(mut o T, params map[string]string) ? {
$for field in T.fields {
if field.name in params && params[field.name] != '' {
@ -30,7 +26,6 @@ pub fn patch_from_params<T>(mut o T, params map[string]string) ? {
}
}
// params_from<T> converts a given T struct into a map of strings.
pub fn params_from<T>(o &T) map[string]string {
mut out := map[string]string{}

View File

@ -64,3 +64,12 @@ pub fn pretty_bytes(bytes int) string {
return '${n:.2}${util.prefixes[i]}'
}
pub fn struct_to_map<T>(o T) map[string]string {
mut m := map[string]string{}
$for field in T.fields {
m[field.name] = o.$(field.name).str()
}
return m
}