init
This commit is contained in:
@@ -0,0 +1,7 @@
|
||||
package space.luminic.finance.repos
|
||||
|
||||
import org.springframework.data.mongodb.repository.ReactiveMongoRepository
|
||||
import space.luminic.finance.models.Account
|
||||
|
||||
interface AccountRepo : ReactiveMongoRepository<Account, String> {
|
||||
}
|
||||
14
src/main/kotlin/space/luminic/finance/repos/BudgetRepo.kt
Normal file
14
src/main/kotlin/space/luminic/finance/repos/BudgetRepo.kt
Normal file
@@ -0,0 +1,14 @@
|
||||
package space.luminic.finance.repos
|
||||
|
||||
import org.bson.types.ObjectId
|
||||
import org.springframework.data.mongodb.repository.ReactiveMongoRepository
|
||||
import org.springframework.stereotype.Repository
|
||||
import reactor.core.publisher.Flux
|
||||
import space.luminic.finance.models.Budget
|
||||
|
||||
@Repository
|
||||
interface BudgetRepo: ReactiveMongoRepository<Budget, String> {
|
||||
|
||||
suspend fun findBudgetsBySpaceIdAndIsDeletedFalse(spaceId: String): Flux<Budget>
|
||||
suspend fun findBudgetsBySpaceIdAndId(spaceId: String, budgetId: String): Flux<Budget>
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
package space.luminic.finance.repos
|
||||
|
||||
import org.springframework.data.mongodb.repository.ReactiveMongoRepository
|
||||
import space.luminic.finance.models.Category
|
||||
|
||||
interface CategoryRepo: ReactiveMongoRepository<Category, String> {
|
||||
}
|
||||
|
||||
interface CategoryEtalonRepo: ReactiveMongoRepository<Category.CategoryEtalon, String>
|
||||
@@ -0,0 +1,8 @@
|
||||
package space.luminic.finance.repos
|
||||
|
||||
import org.springframework.data.mongodb.repository.ReactiveMongoRepository
|
||||
import space.luminic.finance.models.Currency
|
||||
import space.luminic.finance.models.CurrencyRate
|
||||
|
||||
interface CurrencyRepo: ReactiveMongoRepository<Currency, String>
|
||||
interface CurrencyRateRepo: ReactiveMongoRepository<CurrencyRate, String>
|
||||
8
src/main/kotlin/space/luminic/finance/repos/SpaceRepo.kt
Normal file
8
src/main/kotlin/space/luminic/finance/repos/SpaceRepo.kt
Normal file
@@ -0,0 +1,8 @@
|
||||
package space.luminic.finance.repos
|
||||
|
||||
import org.springframework.data.mongodb.core.ReactiveMongoTemplate
|
||||
import org.springframework.data.mongodb.repository.ReactiveMongoRepository
|
||||
import space.luminic.finance.models.Space
|
||||
|
||||
interface SpaceRepo: ReactiveMongoRepository<Space, String> {
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package space.luminic.finance.repos
|
||||
|
||||
|
||||
import org.bson.types.ObjectId
|
||||
import org.springframework.data.mongodb.repository.Query
|
||||
import org.springframework.data.mongodb.repository.ReactiveMongoRepository
|
||||
import org.springframework.stereotype.Repository
|
||||
import reactor.core.publisher.Flux
|
||||
import space.luminic.finance.models.Subscription
|
||||
|
||||
@Repository
|
||||
interface SubscriptionRepo : ReactiveMongoRepository<Subscription, String> {
|
||||
|
||||
@Query("{ \$and: [ " +
|
||||
"{ 'user': { '\$ref': 'users', '\$id': ?0 } }, " +
|
||||
"{ 'isActive': true } " +
|
||||
"]}")
|
||||
fun findByUserIdAndIsActive(userId: ObjectId): Flux<Subscription>
|
||||
|
||||
|
||||
}
|
||||
15
src/main/kotlin/space/luminic/finance/repos/TokenRepo.kt
Normal file
15
src/main/kotlin/space/luminic/finance/repos/TokenRepo.kt
Normal file
@@ -0,0 +1,15 @@
|
||||
package space.luminic.finance.repos
|
||||
|
||||
import org.springframework.data.mongodb.repository.ReactiveMongoRepository
|
||||
import org.springframework.stereotype.Repository
|
||||
import reactor.core.publisher.Mono
|
||||
import space.luminic.finance.models.Token
|
||||
import java.time.LocalDateTime
|
||||
|
||||
@Repository
|
||||
interface TokenRepo: ReactiveMongoRepository<Token, String> {
|
||||
|
||||
fun findByToken(token: String): Mono<Token>
|
||||
|
||||
fun deleteByExpiresAtBefore(dateTime: LocalDateTime)
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
package space.luminic.finance.repos
|
||||
|
||||
import org.springframework.data.mongodb.repository.ReactiveMongoRepository
|
||||
import space.luminic.finance.models.Transaction
|
||||
|
||||
interface TransactionRepo: ReactiveMongoRepository<Transaction, String> {
|
||||
}
|
||||
19
src/main/kotlin/space/luminic/finance/repos/UserRepo.kt
Normal file
19
src/main/kotlin/space/luminic/finance/repos/UserRepo.kt
Normal file
@@ -0,0 +1,19 @@
|
||||
package space.luminic.finance.repos
|
||||
|
||||
import org.springframework.data.mongodb.repository.Query
|
||||
import org.springframework.data.mongodb.repository.ReactiveMongoRepository
|
||||
import org.springframework.stereotype.Repository
|
||||
import reactor.core.publisher.Mono
|
||||
import space.luminic.finance.models.User
|
||||
|
||||
@Repository
|
||||
interface UserRepo : ReactiveMongoRepository<User, String> {
|
||||
|
||||
|
||||
@Query(value = "{ 'username': ?0 }", fields = "{ 'password': 0 }")
|
||||
fun findByUsernameWOPassword(username: String): Mono<User>
|
||||
|
||||
fun findByUsername(username: String): Mono<User>
|
||||
|
||||
fun findByTgId(id: String): Mono<User>
|
||||
}
|
||||
Reference in New Issue
Block a user