1 package host.exp.exponent.notifications 2 3 import com.raizlabs.android.dbflow.annotation.Column 4 import com.raizlabs.android.dbflow.annotation.PrimaryKey 5 import com.raizlabs.android.dbflow.annotation.Table 6 import com.raizlabs.android.dbflow.structure.BaseModel 7 8 @Table(database = ActionDatabase::class) 9 class ActionObject : BaseModel { 10 @Column var categoryId: String? = null 11 @PrimaryKey @Column var actionId: String? = null 12 @Column var buttonTitle: String? = null 13 @Column var isDestructive: Boolean? = null 14 @Column var isAuthenticationRequired: Boolean? = null 15 @Column var submitButtonTitle: String? = null 16 @Column var placeholder: String? = null 17 @Column var isShouldShowTextInput: Boolean = false 18 @Column var position: Int 19 20 constructor() { 21 position = 0 22 } 23 24 constructor(map: Map<String?, Any?>, position: Int) { 25 categoryId = map["categoryId"] as String? 26 actionId = map["actionId"] as String? 27 buttonTitle = map["buttonTitle"] as String? 28 isDestructive = map["isDestructive"] as Boolean? 29 isAuthenticationRequired = map["isAuthenticationRequired"] as Boolean? 30 isShouldShowTextInput = map["textInput"] != null 31 if (isShouldShowTextInput && map["textInput"] is Map<*, *>) { 32 val subMap = map["textInput"] as Map<String, Any>? 33 placeholder = subMap!!["placeholder"] as String? 34 submitButtonTitle = subMap["submitButtonTitle"] as String? 35 } 36 this.position = position 37 } 38 } 39