1
Fork 0
photoview/api/graphql/models/share_token.go

51 lines
986 B
Go
Raw Normal View History

2020-02-09 21:25:33 +01:00
package models
2020-02-11 14:32:35 +01:00
import (
"database/sql"
"time"
)
2020-02-09 21:25:33 +01:00
type ShareToken struct {
TokenID int
Value string
OwnerID int
Expire *time.Time
Password *string
AlbumID *int
MediaID *int
2020-02-09 21:25:33 +01:00
}
func (share *ShareToken) Token() string {
return share.Value
}
func (share *ShareToken) ID() int {
return share.TokenID
}
2020-02-11 14:32:35 +01:00
func NewShareTokenFromRow(row *sql.Row) (*ShareToken, error) {
token := ShareToken{}
if err := row.Scan(&token.TokenID, &token.Value, &token.OwnerID, &token.Expire, &token.Password, &token.AlbumID, &token.MediaID); err != nil {
2020-02-11 14:32:35 +01:00
return nil, err
}
return &token, nil
}
func NewShareTokensFromRows(rows *sql.Rows) ([]*ShareToken, error) {
tokens := make([]*ShareToken, 0)
for rows.Next() {
var token ShareToken
if err := rows.Scan(&token.TokenID, &token.Value, &token.OwnerID, &token.Expire, &token.Password, &token.AlbumID, &token.MediaID); err != nil {
2020-02-11 14:32:35 +01:00
return nil, err
}
tokens = append(tokens, &token)
}
2020-02-28 20:57:46 +01:00
rows.Close()
2020-02-11 14:32:35 +01:00
return tokens, nil
}