@@ -6,7 +6,6 @@ package linkaccount
66import (
77 "context"
88 "fmt"
9- "time"
109
1110 "github.com/toeirei/keymaster/client"
1211 "github.com/toeirei/keymaster/tags"
@@ -15,18 +14,10 @@ import (
1514 "github.com/toeirei/keymaster/ui/tui/models/helpers/form"
1615 formelement "github.com/toeirei/keymaster/ui/tui/models/helpers/form/element"
1716 "github.com/toeirei/keymaster/ui/tui/models/helpers/table"
17+ "github.com/toeirei/keymaster/ui/tui/util"
1818 "github.com/toeirei/keymaster/util/slicest"
1919)
2020
21- const (
22- timeLayout1 string = "2006.01.02 15:04:05"
23- timeLayout2 string = "2006.01.02 15:04"
24- timeLayout3 string = "2006.01.02"
25- timeLayout4 string = "02.01.2006 15:04:05"
26- timeLayout5 string = "02.01.2006 15:04"
27- timeLayout6 string = "02.01.2006"
28- )
29-
3021type recordT = struct {
3122 link client.Link
3223 linkedPublicKeyCount int
@@ -52,21 +43,6 @@ func linkToRecord(ctx context.Context, c client.Client, link client.Link) (recor
5243 return recordT {link , len (publicKeys )}, nil
5344}
5445
55- func parseExpiresAt (expiresAtStr string ) (time.Time , error ) {
56- timeParseLayouts := []string {timeLayout1 , timeLayout2 , timeLayout3 , timeLayout4 , timeLayout5 , timeLayout6 }
57-
58- var expiresAt time.Time
59- var err error
60- for _ , layout := range timeParseLayouts {
61- expiresAt , err = time .Parse (layout , expiresAtStr )
62- if err == nil {
63- break
64- }
65- }
66-
67- return expiresAt , err
68- }
69-
7046func formRows [T comparable ]() []form.FormOpt [T ] {
7147 return []form.FormOpt [T ]{
7248 form .WithRowItem [T ]("tag_matcher" , formelement .NewText ("Tag Matcher" , "text to match tags of public keys" )),
@@ -103,7 +79,7 @@ func NewCrud(c client.Client, rc router.Controll, account client.Account) *crud.
10379 return recordT {}, err
10480 }
10581
106- expiresAt , err := parseExpiresAt (recordCreate .ExpiresAt )
82+ expiresAt , err := util . ParseTime (recordCreate .ExpiresAt )
10783 if err != nil {
10884 return recordT {}, err
10985 }
@@ -126,7 +102,7 @@ func NewCrud(c client.Client, rc router.Controll, account client.Account) *crud.
126102 return recordT {}, err
127103 }
128104
129- expiresAt , err := parseExpiresAt (recordUpdate .ExpiresAt )
105+ expiresAt , err := util . ParseTime (recordUpdate .ExpiresAt )
130106 if err != nil {
131107 return recordT {}, err
132108 }
@@ -153,15 +129,15 @@ func NewCrud(c client.Client, rc router.Controll, account client.Account) *crud.
153129 },
154130
155131 table .NewBubblesTableRenderer (table.Columns [recordT ]{
156- {Title : "Account" , View : func (r recordT ) string { return account .String () }},
157132 {Title : "Tag Matcher" , View : func (r recordT ) string { return r .link .TagMatcher }},
158133 {Title : "Expires At" , View : func (r recordT ) string { return fmt .Sprint (r .link .ExpiresAt ) }},
134+ {Title : "Account" , View : func (r recordT ) string { return account .String () }},
159135 {Title : "Public Keys" , View : func (r recordT ) string { return fmt .Sprint (r .linkedPublicKeyCount ) }},
160136 }),
161137 func (record recordT ) recordUpdateT {
162138 return recordUpdateT {
163139 record .link .TagMatcher ,
164- record .link .ExpiresAt . Format ( timeLayout1 ),
140+ util . StringifyTime ( record .link .ExpiresAt ),
165141 }
166142 },
167143
@@ -173,7 +149,7 @@ func NewCrud(c client.Client, rc router.Controll, account client.Account) *crud.
173149 crud.WithListDuplicateAction [recordT , recordCreateT , recordUpdateT , recordIdT , filterT ](func (record recordT ) recordCreateT {
174150 return recordCreateT {
175151 record .link .TagMatcher ,
176- record .link .ExpiresAt . Format ( timeLayout1 ),
152+ util . StringifyTime ( record .link .ExpiresAt ),
177153 }
178154 }),
179155 crud.WithListReloadAfterChange [recordT , recordCreateT , recordUpdateT , recordIdT , filterT ](true ),
0 commit comments