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

49 lines
971 B
Go

package models
import (
"database/sql"
"time"
)
type ShareToken struct {
TokenID int
Value string
OwnerID int
Expire *time.Time
Password *string
AlbumID *int
PhotoID *int
}
func (share *ShareToken) Token() string {
return share.Value
}
func (share *ShareToken) ID() int {
return share.TokenID
}
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.PhotoID); err != nil {
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.PhotoID); err != nil {
return nil, err
}
tokens = append(tokens, &token)
}
return tokens, nil
}