mirror of
https://github.com/Finb/Bark.git
synced 2025-12-08 21:36:01 +00:00
57 lines
1.5 KiB
Swift
57 lines
1.5 KiB
Swift
//
|
|
// Message.swift
|
|
// Bark
|
|
//
|
|
// Created by huangfeng on 2020/5/25.
|
|
// Copyright © 2020 Fin. All rights reserved.
|
|
//
|
|
|
|
import RealmSwift
|
|
import SwiftyJSON
|
|
import UIKit
|
|
|
|
class Message: Object {
|
|
enum BodyType: String {
|
|
case plainText
|
|
case markdown
|
|
}
|
|
@Persisted(primaryKey: true) var id = UUID().uuidString
|
|
@Persisted var title: String?
|
|
@Persisted var subtitle: String?
|
|
@Persisted var body: String?
|
|
@Persisted var bodyType: String?
|
|
@Persisted var url: String?
|
|
@Persisted var image: String?
|
|
@Persisted(indexed: true) var group: String?
|
|
@Persisted(indexed: true) var createDate: Date?
|
|
|
|
var type: BodyType {
|
|
get {
|
|
guard let bodyType = bodyType else {
|
|
return .plainText
|
|
}
|
|
return BodyType(rawValue: bodyType) ?? .plainText
|
|
}
|
|
}
|
|
|
|
/// 从 JSON 初始化
|
|
convenience init?(json: JSON) {
|
|
self.init()
|
|
guard let id = json["id"].string else {
|
|
return nil
|
|
}
|
|
guard let createDate = json["createDate"].int64 else {
|
|
return nil
|
|
}
|
|
self.id = id
|
|
self.title = json["title"].string
|
|
self.subtitle = json["subtitle"].string
|
|
self.body = json["body"].string
|
|
self.bodyType = json["bodyType"].string
|
|
self.url = json["url"].string
|
|
self.image = json["image"].string
|
|
self.group = json["group"].string
|
|
self.createDate = Date(timeIntervalSince1970: TimeInterval(createDate))
|
|
}
|
|
}
|