Skip to content

Commit 55a225b

Browse files
committed
formatting fixes, utility functions
1 parent 092efff commit 55a225b

File tree

2 files changed

+54
-34
lines changed

2 files changed

+54
-34
lines changed

db.go

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -360,16 +360,17 @@ func updateDatabaseCardEntry(entry *Entry, cardName, cardNumber, cardHolder, car
360360
// Issuer has to be the same
361361
"class": cardClass,
362362
"expiry_date": cardExpiry,
363-
"tags": strings.TrimSpace(tags),
363+
"tags": tags,
364364
"notes": notes,
365365
}
366366

367367
for key, val := range keyValMap {
368+
val := strings.TrimSpace(val)
368369
if len(val) > 0 {
369370
updateMap[key] = val
370371
}
371372
}
372-
fmt.Printf("%+v\n", updateMap)
373+
// fmt.Printf("%+v\n", updateMap)
373374

374375
if len(updateMap) == 0 && !flag {
375376
fmt.Printf("Nothing to update\n")
@@ -405,18 +406,23 @@ func addNewDatabaseCardEntry(cardName, cardNumber, cardHolder, cardIssuer, cardC
405406
var err error
406407
var db *gorm.DB
407408

409+
fields := MapString([]string{cardName, cardHolder, cardNumber, cardCvv,
410+
cardPin, cardIssuer, cardClass, cardExpiry, tags, notes},
411+
strings.TrimSpace)
412+
408413
entry = Entry{
409-
Title: cardName,
410-
User: cardHolder,
411-
Url: cardNumber,
412-
Password: cardCvv,
413-
Pin: cardPin,
414-
Issuer: cardIssuer,
415-
Class: cardClass,
416-
ExpiryDate: cardExpiry,
414+
Title: fields[0],
415+
User: fields[1],
416+
Url: fields[2],
417+
Password: fields[3],
418+
Pin: fields[4],
419+
Issuer: fields[5],
420+
Class: fields[6],
421+
ExpiryDate: fields[7],
417422
Type: "card",
418-
Tags: strings.TrimSpace(tags),
419-
Notes: notes}
423+
Tags: fields[8],
424+
Notes: fields[9],
425+
}
420426

421427
err, db = openActiveDatabase()
422428
if err == nil && db != nil {

utils.go

Lines changed: 36 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,26 @@ type Settings struct {
5353
// Global settings override
5454
var settingsRider SettingsOverride
5555

56+
// Map a function to an array of strings
57+
func MapString(vs []string, f func(string) string) []string {
58+
vsm := make([]string, len(vs))
59+
for i, v := range vs {
60+
vsm[i] = f(v)
61+
}
62+
return vsm
63+
}
64+
65+
// Print a secret
66+
func hideSecret(secret string) string {
67+
var stars []string
68+
69+
for i := 0; i < len(secret); i++ {
70+
stars = append(stars, "*")
71+
}
72+
73+
return strings.Join(stars, "")
74+
}
75+
5676
// Write settings to disk
5777
func writeSettings(settings *Settings, configFile string) error {
5878

@@ -307,6 +327,8 @@ func prettifyCardNumber(cardNumber string) string {
307327
// Any 16 digits - group as 4/4/4/4
308328
var numbers []string
309329

330+
// Remove spaces in between
331+
cardNumber = strings.Join(strings.Split(cardNumber, " "), "")
310332
if len(cardNumber) == 15 {
311333
numbers = append(numbers, cardNumber[0:4])
312334
numbers = append(numbers, cardNumber[4:10])
@@ -347,26 +369,26 @@ func printCardEntry(entry *Entry, settings *Settings, delim bool) error {
347369
}
348370

349371
fmt.Println()
350-
351372
fmt.Printf("Expiry Date: %s\n", entry.ExpiryDate)
352373

374+
passwd := strings.TrimSpace(entry.Password)
375+
pin := strings.TrimSpace(entry.Pin)
353376
if settings.ShowPasswords || settingsRider.ShowPasswords {
354-
fmt.Printf("Card CVV: %s\n", entry.Password)
355-
fmt.Printf("Card PIN: %s\n", entry.Pin)
356-
} else {
357-
var asterisks1 []string
358-
var asterisks2 []string
359-
var i int
360377

361-
for i = 0; i < len(entry.Password); i++ {
362-
asterisks1 = append(asterisks1, "*")
378+
if len(passwd) > 0 {
379+
fmt.Printf("Card CVV: %s\n", passwd)
380+
}
381+
if len(pin) > 0 {
382+
fmt.Printf("Card PIN: %s\n", pin)
363383
}
364-
fmt.Printf("Card CVV: %s\n", strings.Join(asterisks1, ""))
384+
} else {
365385

366-
for i = 0; i < len(entry.Pin); i++ {
367-
asterisks2 = append(asterisks2, "*")
386+
if len(passwd) > 0 {
387+
fmt.Printf("Card CVV: %s\n", hideSecret(passwd))
388+
}
389+
if len(pin) > 0 {
390+
fmt.Printf("Card PIN: %s\n", hideSecret(passwd))
368391
}
369-
fmt.Printf("Card PIN: %s\n", strings.Join(asterisks2, ""))
370392
}
371393

372394
if len(entry.Tags) > 0 {
@@ -377,17 +399,14 @@ func printCardEntry(entry *Entry, settings *Settings, delim bool) error {
377399
}
378400
// Query extended entries
379401
customEntries = getExtendedEntries(entry)
380-
381402
if len(customEntries) > 0 {
382403
for _, customEntry := range customEntries {
383404
fmt.Printf("%s: %s\n", customEntry.FieldName, customEntry.FieldValue)
384405
}
385406
}
386407

387408
fmt.Printf("Modified: %s\n", entry.Timestamp.Format("2006-01-02 15:04:05"))
388-
389409
printDelim(settings.Delim, settings.Color)
390-
391410
// Reset
392411
fmt.Printf("%s", getColor("default"))
393412

@@ -431,12 +450,7 @@ func printEntry(entry *Entry, delim bool) error {
431450
if settings.ShowPasswords || settingsRider.ShowPasswords {
432451
fmt.Printf("Password: %s\n", entry.Password)
433452
} else {
434-
var asterisks []string
435-
436-
for i := 0; i < len(entry.Password); i++ {
437-
asterisks = append(asterisks, "*")
438-
}
439-
fmt.Printf("Password: %s\n", strings.Join(asterisks, ""))
453+
fmt.Printf("Password: %s\n", hideSecret(entry.Password))
440454
}
441455

442456
if len(entry.Tags) > 0 {

0 commit comments

Comments
 (0)