Skip to content

Commit 0021be0

Browse files
author
Anand
committed
Export options
1 parent a69e788 commit 0021be0

File tree

1 file changed

+38
-0
lines changed

1 file changed

+38
-0
lines changed

db.go

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import (
99
"gorm.io/gorm/logger"
1010
"os"
1111
"path/filepath"
12+
"strconv"
1213
"strings"
1314
"time"
1415
)
@@ -314,5 +315,42 @@ func iterateEntries(orderKey string, order string) (error, []Entry) {
314315
}
315316

316317
return err, nil
318+
}
319+
320+
// Export all entries to string array
321+
func entriesToStringArray(skipLongFields bool) (error, [][]string) {
322+
323+
var err error
324+
var db *gorm.DB
325+
var dataArray [][]string
326+
327+
err, db = openActiveDatabase()
328+
329+
if err == nil && db != nil {
330+
var rows *sql.Rows
331+
var count int64
332+
333+
db.Model(&Entry{}).Count(&count)
334+
335+
dataArray = make([][]string, 0, count)
336+
337+
rows, err = db.Model(&Entry{}).Order("id asc").Rows()
338+
for rows.Next() {
339+
var entry Entry
340+
var entryData []string
341+
342+
db.ScanRows(rows, &entry)
343+
344+
if skipLongFields {
345+
// Skip Notes
346+
entryData = []string{strconv.Itoa(entry.ID), entry.Title, entry.User, entry.Url, entry.Password, entry.Timestamp.Format("2006-06-02 15:04:05")}
347+
} else {
348+
entryData = []string{strconv.Itoa(entry.ID), entry.Title, entry.User, entry.Url, entry.Password, entry.Notes, entry.Timestamp.Format("2006-06-02 15:04:05")}
349+
}
350+
351+
dataArray = append(dataArray, entryData)
352+
}
353+
}
317354

355+
return err, dataArray
318356
}

0 commit comments

Comments
 (0)