feat: added templates
This commit is contained in:
@@ -0,0 +1,77 @@
|
||||
package ru.omni_devel.cards
|
||||
|
||||
import kotlinx.serialization.Serializable
|
||||
import org.json.JSONArray
|
||||
import org.json.JSONObject
|
||||
|
||||
@Serializable
|
||||
class Field(
|
||||
val id: String,
|
||||
val name: String,
|
||||
val default: String? = null,
|
||||
val maybeEmpty: Boolean = false
|
||||
)
|
||||
|
||||
@Serializable
|
||||
class Template(
|
||||
val name: String,
|
||||
val fields: List<Field>,
|
||||
val template: String
|
||||
) {
|
||||
companion object {
|
||||
fun parseTemplateFromJson(json: String): Template {
|
||||
val obj = JSONObject(json)
|
||||
|
||||
val fieldsArray = obj.getJSONArray("fields")
|
||||
val fields = mutableListOf<Field>()
|
||||
|
||||
for (fi in 0 until fieldsArray.length()) {
|
||||
val fieldObj = fieldsArray.getJSONObject(fi)
|
||||
|
||||
fields.add(Field(
|
||||
id = fieldObj.getString("id"),
|
||||
name = fieldObj.getString("name"),
|
||||
default = fieldObj.optString("default"),
|
||||
maybeEmpty = fieldObj.optBoolean("maybeEmpty")
|
||||
))
|
||||
}
|
||||
|
||||
return Template(
|
||||
name = obj.getString("name"),
|
||||
fields = fields,
|
||||
template = obj.getString("template")
|
||||
)
|
||||
}
|
||||
|
||||
fun parseTemplatesFromJson(json: String): List<Template> {
|
||||
val array = JSONArray(json)
|
||||
val templates = mutableListOf<Template>()
|
||||
|
||||
for (i in 0 until array.length()) {
|
||||
val obj = array.getJSONObject(i)
|
||||
|
||||
val fieldsArray = obj.getJSONArray("fields")
|
||||
val fields = mutableListOf<Field>()
|
||||
|
||||
for (fi in 0 until fieldsArray.length()) {
|
||||
val fieldObj = fieldsArray.getJSONObject(fi)
|
||||
|
||||
fields.add(Field(
|
||||
id = fieldObj.getString("id"),
|
||||
name = fieldObj.getString("name"),
|
||||
default = fieldObj.optString("default"),
|
||||
maybeEmpty = fieldObj.optBoolean("maybeEmpty")
|
||||
))
|
||||
}
|
||||
|
||||
templates.add(Template(
|
||||
name = obj.getString("name"),
|
||||
fields = fields,
|
||||
template = obj.getString("template")
|
||||
))
|
||||
}
|
||||
|
||||
return templates
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user