chore: improve code

This commit is contained in:
hstyi
2025-06-16 15:21:43 +08:00
committed by hstyi
parent d3cfde5238
commit c9c8aa8f2a
7 changed files with 24 additions and 9 deletions

View File

@@ -1,11 +1,15 @@
package app.termora.database package app.termora.database
enum class DataType { enum class DataType : IDataType {
Host, Host,
Snippet, Snippet,
KeyPair, KeyPair,
Tag, Tag,
Macro, Macro,
KeywordHighlight, KeywordHighlight,
Keymap, Keymap, ;
override fun dataType(): String {
return this.name
}
} }

View File

@@ -117,14 +117,14 @@ class DatabaseManager private constructor() : Disposable {
/** /**
* 返回本地所有用户的数据,调用者需要过滤具体用户 * 返回本地所有用户的数据,调用者需要过滤具体用户
*/ */
inline fun <reified T> data(type: DataType): List<T> { inline fun <reified T> data(type: IDataType): List<T> {
return data(type, StringUtils.EMPTY) return data(type, StringUtils.EMPTY)
} }
/** /**
* 返回本地所有用户的数据,调用者需要过滤具体用户 * 返回本地所有用户的数据,调用者需要过滤具体用户
*/ */
inline fun <reified T> data(type: DataType, ownerId: String): List<T> { inline fun <reified T> data(type: IDataType, ownerId: String): List<T> {
val list = mutableListOf<T>() val list = mutableListOf<T>()
try { try {
for (data in rawData(type, ownerId)) { for (data in rawData(type, ownerId)) {
@@ -188,19 +188,19 @@ class DatabaseManager private constructor() : Disposable {
/** /**
* 不会返回已删除的数据 * 不会返回已删除的数据
*/ */
fun rawData(type: DataType): List<Data> { fun rawData(type: IDataType): List<Data> {
return rawData(type, StringUtils.EMPTY) return rawData(type, StringUtils.EMPTY)
} }
/** /**
* 不会返回已删除的数据 * 不会返回已删除的数据
*/ */
fun rawData(type: DataType, ownerId: String): List<Data> { fun rawData(type: IDataType, ownerId: String): List<Data> {
val list = mutableListOf<Data>() val list = mutableListOf<Data>()
lock.withLock { lock.withLock {
transaction(database) { transaction(database) {
val query = DataEntity.selectAll() val query = DataEntity.selectAll()
.where { (DataEntity.type eq type.name) and (DataEntity.deleted.eq(false)) } .where { (DataEntity.type eq type.dataType()) and (DataEntity.deleted.eq(false)) }
if (ownerId.isNotBlank()) { if (ownerId.isNotBlank()) {
query.andWhere { DataEntity.ownerId eq ownerId } query.andWhere { DataEntity.ownerId eq ownerId }

View File

@@ -0,0 +1,5 @@
package app.termora.database
interface IDataType {
fun dataType(): String
}

View File

@@ -514,7 +514,7 @@ class KeyManagerPanel(private val accountOwner: AccountOwner) : JPanel(BorderLay
var rows = 1 var rows = 1
val step = 2 val step = 2
return FormBuilder.create().layout(layout).padding("2dlu, $formMargin, $formMargin, $formMargin") return FormBuilder.create().layout(layout).padding("2dlu, $formMargin, $formMargin, $formMargin")
.add("File:").xy(1, rows) .add("${I18n.getString("termora.file")}:").xy(1, rows)
.add(fileTextField).xy(3, rows).apply { rows += step } .add(fileTextField).xy(3, rows).apply { rows += step }
.add("${I18n.getString("termora.keymgr.table.type")}:").xy(1, rows) .add("${I18n.getString("termora.keymgr.table.type")}:").xy(1, rows)
.add(typeComboBox).xy(3, rows).apply { rows += step } .add(typeComboBox).xy(3, rows).apply { rows += step }
@@ -553,7 +553,7 @@ class KeyManagerPanel(private val accountOwner: AccountOwner) : JPanel(BorderLay
} }
}, },
messageType = JOptionPane.PLAIN_MESSAGE, messageType = JOptionPane.PLAIN_MESSAGE,
title = "Private Key", title = I18n.getString("termora.keymgr.private-key"),
optionType = JOptionPane.OK_CANCEL_OPTION optionType = JOptionPane.OK_CANCEL_OPTION
) != JOptionPane.OK_OPTION ) != JOptionPane.OK_OPTION
) { ) {

View File

@@ -10,6 +10,7 @@ termora.no=No
termora.date-format=MM/dd/yyyy hh:mm:ss a termora.date-format=MM/dd/yyyy hh:mm:ss a
termora.finder=Finder termora.finder=Finder
termora.folder=Folder termora.folder=Folder
termora.file=File
termora.explorer=Explorer termora.explorer=Explorer
termora.quit-confirm=Quit {0}? termora.quit-confirm=Quit {0}?
@@ -243,6 +244,7 @@ termora.keymgr.generate=Generate
termora.keymgr.import=Import termora.keymgr.import=Import
termora.keymgr.export=Export termora.keymgr.export=Export
termora.keymgr.edit=Edit termora.keymgr.edit=Edit
termora.keymgr.private-key=Private Key
termora.keymgr.delete-warning=Are you sure you want to delete? termora.keymgr.delete-warning=Are you sure you want to delete?
termora.keymgr.table.name=Name termora.keymgr.table.name=Name
termora.keymgr.table.type=Type termora.keymgr.table.type=Type

View File

@@ -9,6 +9,7 @@ termora.no=否
termora.date-format=yyyy-MM-dd HH:mm:ss termora.date-format=yyyy-MM-dd HH:mm:ss
termora.finder=访达 termora.finder=访达
termora.folder=文件夹 termora.folder=文件夹
termora.file=文件
termora.explorer=文件管理器 termora.explorer=文件管理器
termora.quit-confirm=你要退出 {0} 吗? termora.quit-confirm=你要退出 {0} 吗?
@@ -230,6 +231,7 @@ termora.keymgr.generate=生成
termora.keymgr.import=导入 termora.keymgr.import=导入
termora.keymgr.export=导出 termora.keymgr.export=导出
termora.keymgr.edit=编辑 termora.keymgr.edit=编辑
termora.keymgr.private-key=私钥
termora.keymgr.delete-warning=确定要删除吗? termora.keymgr.delete-warning=确定要删除吗?
termora.keymgr.table.name=名称 termora.keymgr.table.name=名称
termora.keymgr.table.type=类型 termora.keymgr.table.type=类型

View File

@@ -8,6 +8,7 @@ termora.no=否
termora.date-format=yyyy/MM/dd HH:mm:ss termora.date-format=yyyy/MM/dd HH:mm:ss
termora.finder=訪達 termora.finder=訪達
termora.folder=資料夾 termora.folder=資料夾
termora.file=文件
termora.explorer=檔案管理器 termora.explorer=檔案管理器
termora.quit-confirm=你要退出 {0} 嗎? termora.quit-confirm=你要退出 {0} 嗎?
@@ -228,6 +229,7 @@ termora.keymgr.generate=生成
termora.keymgr.import=匯入 termora.keymgr.import=匯入
termora.keymgr.export=匯出 termora.keymgr.export=匯出
termora.keymgr.edit=編輯 termora.keymgr.edit=編輯
termora.keymgr.private-key=私鑰
termora.keymgr.delete-warning=確定要刪除嗎? termora.keymgr.delete-warning=確定要刪除嗎?
termora.keymgr.table.name=名稱 termora.keymgr.table.name=名稱
termora.keymgr.table.type=型別 termora.keymgr.table.type=型別