Add sys user export to .csv export

This commit is contained in:
Tomaž Jerman
2020-06-02 14:33:25 +02:00
committed by Denis Arh
parent 6e05c2a6ab
commit 8b6aa177c7
+28 -5
View File
@@ -22,7 +22,18 @@ func fmtUint64(u uint64) string {
return strconv.FormatUint(u, 10)
}
func (enc flatWriter) Record(r *types.Record) error {
func fmtSysUser(u uint64, finder userFinder) (string, error) {
if u <= 0 || finder == nil {
return fmtUint64(u), nil
}
su, err := finder(u)
if err != nil {
return "", err
}
return su.Name, nil
}
func (enc flatWriter) Record(r *types.Record) (err error) {
var out = make([]string, len(enc.ff))
for f, field := range enc.ff {
@@ -34,17 +45,29 @@ func (enc flatWriter) Record(r *types.Record) error {
case "namespaceID":
out[f] = fmtUint64(r.NamespaceID)
case "ownedBy":
out[f] = fmtUint64(r.OwnedBy)
out[f], err = fmtSysUser(r.OwnedBy, enc.u)
if err != nil {
return err
}
case "createdBy":
out[f] = fmtUint64(r.CreatedBy)
out[f], err = fmtSysUser(r.CreatedBy, enc.u)
if err != nil {
return err
}
case "createdAt":
out[f] = fmtTime(&r.CreatedAt)
case "updatedBy":
out[f] = fmtUint64(r.UpdatedBy)
out[f], err = fmtSysUser(r.UpdatedBy, enc.u)
if err != nil {
return err
}
case "updatedAt":
out[f] = fmtTime(r.UpdatedAt)
case "deletedBy":
out[f] = fmtUint64(r.DeletedBy)
out[f], err = fmtSysUser(r.DeletedBy, enc.u)
if err != nil {
return err
}
case "deletedAt":
out[f] = fmtTime(r.DeletedAt)
default: