Add ability to reject group invite by PNI.

This commit is contained in:
Cody Henthorne
2022-04-25 12:37:25 -04:00
parent e22560a794
commit 657a9c7b0a
41 changed files with 626 additions and 325 deletions

View File

@@ -1,4 +1,4 @@
<h1>SPINNER</h1>
<h1>SPINNER - {{environment}}</h1>
<table class="device-info">
{{#each deviceInfo}}

View File

@@ -11,7 +11,10 @@ import java.io.IOException
* A class to help initialize Spinner, our database debugging interface.
*/
object Spinner {
val TAG: String = Log.tag(Spinner::class.java)
internal const val KEY_PREFIX = "spinner"
const val KEY_ENVIRONMENT = "$KEY_PREFIX:environment"
private val TAG: String = Log.tag(Spinner::class.java)
private lateinit var server: SpinnerServer

View File

@@ -28,7 +28,7 @@ import kotlin.math.min
*/
internal class SpinnerServer(
private val application: Application,
private val deviceInfo: Map<String, String>,
deviceInfo: Map<String, String>,
private val databases: Map<String, DatabaseConfig>
) : NanoHTTPD(5000) {
@@ -36,6 +36,9 @@ internal class SpinnerServer(
private val TAG = Log.tag(SpinnerServer::class.java)
}
private val deviceInfo: Map<String, String> = deviceInfo.filterKeys { !it.startsWith(Spinner.KEY_PREFIX) }
private val environment: String = deviceInfo[Spinner.KEY_ENVIRONMENT] ?: "UNKNOWN"
private val handlebars: Handlebars = Handlebars(AssetTemplateLoader(application)).apply {
registerHelper("eq", ConditionalHelpers.eq)
registerHelper("neq", ConditionalHelpers.neq)
@@ -86,6 +89,7 @@ internal class SpinnerServer(
return renderTemplate(
"overview",
OverviewPageModel(
environment = environment,
deviceInfo = deviceInfo,
database = dbName,
databases = databases.keys.toList(),
@@ -101,6 +105,7 @@ internal class SpinnerServer(
return renderTemplate(
"browse",
BrowsePageModel(
environment = environment,
deviceInfo = deviceInfo,
database = dbName,
databases = databases.keys.toList(),
@@ -131,6 +136,7 @@ internal class SpinnerServer(
return renderTemplate(
"browse",
BrowsePageModel(
environment = environment,
deviceInfo = deviceInfo,
database = dbName,
databases = databases.keys.toList(),
@@ -153,6 +159,7 @@ internal class SpinnerServer(
return renderTemplate(
"query",
QueryPageModel(
environment = environment,
deviceInfo = deviceInfo,
database = dbName,
databases = databases.keys.toList(),
@@ -173,6 +180,7 @@ internal class SpinnerServer(
return renderTemplate(
"recent",
RecentPageModel(
environment = environment,
deviceInfo = deviceInfo,
database = dbName,
databases = databases.keys.toList(),
@@ -190,6 +198,7 @@ internal class SpinnerServer(
return renderTemplate(
"query",
QueryPageModel(
environment = environment,
deviceInfo = deviceInfo,
database = dbName,
databases = databases.keys.toList(),
@@ -343,40 +352,51 @@ internal class SpinnerServer(
return params[name]
}
interface PrefixPageData {
val environment: String
val deviceInfo: Map<String, String>
val database: String
val databases: List<String>
}
data class OverviewPageModel(
val deviceInfo: Map<String, String>,
val database: String,
val databases: List<String>,
override val environment: String,
override val deviceInfo: Map<String, String>,
override val database: String,
override val databases: List<String>,
val tables: List<TableInfo>,
val indices: List<IndexInfo>,
val triggers: List<TriggerInfo>,
val queryResult: QueryResult? = null
)
) : PrefixPageData
data class BrowsePageModel(
val deviceInfo: Map<String, String>,
val database: String,
val databases: List<String>,
override val environment: String,
override val deviceInfo: Map<String, String>,
override val database: String,
override val databases: List<String>,
val tableNames: List<String>,
val table: String? = null,
val queryResult: QueryResult? = null,
val pagingData: PagingData? = null,
)
) : PrefixPageData
data class QueryPageModel(
val deviceInfo: Map<String, String>,
val database: String,
val databases: List<String>,
override val environment: String,
override val deviceInfo: Map<String, String>,
override val database: String,
override val databases: List<String>,
val query: String = "",
val queryResult: QueryResult? = null
)
) : PrefixPageData
data class RecentPageModel(
val deviceInfo: Map<String, String>,
val database: String,
val databases: List<String>,
override val environment: String,
override val deviceInfo: Map<String, String>,
override val database: String,
override val databases: List<String>,
val recentSql: List<RecentQuery>?
)
) : PrefixPageData
data class QueryResult(
val columns: List<String>,