feat: update to v0.4.0, based by generics

This commit is contained in:
ᴍᴏᴏɴD4ʀᴋ
2022-04-18 02:11:33 +08:00
parent 6217ca3bed
commit aa3326f1a3
16 changed files with 252 additions and 135 deletions
+24 -7
View File
@@ -1,4 +1,4 @@
package browingdata
package creditcard
import (
"database/sql"
@@ -13,6 +13,20 @@ import (
type ChromiumCreditCard []card
type card struct {
GUID string
Name string
ExpirationYear string
ExpirationMonth string
CardNumber string
Address string
NickName string
}
const (
queryChromiumCredit = `SELECT guid, name_on_card, expiration_month, expiration_year, card_number_encrypted, billing_address_id, nickname FROM credit_cards`
)
func (c *ChromiumCreditCard) Parse(masterKey []byte) error {
creditDB, err := sql.Open("sqlite3", item.TempChromiumCreditCard)
if err != nil {
@@ -70,6 +84,7 @@ func (c *YandexCreditCard) Parse(masterKey []byte) error {
}
defer os.Remove(item.TempYandexCreditCard)
defer creditDB.Close()
defer creditDB.Close()
rows, err := creditDB.Query(queryChromiumCredit)
if err != nil {
return err
@@ -77,17 +92,19 @@ func (c *YandexCreditCard) Parse(masterKey []byte) error {
defer rows.Close()
for rows.Next() {
var (
name, month, year, guid string
value, encryptValue []byte
name, month, year, guid, address, nickname string
value, encryptValue []byte
)
if err := rows.Scan(&guid, &name, &month, &year, &encryptValue); err != nil {
if err := rows.Scan(&guid, &name, &month, &year, &encryptValue, &address, &nickname); err != nil {
log.Warn(err)
}
creditCardInfo := card{
ccInfo := card{
GUID: guid,
Name: name,
ExpirationMonth: month,
ExpirationYear: year,
Address: address,
NickName: nickname,
}
if masterKey == nil {
value, err = decrypter.DPApi(encryptValue)
@@ -100,8 +117,8 @@ func (c *YandexCreditCard) Parse(masterKey []byte) error {
return err
}
}
creditCardInfo.CardNumber = string(value)
*c = append(*c, creditCardInfo)
ccInfo.CardNumber = string(value)
*c = append(*c, ccInfo)
}
return nil
}