Data migration into one sheet to rule them all.
This commit is contained in:
parent
df7b43fd73
commit
747d5576ab
17 changed files with 32 additions and 46 deletions
|
|
@ -5,6 +5,7 @@ import androidx.compose.runtime.getValue
|
|||
import com.google.api.client.extensions.android.http.AndroidHttp
|
||||
import com.google.api.client.json.gson.GsonFactory
|
||||
import com.google.api.services.sheets.v4.Sheets
|
||||
import com.pixelized.rplexicon.repository.authentication.AuthenticationRepository
|
||||
import com.pixelized.rplexicon.utilitary.exceptions.ServiceNotReady
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
package com.pixelized.rplexicon.repository
|
||||
package com.pixelized.rplexicon.repository.authentication
|
||||
|
||||
import android.accounts.Account
|
||||
import android.content.Context
|
||||
|
|
@ -1,8 +1,9 @@
|
|||
package com.pixelized.rplexicon.repository
|
||||
package com.pixelized.rplexicon.repository.data
|
||||
|
||||
import com.google.api.services.sheets.v4.model.ValueRange
|
||||
import com.pixelized.rplexicon.facotry.RollParser
|
||||
import com.pixelized.rplexicon.model.CharacterSheet
|
||||
import com.pixelized.rplexicon.repository.GoogleSheetServiceRepository
|
||||
import com.pixelized.rplexicon.utilitary.exceptions.IncompatibleSheetStructure
|
||||
import com.pixelized.rplexicon.utilitary.exceptions.ServiceNotReady
|
||||
import com.pixelized.rplexicon.utilitary.extentions.sheet
|
||||
|
|
@ -1,8 +1,9 @@
|
|||
package com.pixelized.rplexicon.repository
|
||||
package com.pixelized.rplexicon.repository.data
|
||||
|
||||
import com.google.api.services.sheets.v4.model.ValueRange
|
||||
import com.pixelized.rplexicon.facotry.LexiconParser
|
||||
import com.pixelized.rplexicon.model.Lexicon
|
||||
import com.pixelized.rplexicon.repository.GoogleSheetServiceRepository
|
||||
import com.pixelized.rplexicon.utilitary.exceptions.IncompatibleSheetStructure
|
||||
import com.pixelized.rplexicon.utilitary.exceptions.ServiceNotReady
|
||||
import kotlinx.coroutines.flow.MutableStateFlow
|
||||
|
|
@ -40,9 +41,4 @@ class LexiconRepository @Inject constructor(
|
|||
companion object {
|
||||
const val TAG = "LexiconRepository"
|
||||
}
|
||||
|
||||
private object Sheet {
|
||||
const val ID = "1oL9Nu5y37BPEbKxHre4TN9o8nrgy2JQoON4RRkdAHMs"
|
||||
const val LEXICON = "Lexique"
|
||||
}
|
||||
}
|
||||
|
|
@ -1,10 +1,11 @@
|
|||
package com.pixelized.rplexicon.repository
|
||||
package com.pixelized.rplexicon.repository.data
|
||||
|
||||
import com.google.api.services.sheets.v4.Sheets
|
||||
import com.google.api.services.sheets.v4.model.ValueRange
|
||||
import com.pixelized.rplexicon.facotry.LocationParser
|
||||
import com.pixelized.rplexicon.facotry.MarqueeParser
|
||||
import com.pixelized.rplexicon.model.Location
|
||||
import com.pixelized.rplexicon.repository.GoogleSheetServiceRepository
|
||||
import com.pixelized.rplexicon.utilitary.exceptions.IncompatibleSheetStructure
|
||||
import com.pixelized.rplexicon.utilitary.exceptions.ServiceNotReady
|
||||
import kotlinx.coroutines.async
|
||||
|
|
@ -56,14 +57,6 @@ class LocationRepository @Inject constructor(
|
|||
|
||||
companion object {
|
||||
private const val TAG = "LocationRepository"
|
||||
private const val ROOT = "https://docs.google.com/spreadsheets"
|
||||
const val SHEET_URL = "$ROOT/d/${Sheet.ID}/edit#gid=${Sheet.MARQUEE_GID}"
|
||||
}
|
||||
|
||||
private object Sheet {
|
||||
const val ID = "1gbWaqXChz8pDJ-O3-Q8a_0wbDAYGlVA2voL7nEJUSn0"
|
||||
const val MAP = "carte"
|
||||
const val MARQUEE = "marqueur"
|
||||
const val MARQUEE_GID = "1581979177"
|
||||
const val SHEET_URL = "https://docs.google.com/spreadsheets/d/${Sheet.ID}/edit#gid=1985553511"
|
||||
}
|
||||
}
|
||||
|
|
@ -1,8 +1,9 @@
|
|||
package com.pixelized.rplexicon.repository
|
||||
package com.pixelized.rplexicon.repository.data
|
||||
|
||||
import com.google.api.services.sheets.v4.model.ValueRange
|
||||
import com.pixelized.rplexicon.facotry.QuestParser
|
||||
import com.pixelized.rplexicon.model.Quest
|
||||
import com.pixelized.rplexicon.repository.GoogleSheetServiceRepository
|
||||
import com.pixelized.rplexicon.utilitary.exceptions.IncompatibleSheetStructure
|
||||
import com.pixelized.rplexicon.utilitary.exceptions.ServiceNotReady
|
||||
import kotlinx.coroutines.flow.MutableStateFlow
|
||||
|
|
@ -41,9 +42,4 @@ class QuestRepository @Inject constructor(
|
|||
}
|
||||
_data.tryEmit(quests)
|
||||
}
|
||||
|
||||
private object Sheet {
|
||||
const val ID = "1sDAay8DjbRYKM39MvEXWs-RuvyxjOFpOfRZLAEWjIUY"
|
||||
const val QUEST_JOURNAL = "Journal de quêtes"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
package com.pixelized.rplexicon.repository.data
|
||||
|
||||
object Sheet {
|
||||
const val ID = "1oL9Nu5y37BPEbKxHre4TN9o8nrgy2JQoON4RRkdAHMs"
|
||||
|
||||
const val LEXICON = "Lexique"
|
||||
const val QUEST_JOURNAL = "Journal de quêtes"
|
||||
|
||||
const val MAP = "Lieux"
|
||||
const val MARQUEE = "Points d'intérêt"
|
||||
}
|
||||
|
|
@ -5,7 +5,6 @@ import androidx.compose.foundation.lazy.LazyListState
|
|||
import androidx.compose.material3.BottomAppBar
|
||||
import androidx.compose.material3.ExperimentalMaterial3Api
|
||||
import androidx.compose.material3.Icon
|
||||
import androidx.compose.material3.IconButton
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
import androidx.compose.material3.NavigationBarItem
|
||||
import androidx.compose.material3.Scaffold
|
||||
|
|
@ -28,7 +27,6 @@ import androidx.compose.ui.unit.dp
|
|||
import androidx.navigation.NavHostController
|
||||
import androidx.navigation.compose.NavHost
|
||||
import androidx.navigation.compose.rememberNavController
|
||||
import com.pixelized.rplexicon.LocalRollOverlay
|
||||
import com.pixelized.rplexicon.LocalSnack
|
||||
import com.pixelized.rplexicon.R
|
||||
import com.pixelized.rplexicon.ui.navigation.pages.LEXICON_LIST_ROUTE
|
||||
|
|
@ -40,7 +38,6 @@ import com.pixelized.rplexicon.ui.navigation.pages.composableQuests
|
|||
import com.pixelized.rplexicon.ui.navigation.pages.navigateToLexicon
|
||||
import com.pixelized.rplexicon.ui.navigation.pages.navigateToLocation
|
||||
import com.pixelized.rplexicon.ui.navigation.pages.navigateToQuestList
|
||||
import com.pixelized.rplexicon.ui.navigation.screens.navigateToCharacterSheet
|
||||
|
||||
val LocalPageNavHost = staticCompositionLocalOf<NavHostController> {
|
||||
error("LocalScreenNavHost not ready")
|
||||
|
|
@ -65,15 +62,6 @@ fun HomeNavHost(
|
|||
title = {
|
||||
Text(text = stringResource(id = R.string.app_name))
|
||||
},
|
||||
actions = {
|
||||
val screen = LocalScreenNavHost.current
|
||||
IconButton(onClick = { screen.navigateToCharacterSheet() }) {
|
||||
Icon(
|
||||
painter = painterResource(id = R.drawable.ic_d20_24),
|
||||
contentDescription = null
|
||||
)
|
||||
}
|
||||
}
|
||||
)
|
||||
},
|
||||
snackbarHost = {
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ import com.google.android.gms.auth.api.identity.GetSignInIntentRequest
|
|||
import com.google.android.gms.auth.api.identity.Identity
|
||||
import com.google.android.gms.auth.api.identity.SignInCredential
|
||||
import com.pixelized.rplexicon.R
|
||||
import com.pixelized.rplexicon.repository.AuthenticationRepository
|
||||
import com.pixelized.rplexicon.repository.authentication.AuthenticationRepository
|
||||
import dagger.hilt.android.lifecycle.HiltViewModel
|
||||
import javax.inject.Inject
|
||||
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ import com.pixelized.rplexicon.R
|
|||
import com.pixelized.rplexicon.facotry.ConvertCharacterSheetIntoDisplayableFactory
|
||||
import com.pixelized.rplexicon.model.CharacterSheet
|
||||
import com.pixelized.rplexicon.model.Roll
|
||||
import com.pixelized.rplexicon.repository.CharacterSheetRepository
|
||||
import com.pixelized.rplexicon.repository.data.CharacterSheetRepository
|
||||
import com.pixelized.rplexicon.utilitary.extentions.context
|
||||
import com.pixelized.rplexicon.utilitary.extentions.modifier
|
||||
import dagger.hilt.android.lifecycle.HiltViewModel
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import androidx.compose.runtime.State
|
|||
import androidx.compose.runtime.mutableStateOf
|
||||
import androidx.lifecycle.SavedStateHandle
|
||||
import androidx.lifecycle.ViewModel
|
||||
import com.pixelized.rplexicon.repository.LexiconRepository
|
||||
import com.pixelized.rplexicon.repository.data.LexiconRepository
|
||||
import com.pixelized.rplexicon.ui.navigation.screens.lexiconDetailArgument
|
||||
import dagger.hilt.android.lifecycle.HiltViewModel
|
||||
import javax.inject.Inject
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ import androidx.lifecycle.viewModelScope
|
|||
import com.google.api.client.googleapis.extensions.android.gms.auth.UserRecoverableAuthIOException
|
||||
import com.pixelized.rplexicon.R
|
||||
import com.pixelized.rplexicon.model.Lexicon
|
||||
import com.pixelized.rplexicon.repository.LexiconRepository
|
||||
import com.pixelized.rplexicon.repository.data.LexiconRepository
|
||||
import com.pixelized.rplexicon.ui.composable.error.FetchErrorUio
|
||||
import com.pixelized.rplexicon.utilitary.exceptions.IncompatibleSheetStructure
|
||||
import dagger.hilt.android.lifecycle.HiltViewModel
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ import com.pixelized.rplexicon.R
|
|||
import com.pixelized.rplexicon.model.Lexicon
|
||||
import com.pixelized.rplexicon.model.Lexicon.Gender
|
||||
import com.pixelized.rplexicon.model.Lexicon.Race
|
||||
import com.pixelized.rplexicon.repository.LexiconRepository
|
||||
import com.pixelized.rplexicon.repository.data.LexiconRepository
|
||||
import com.pixelized.rplexicon.ui.composable.form.DropDownFieldUio
|
||||
import com.pixelized.rplexicon.ui.composable.form.TextFieldUio
|
||||
import com.pixelized.rplexicon.utilitary.composable.stringResource
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ import androidx.compose.runtime.mutableStateOf
|
|||
import androidx.compose.ui.geometry.Offset
|
||||
import androidx.lifecycle.AndroidViewModel
|
||||
import androidx.lifecycle.SavedStateHandle
|
||||
import com.pixelized.rplexicon.repository.LocationRepository
|
||||
import com.pixelized.rplexicon.repository.data.LocationRepository
|
||||
import com.pixelized.rplexicon.ui.navigation.screens.locationDetailArgument
|
||||
import com.pixelized.rplexicon.utilitary.cells
|
||||
import com.pixelized.rplexicon.utilitary.line
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ import androidx.compose.runtime.mutableStateOf
|
|||
import androidx.lifecycle.ViewModel
|
||||
import androidx.lifecycle.viewModelScope
|
||||
import com.google.api.client.googleapis.extensions.android.gms.auth.UserRecoverableAuthIOException
|
||||
import com.pixelized.rplexicon.repository.LocationRepository
|
||||
import com.pixelized.rplexicon.repository.data.LocationRepository
|
||||
import com.pixelized.rplexicon.ui.composable.error.FetchErrorUio
|
||||
import com.pixelized.rplexicon.utilitary.exceptions.IncompatibleSheetStructure
|
||||
import dagger.hilt.android.lifecycle.HiltViewModel
|
||||
|
|
|
|||
|
|
@ -4,8 +4,8 @@ import androidx.compose.runtime.State
|
|||
import androidx.compose.runtime.mutableStateOf
|
||||
import androidx.lifecycle.SavedStateHandle
|
||||
import androidx.lifecycle.ViewModel
|
||||
import com.pixelized.rplexicon.repository.LexiconRepository
|
||||
import com.pixelized.rplexicon.repository.QuestRepository
|
||||
import com.pixelized.rplexicon.repository.data.LexiconRepository
|
||||
import com.pixelized.rplexicon.repository.data.QuestRepository
|
||||
import com.pixelized.rplexicon.ui.navigation.screens.questDetailArgument
|
||||
import dagger.hilt.android.lifecycle.HiltViewModel
|
||||
import javax.inject.Inject
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ import androidx.compose.runtime.mutableStateOf
|
|||
import androidx.lifecycle.ViewModel
|
||||
import androidx.lifecycle.viewModelScope
|
||||
import com.google.api.client.googleapis.extensions.android.gms.auth.UserRecoverableAuthIOException
|
||||
import com.pixelized.rplexicon.repository.QuestRepository
|
||||
import com.pixelized.rplexicon.repository.data.QuestRepository
|
||||
import com.pixelized.rplexicon.ui.composable.error.FetchErrorUio
|
||||
import com.pixelized.rplexicon.utilitary.exceptions.IncompatibleSheetStructure
|
||||
import dagger.hilt.android.lifecycle.HiltViewModel
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue