forked from midou/invidious
28 lines
625 B
Crystal
28 lines
625 B
Crystal
|
require "db"
|
||
|
|
||
|
struct Invidious::User
|
||
|
include DB::Serializable
|
||
|
|
||
|
property updated : Time
|
||
|
property notifications : Array(String)
|
||
|
property subscriptions : Array(String)
|
||
|
property email : String
|
||
|
|
||
|
@[DB::Field(converter: Invidious::User::PreferencesConverter)]
|
||
|
property preferences : Preferences
|
||
|
property password : String?
|
||
|
property token : String
|
||
|
property watched : Array(String)
|
||
|
property feed_needs_update : Bool?
|
||
|
|
||
|
module PreferencesConverter
|
||
|
def self.from_rs(rs)
|
||
|
begin
|
||
|
Preferences.from_json(rs.read(String))
|
||
|
rescue ex
|
||
|
Preferences.from_json("{}")
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|