mirror of
https://gitlab.futo.org/videostreaming/grayjay.git
synced 2025-08-04 07:09:53 +00:00
wip
This commit is contained in:
parent
6df8f84421
commit
10e3d2122f
4 changed files with 50 additions and 4 deletions
|
@ -5,6 +5,7 @@ plugins {
|
||||||
id 'org.ajoberstar.grgit' version '1.7.2'
|
id 'org.ajoberstar.grgit' version '1.7.2'
|
||||||
id 'com.google.protobuf'
|
id 'com.google.protobuf'
|
||||||
id 'kotlin-parcelize'
|
id 'kotlin-parcelize'
|
||||||
|
id 'kotlin-kapt'
|
||||||
}
|
}
|
||||||
|
|
||||||
ext {
|
ext {
|
||||||
|
@ -194,6 +195,12 @@ dependencies {
|
||||||
implementation 'androidx.work:work-runtime-ktx:2.8.1'
|
implementation 'androidx.work:work-runtime-ktx:2.8.1'
|
||||||
implementation 'androidx.concurrent:concurrent-futures-ktx:1.1.0'
|
implementation 'androidx.concurrent:concurrent-futures-ktx:1.1.0'
|
||||||
|
|
||||||
|
//Database
|
||||||
|
implementation("androidx.room:room-runtime:2.6.0")
|
||||||
|
annotationProcessor("androidx.room:room-compiler:2.6.0")
|
||||||
|
kapt("androidx.room:room-compiler:2.6.0")
|
||||||
|
implementation("androidx.room:room-ktx:2.6.0")
|
||||||
|
|
||||||
//Payment
|
//Payment
|
||||||
implementation 'com.stripe:stripe-android:20.28.3'
|
implementation 'com.stripe:stripe-android:20.28.3'
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,8 @@
|
||||||
package com.futo.platformplayer.stores.db
|
package com.futo.platformplayer.stores.db
|
||||||
|
|
||||||
class ManagedDBIndex {
|
import androidx.room.PrimaryKey
|
||||||
|
|
||||||
}
|
open class ManagedDBIndex(
|
||||||
|
@PrimaryKey(true)
|
||||||
|
val id: Int? = null
|
||||||
|
)
|
|
@ -1,5 +1,41 @@
|
||||||
package com.futo.platformplayer.stores.db
|
package com.futo.platformplayer.stores.db
|
||||||
|
|
||||||
class ManagedDBStore {
|
import com.futo.platformplayer.assume
|
||||||
|
import com.futo.platformplayer.stores.v2.ManagedStore
|
||||||
|
import com.futo.platformplayer.stores.v2.ReconstructStore
|
||||||
|
import com.futo.platformplayer.stores.v2.StoreSerializer
|
||||||
|
import java.io.File
|
||||||
|
import kotlin.reflect.KClass
|
||||||
|
import kotlin.reflect.KType
|
||||||
|
|
||||||
|
class ManagedDBStore<I, T> {
|
||||||
|
private val _class: KType;
|
||||||
|
private val _name: String;
|
||||||
|
private val _serializer: StoreSerializer<T>;
|
||||||
|
|
||||||
|
|
||||||
|
private var _isLoaded = false;
|
||||||
|
|
||||||
|
private var _withUnique: ((I) -> Any)? = null;
|
||||||
|
|
||||||
|
val className: String? get() = _class.classifier?.assume<KClass<*>>()?.simpleName;
|
||||||
|
|
||||||
|
val name: String;
|
||||||
|
|
||||||
|
constructor(name: String, clazz: KType, serializer: StoreSerializer<T>, niceName: String? = null) {
|
||||||
|
_name = name;
|
||||||
|
this.name = niceName ?: name.let {
|
||||||
|
if(it.isNotEmpty())
|
||||||
|
return@let it[0].uppercase() + it.substring(1);
|
||||||
|
return@let name;
|
||||||
|
};
|
||||||
|
_serializer = serializer;
|
||||||
|
_class = clazz;
|
||||||
|
}
|
||||||
|
|
||||||
|
fun load() {
|
||||||
|
throw NotImplementedError();
|
||||||
|
_isLoaded = true;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
|
@ -1 +1 @@
|
||||||
Subproject commit 8f10daba1ef9cbcd99f3c640d86808f8c94aa84a
|
Subproject commit 37fd342a760be6351b042732a4052bd54d723eb0
|
Loading…
Add table
Add a link
Reference in a new issue