Files
mp-qvyun/backend/pkg/pg/users.go
2024-12-10 14:50:50 +08:00

69 lines
1.5 KiB
Go

package pg
import (
"database/sql/driver"
"encoding/json"
"errors"
"github.com/samber/lo"
)
type UserOAuth struct {
AccessToken string `json:"access_token,omitempty"`
ExpiresIn int64 `json:"expires_in,omitempty"`
IsSnapshotuser int64 `json:"is_snapshotuser,omitempty"`
Openid string `json:"openid,omitempty"`
RefreshToken string `json:"refresh_token,omitempty"`
Scope string `json:"scope,omitempty"`
Unionid string `json:"unionid,omitempty"`
}
func (x *UserOAuth) Scan(value interface{}) (err error) {
switch v := value.(type) {
case string:
return json.Unmarshal([]byte(v), &x)
case []byte:
return json.Unmarshal(v, &x)
case *string:
return json.Unmarshal([]byte(*v), &x)
}
return errors.New("Unknown type for ")
}
func (x UserOAuth) Value() (driver.Value, error) {
return json.Marshal(x)
}
type BalanceTarget struct {
ID int64 `json:"id,omitempty"`
Name string `json:"name,omitempty"`
}
func (x BalanceTarget) MustValue() driver.Value {
return lo.Must(json.Marshal(x))
}
func (x *BalanceTarget) Scan(value interface{}) (err error) {
switch v := value.(type) {
case string:
return json.Unmarshal([]byte(v), &x)
case []byte:
return json.Unmarshal(v, &x)
case *string:
return json.Unmarshal([]byte(*v), &x)
}
return errors.New("Unknown type for ")
}
func (x BalanceTarget) Value() (driver.Value, error) {
return json.Marshal(x)
}
// swagger:enum BalanceType
// ENUM(
// Charge = "charge",
// Consume = "consume",
// Refund = "refund",
// )
type BalanceType string