Move packages + remove circular dependencies

This commit is contained in:
Hubert Van De Walle 2020-10-23 17:12:38 +02:00
parent ee026ec829
commit 38750a588c
116 changed files with 242 additions and 87 deletions

View File

@ -4,19 +4,23 @@ WORKDIR /tmp
# Cache dependencies # Cache dependencies
COPY pom.xml . COPY pom.xml .
COPY app/pom.xml app/pom.xml COPY simplenotes-test-resources/pom.xml simplenotes-test-resources/pom.xml
COPY domain/pom.xml domain/pom.xml COPY simplenotes-types/pom.xml simplenotes-types/pom.xml
COPY persistance/pom.xml persistance/pom.xml COPY simplenotes-config/pom.xml simplenotes-config/pom.xml
COPY shared/pom.xml shared/pom.xml COPY simplenotes-persistance/pom.xml simplenotes-persistance/pom.xml
COPY search/pom.xml search/pom.xml COPY simplenotes-search/pom.xml simplenotes-search/pom.xml
COPY simplenotes-domain/pom.xml simplenotes-domain/pom.xml
COPY simplenotes-app/pom.xml simplenotes-app/pom.xml
RUN mvn verify clean --fail-never RUN mvn verify clean --fail-never
COPY app/src app/src COPY simplenotes-test-resources/src simplenotes-test-resources/src
COPY domain/src domain/src COPY simplenotes-types/src simplenotes-types/src
COPY persistance/src persistance/src COPY simplenotes-config/src simplenotes-config/src
COPY shared/src shared/src COPY simplenotes-persistance/src simplenotes-persistance/src
COPY search/src search/src COPY simplenotes-search/src simplenotes-search/src
COPY simplenotes-domain/src simplenotes-domain/src
COPY simplenotes-app/src simplenotes-app/src
RUN mvn -Dstyle.color=always package RUN mvn -Dstyle.color=always package
@ -42,8 +46,8 @@ RUN chown -R $APPLICATION_USER /app
USER $APPLICATION_USER USER $APPLICATION_USER
COPY --from=builder /tmp/app/target/app-*.jar /app/app.jar COPY --from=builder /tmp/simplenotes-app/target/simplenotes-app-*.jar /app/simplenotes.jar
COPY --from=jdkbuilder /myjdk /myjdk COPY --from=jdkbuilder /myjdk /myjdk
WORKDIR /app WORKDIR /app
CMD ["/myjdk/bin/java", "-server", "-XX:+UnlockExperimentalVMOptions", "-Xms64m", "-Xmx256m", "-XX:+UseG1GC", "-XX:MaxGCPauseMillis=100", "-XX:+UseStringDeduplication", "-jar", "app.jar"] CMD ["/myjdk/bin/java", "-server", "-XX:+UnlockExperimentalVMOptions", "-Xms64m", "-Xmx256m", "-XX:+UseG1GC", "-XX:MaxGCPauseMillis=100", "-XX:+UseStringDeduplication", "-jar", "simplenotes.jar"]

View File

@ -2,8 +2,8 @@
"name": "css", "name": "css",
"version": "1.0.0", "version": "1.0.0",
"scripts": { "scripts": {
"css": "NODE_ENV=dev MANIFEST=../app/src/main/resources/css-manifest.json postcss build src/styles.pcss --output ../app/src/main/resources/static/styles.css", "css": "NODE_ENV=dev MANIFEST=../simplenotes-app/src/main/resources/css-manifest.json postcss build src/styles.pcss --output ../simplenotes-app/src/main/resources/static/styles.css",
"css-purge": "NODE_ENV=production MANIFEST=../app/src/main/resources/css-manifest.json postcss build src/styles.pcss --output ../app/src/main/resources/static/styles.css" "css-purge": "NODE_ENV=production MANIFEST=../simplenotes-app/src/main/resources/css-manifest.json postcss build src/styles.pcss --output ../simplenotes-app/src/main/resources/static/styles.css"
}, },
"dependencies": { "dependencies": {
"autoprefixer": "^9.8.6", "autoprefixer": "^9.8.6",

View File

@ -1,7 +1,7 @@
module.exports = { module.exports = {
purge: { purge: {
content: [ content: [
'../app/src/main/kotlin/views/**/*.kt' '../simplenotes-app/src/main/kotlin/be/simplenotes/app/views/**/*.kt'
] ]
}, },
theme: { theme: {

View File

@ -1,7 +1,7 @@
#!/bin/sh #!/bin/sh
rm app/src/main/resources/css-manifest.json rm simplenotes-app/src/main/resources/css-manifest.json
rm app/src/main/resources/static/styles* rm simplenotes-app/src/main/resources/static/styles*
yarn --cwd css run css-purge \ yarn --cwd css run css-purge \
&& docker build -t hubv/simplenotes:latest . \ && docker build -t hubv/simplenotes:latest . \

View File

@ -181,7 +181,7 @@
<dependency> <dependency>
<groupId>io.arrow-kt</groupId> <groupId>io.arrow-kt</groupId>
<artifactId>arrow-core</artifactId> <artifactId>arrow-core</artifactId>
<version>0.10.5</version> <version>0.11.0</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.slf4j</groupId> <groupId>org.slf4j</groupId>

View File

@ -39,16 +39,32 @@
<groupId>org.http4k</groupId> <groupId>org.http4k</groupId>
<artifactId>http4k-core</artifactId> <artifactId>http4k-core</artifactId>
</dependency> </dependency>
<!--
<dependency> <dependency>
<groupId>org.http4k</groupId> <groupId>org.http4k</groupId>
<artifactId>http4k-server-jetty</artifactId> <artifactId>http4k-server-jetty</artifactId>
<exclusions>
<exclusion>
<groupId>org.eclipse.jetty.websocket</groupId>
<artifactId>javax-websocket-server-impl</artifactId>
</exclusion>
</exclusions>
</dependency> </dependency>
-->
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-server</artifactId>
<version>9.4.32.v20200930</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-servlet</artifactId>
<version>9.4.32.v20200930</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
<scope>compile</scope>
</dependency>
<dependency> <dependency>
<groupId>org.jetbrains.kotlinx</groupId> <groupId>org.jetbrains.kotlinx</groupId>
<artifactId>kotlinx-html-jvm</artifactId> <artifactId>kotlinx-html-jvm</artifactId>

View File

@ -0,0 +1,40 @@
package be.simplenotes.app.jetty
import org.eclipse.jetty.server.Server
import org.eclipse.jetty.server.ServerConnector
import org.eclipse.jetty.servlet.ServletContextHandler
import org.eclipse.jetty.servlet.ServletContextHandler.SESSIONS
import org.eclipse.jetty.servlet.ServletHolder
import org.http4k.core.HttpHandler
import org.http4k.server.Http4kServer
import org.http4k.server.ServerConfig
import org.http4k.servlet.asServlet
class Jetty(private val port: Int, private val server: Server) : ServerConfig {
constructor(port: Int = 8000) : this(port, http(port))
constructor(port: Int, vararg inConnectors: ConnectorBuilder) : this(port, Server().apply {
inConnectors.forEach { addConnector(it(this)) }
})
override fun toServer(httpHandler: HttpHandler): Http4kServer {
server.insertHandler(httpHandler.toJettyHandler())
return object : Http4kServer {
override fun start(): Http4kServer = apply {
server.start()
}
override fun stop(): Http4kServer = apply { server.stop() }
override fun port(): Int = if (port > 0) port else server.uri.port
}
}
}
fun HttpHandler.toJettyHandler() = ServletContextHandler(SESSIONS).apply {
addServlet(ServletHolder(this@toJettyHandler.asServlet()), "/*")
}
typealias ConnectorBuilder = (Server) -> ServerConnector
fun http(httpPort: Int): ConnectorBuilder = { server: Server -> ServerConnector(server).apply { port = httpPort } }

View File

@ -5,6 +5,8 @@ import be.simplenotes.app.filters.AuthFilter
import be.simplenotes.app.filters.AuthType import be.simplenotes.app.filters.AuthType
import be.simplenotes.app.filters.ErrorFilter import be.simplenotes.app.filters.ErrorFilter
import be.simplenotes.app.filters.TransactionFilter import be.simplenotes.app.filters.TransactionFilter
import be.simplenotes.app.jetty.ConnectorBuilder
import be.simplenotes.app.jetty.Jetty
import be.simplenotes.app.routes.Router import be.simplenotes.app.routes.Router
import be.simplenotes.app.utils.StaticFileResolver import be.simplenotes.app.utils.StaticFileResolver
import be.simplenotes.app.utils.StaticFileResolverImpl import be.simplenotes.app.utils.StaticFileResolverImpl
@ -14,8 +16,6 @@ import org.eclipse.jetty.server.ServerConnector
import org.http4k.core.Filter import org.http4k.core.Filter
import org.http4k.core.RequestContexts import org.http4k.core.RequestContexts
import org.http4k.routing.RoutingHttpHandler import org.http4k.routing.RoutingHttpHandler
import org.http4k.server.ConnectorBuilder
import org.http4k.server.Jetty
import org.http4k.server.asServer import org.http4k.server.asServer
import org.koin.core.qualifier.named import org.koin.core.qualifier.named
import org.koin.core.qualifier.qualifier import org.koin.core.qualifier.qualifier

View File

@ -1,6 +1,6 @@
package be.simplenotes.app.utils package be.simplenotes.app.utils
import be.simplenotes.domain.usecases.search.SearchTerms import be.simplenotes.search.SearchTerms
private fun innerRegex(name: String) = private fun innerRegex(name: String) =
"""$name:['"](.*?)['"]""".toRegex() """$name:['"](.*?)['"]""".toRegex()

View File

@ -0,0 +1,25 @@
module simplenotes.app {
requires java.sql;
requires kotlin.stdlib;
requires simplenotes.config;
requires simplenotes.persistance;
requires simplenotes.domain;
requires simplenotes.search;
requires simplenotes.types;
requires http4k.core;
requires org.eclipse.jetty.server;
requires org.eclipse.jetty.servlet;
requires org.eclipse.jetty.util;
requires slf4j.api;
requires koin.core;
requires arrow.module;
requires kotlinx.html.jvm;
requires kotlinx.serialization.core.jvm;
requires kotlinx.serialization.json.jvm;
requires konform.jvm;
requires prettytime;
requires ktorm.core;
}

View File

@ -1 +0,0 @@
package be.simplenotes.app

View File

@ -1,6 +1,6 @@
package be.simplenotes.app.utils package be.simplenotes.app.utils
import be.simplenotes.domain.usecases.search.SearchTerms import be.simplenotes.search.SearchTerms
import org.assertj.core.api.Assertions.assertThat import org.assertj.core.api.Assertions.assertThat
import org.junit.jupiter.params.ParameterizedTest import org.junit.jupiter.params.ParameterizedTest
import org.junit.jupiter.params.provider.MethodSource import org.junit.jupiter.params.provider.MethodSource

View File

@ -0,0 +1,5 @@
module simplenotes.config {
requires kotlin.stdlib;
exports be.simplenotes.config;
}

View File

@ -28,10 +28,12 @@
<groupId>org.koin</groupId> <groupId>org.koin</groupId>
<artifactId>koin-core</artifactId> <artifactId>koin-core</artifactId>
</dependency> </dependency>
<dependency> <dependency>
<groupId>io.arrow-kt</groupId> <groupId>io.arrow-kt</groupId>
<artifactId>arrow-core</artifactId> <artifactId>arrow-core</artifactId>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.natpryce</groupId> <groupId>com.natpryce</groupId>
<artifactId>hamkrest</artifactId> <artifactId>hamkrest</artifactId>
@ -94,6 +96,18 @@
<version>1.0-SNAPSHOT</version> <version>1.0-SNAPSHOT</version>
<scope>compile</scope> <scope>compile</scope>
</dependency> </dependency>
<dependency>
<groupId>be.simplenotes</groupId>
<artifactId>simplenotes-persistance</artifactId>
<version>1.0-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>be.simplenotes</groupId>
<artifactId>simplenotes-search</artifactId>
<version>1.0-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
</dependencies> </dependencies>
</project> </project>

View File

@ -2,7 +2,7 @@ package be.simplenotes.domain.security
import org.owasp.html.HtmlPolicyBuilder import org.owasp.html.HtmlPolicyBuilder
object HtmlSanitizer { internal object HtmlSanitizer {
private val htmlPolicy = HtmlPolicyBuilder() private val htmlPolicy = HtmlPolicyBuilder()
.allowElements("a") .allowElements("a")
.allowCommonBlockElements() .allowCommonBlockElements()

View File

@ -8,10 +8,10 @@ import be.simplenotes.types.PersistedNoteMetadata
import be.simplenotes.domain.security.HtmlSanitizer import be.simplenotes.domain.security.HtmlSanitizer
import be.simplenotes.domain.usecases.markdown.MarkdownConverter import be.simplenotes.domain.usecases.markdown.MarkdownConverter
import be.simplenotes.domain.usecases.markdown.MarkdownParsingError import be.simplenotes.domain.usecases.markdown.MarkdownParsingError
import be.simplenotes.domain.usecases.repositories.NoteRepository import be.simplenotes.persistance.repositories.NoteRepository
import be.simplenotes.domain.usecases.repositories.UserRepository import be.simplenotes.persistance.repositories.UserRepository
import be.simplenotes.domain.usecases.search.NoteSearcher import be.simplenotes.search.NoteSearcher
import be.simplenotes.domain.usecases.search.SearchTerms import be.simplenotes.search.SearchTerms
import java.util.* import java.util.*
class NoteService( class NoteService(

View File

@ -1,7 +1,7 @@
package be.simplenotes.domain.usecases.export package be.simplenotes.domain.usecases.export
import be.simplenotes.types.ExportedNote import be.simplenotes.types.ExportedNote
import be.simplenotes.domain.usecases.repositories.NoteRepository import be.simplenotes.persistance.repositories.NoteRepository
import kotlinx.serialization.builtins.ListSerializer import kotlinx.serialization.builtins.ListSerializer
import kotlinx.serialization.json.Json import kotlinx.serialization.json.Json
import org.apache.commons.compress.archivers.zip.ZipArchiveEntry import org.apache.commons.compress.archivers.zip.ZipArchiveEntry

View File

@ -4,9 +4,9 @@ import arrow.core.Either
import arrow.core.extensions.fx import arrow.core.extensions.fx
import arrow.core.rightIfNotNull import arrow.core.rightIfNotNull
import be.simplenotes.domain.security.PasswordHash import be.simplenotes.domain.security.PasswordHash
import be.simplenotes.domain.usecases.repositories.UserRepository import be.simplenotes.persistance.repositories.UserRepository
import be.simplenotes.domain.usecases.search.NoteSearcher
import be.simplenotes.domain.validation.UserValidations import be.simplenotes.domain.validation.UserValidations
import be.simplenotes.search.NoteSearcher
internal class DeleteUseCaseImpl( internal class DeleteUseCaseImpl(
private val userRepository: UserRepository, private val userRepository: UserRepository,

View File

@ -7,8 +7,8 @@ import arrow.core.rightIfNotNull
import be.simplenotes.domain.security.JwtPayload import be.simplenotes.domain.security.JwtPayload
import be.simplenotes.domain.security.PasswordHash import be.simplenotes.domain.security.PasswordHash
import be.simplenotes.domain.security.SimpleJwt import be.simplenotes.domain.security.SimpleJwt
import be.simplenotes.domain.usecases.repositories.UserRepository
import be.simplenotes.domain.validation.UserValidations import be.simplenotes.domain.validation.UserValidations
import be.simplenotes.persistance.repositories.UserRepository
internal class LoginUseCaseImpl( internal class LoginUseCaseImpl(
private val userRepository: UserRepository, private val userRepository: UserRepository,

View File

@ -5,8 +5,8 @@ import arrow.core.filterOrElse
import arrow.core.leftIfNull import arrow.core.leftIfNull
import be.simplenotes.types.PersistedUser import be.simplenotes.types.PersistedUser
import be.simplenotes.domain.security.PasswordHash import be.simplenotes.domain.security.PasswordHash
import be.simplenotes.domain.usecases.repositories.UserRepository
import be.simplenotes.domain.validation.UserValidations import be.simplenotes.domain.validation.UserValidations
import be.simplenotes.persistance.repositories.UserRepository
internal class RegisterUseCaseImpl( internal class RegisterUseCaseImpl(
private val userRepository: UserRepository, private val userRepository: UserRepository,

View File

@ -0,0 +1,33 @@
module simplenotes.domain {
requires kotlin.stdlib;
requires kotlin.stdlib.jdk7;
requires simplenotes.config;
requires simplenotes.types;
requires simplenotes.persistance;
exports be.simplenotes.domain to simplenotes.app;
exports be.simplenotes.domain.security to simplenotes.app;
exports be.simplenotes.domain.usecases to simplenotes.app;
exports be.simplenotes.domain.usecases.markdown to simplenotes.app;
exports be.simplenotes.domain.usecases.users.login to simplenotes.app;
exports be.simplenotes.domain.usecases.users.delete to simplenotes.app;
exports be.simplenotes.domain.usecases.users.register to simplenotes.app;
requires arrow.module;
requires flexmark;
requires flexmark.util.data;
requires flexmark.ext.gfm.tasklist;
requires koin.core;
requires konform.jvm;
requires org.yaml.snakeyaml;
requires java.jwt;
requires kotlinx.serialization.core.jvm;
requires org.apache.commons.compress;
requires kotlinx.serialization.json.jvm;
requires owasp.java.html.sanitizer;
requires jbcrypt;
requires simplenotes.search;
}

View File

@ -1,5 +0,0 @@
package be.simplenotes.domain
/**
* Empty file @see [root-package-declaration](https://discuss.kotlinlang.org/t/root-package-declaration-to-reduce-folder-clutter/2247/4)
*/

View File

@ -3,7 +3,7 @@ package be.simplenotes.domain.usecases.users.login
import be.simplenotes.types.PersistedUser import be.simplenotes.types.PersistedUser
import be.simplenotes.domain.security.BcryptPasswordHash import be.simplenotes.domain.security.BcryptPasswordHash
import be.simplenotes.domain.security.SimpleJwt import be.simplenotes.domain.security.SimpleJwt
import be.simplenotes.domain.usecases.repositories.UserRepository import be.simplenotes.persistance.repositories.UserRepository
import be.simplenotes.config.JwtConfig import be.simplenotes.config.JwtConfig
import be.simplenotes.domain.testutils.isLeftOfType import be.simplenotes.domain.testutils.isLeftOfType
import be.simplenotes.domain.testutils.isRight import be.simplenotes.domain.testutils.isRight

View File

@ -4,7 +4,7 @@ import be.simplenotes.types.PersistedUser
import be.simplenotes.domain.security.BcryptPasswordHash import be.simplenotes.domain.security.BcryptPasswordHash
import be.simplenotes.domain.testutils.isLeftOfType import be.simplenotes.domain.testutils.isLeftOfType
import be.simplenotes.domain.testutils.isRight import be.simplenotes.domain.testutils.isRight
import be.simplenotes.domain.usecases.repositories.UserRepository import be.simplenotes.persistance.repositories.UserRepository
import com.natpryce.hamkrest.assertion.assertThat import com.natpryce.hamkrest.assertion.assertThat
import com.natpryce.hamkrest.equalTo import com.natpryce.hamkrest.equalTo
import io.mockk.* import io.mockk.*

View File

@ -15,11 +15,6 @@
<groupId>org.mapstruct</groupId> <groupId>org.mapstruct</groupId>
<artifactId>mapstruct</artifactId> <artifactId>mapstruct</artifactId>
</dependency> </dependency>
<dependency>
<groupId>be.simplenotes</groupId>
<artifactId>simplenotes-domain</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency> <dependency>
<groupId>be.simplenotes</groupId> <groupId>be.simplenotes</groupId>
<artifactId>simplenotes-types</artifactId> <artifactId>simplenotes-types</artifactId>
@ -69,11 +64,13 @@
<artifactId>flyway-core</artifactId> <artifactId>flyway-core</artifactId>
<version>6.5.4</version> <version>6.5.4</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.zaxxer</groupId> <groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId> <artifactId>HikariCP</artifactId>
<version>3.4.5</version> <version>3.4.3</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>me.liuwj.ktorm</groupId> <groupId>me.liuwj.ktorm</groupId>
<artifactId>ktorm-core</artifactId> <artifactId>ktorm-core</artifactId>

View File

@ -1,19 +1,20 @@
package be.simplenotes.persistance package be.simplenotes.persistance
import be.simplenotes.domain.usecases.repositories.NoteRepository
import be.simplenotes.domain.usecases.repositories.UserRepository
import be.simplenotes.persistance.converters.NoteConverter
import be.simplenotes.persistance.converters.UserConverter
import be.simplenotes.persistance.notes.NoteRepositoryImpl
import be.simplenotes.persistance.users.UserRepositoryImpl
import be.simplenotes.config.DataSourceConfig import be.simplenotes.config.DataSourceConfig
import be.simplenotes.persistance.converters.NoteConverter
import be.simplenotes.persistance.converters.NoteConverterImpl
import be.simplenotes.persistance.converters.UserConverter
import be.simplenotes.persistance.converters.UserConverterImpl
import be.simplenotes.persistance.notes.NoteRepositoryImpl
import be.simplenotes.persistance.repositories.NoteRepository
import be.simplenotes.persistance.repositories.UserRepository
import be.simplenotes.persistance.users.UserRepositoryImpl
import com.zaxxer.hikari.HikariConfig import com.zaxxer.hikari.HikariConfig
import com.zaxxer.hikari.HikariDataSource import com.zaxxer.hikari.HikariDataSource
import me.liuwj.ktorm.database.Database import me.liuwj.ktorm.database.Database
import org.koin.dsl.bind import org.koin.dsl.bind
import org.koin.dsl.module import org.koin.dsl.module
import org.koin.dsl.onClose import org.koin.dsl.onClose
import org.mapstruct.factory.Mappers
import javax.sql.DataSource import javax.sql.DataSource
private fun hikariDataSource(conf: DataSourceConfig): HikariDataSource { private fun hikariDataSource(conf: DataSourceConfig): HikariDataSource {
@ -33,8 +34,8 @@ val migrationModule = module {
} }
val persistanceModule = module { val persistanceModule = module {
single { Mappers.getMapper(NoteConverter::class.java) } single<NoteConverter> { NoteConverterImpl() }
single { Mappers.getMapper(UserConverter::class.java) } single<UserConverter> { UserConverterImpl() }
single<UserRepository> { UserRepositoryImpl(get(), get()) } single<UserRepository> { UserRepositoryImpl(get(), get()) }
single<NoteRepository> { NoteRepositoryImpl(get(), get()) } single<NoteRepository> { NoteRepositoryImpl(get(), get()) }
single { hikariDataSource(get()) } bind DataSource::class onClose { it?.close() } single { hikariDataSource(get()) } bind DataSource::class onClose { it?.close() }

View File

@ -4,8 +4,8 @@ import be.simplenotes.types.ExportedNote
import be.simplenotes.types.Note import be.simplenotes.types.Note
import be.simplenotes.types.PersistedNote import be.simplenotes.types.PersistedNote
import be.simplenotes.types.PersistedNoteMetadata import be.simplenotes.types.PersistedNoteMetadata
import be.simplenotes.domain.usecases.repositories.NoteRepository
import be.simplenotes.persistance.converters.NoteConverter import be.simplenotes.persistance.converters.NoteConverter
import be.simplenotes.persistance.repositories.NoteRepository
import me.liuwj.ktorm.database.Database import me.liuwj.ktorm.database.Database
import me.liuwj.ktorm.dsl.* import me.liuwj.ktorm.dsl.*
import me.liuwj.ktorm.entity.* import me.liuwj.ktorm.entity.*

View File

@ -1,4 +1,4 @@
package be.simplenotes.domain.usecases.repositories package be.simplenotes.persistance.repositories
import be.simplenotes.types.ExportedNote import be.simplenotes.types.ExportedNote
import be.simplenotes.types.Note import be.simplenotes.types.Note

View File

@ -1,4 +1,4 @@
package be.simplenotes.domain.usecases.repositories package be.simplenotes.persistance.repositories
import be.simplenotes.types.PersistedUser import be.simplenotes.types.PersistedUser
import be.simplenotes.types.User import be.simplenotes.types.User

View File

@ -2,8 +2,8 @@ package be.simplenotes.persistance.users
import be.simplenotes.types.PersistedUser import be.simplenotes.types.PersistedUser
import be.simplenotes.types.User import be.simplenotes.types.User
import be.simplenotes.domain.usecases.repositories.UserRepository
import be.simplenotes.persistance.converters.UserConverter import be.simplenotes.persistance.converters.UserConverter
import be.simplenotes.persistance.repositories.UserRepository
import me.liuwj.ktorm.database.Database import me.liuwj.ktorm.database.Database
import me.liuwj.ktorm.dsl.* import me.liuwj.ktorm.dsl.*
import me.liuwj.ktorm.entity.any import me.liuwj.ktorm.entity.any

View File

@ -0,0 +1,18 @@
module simplenotes.persistance {
requires kotlin.stdlib;
exports be.simplenotes.persistance to simplenotes.app;
exports be.simplenotes.persistance.repositories to simplenotes.domain;
requires simplenotes.types;
requires ktorm.core;
requires java.sql;
requires simplenotes.config;
requires kotlin.stdlib.jdk7;
requires java.compiler;
requires org.mapstruct;
requires org.flywaydb.core;
requires com.zaxxer.hikari;
requires koin.core;
}

View File

@ -1 +0,0 @@
package be.simplenotes.persistance

View File

@ -1,7 +1,7 @@
package be.simplenotes.persistance.converters package be.simplenotes.persistance.converters
import be.simplenotes.types.*
import be.simplenotes.persistance.notes.NoteEntity import be.simplenotes.persistance.notes.NoteEntity
import be.simplenotes.types.*
import org.assertj.core.api.Assertions.assertThat import org.assertj.core.api.Assertions.assertThat
import org.junit.jupiter.api.DisplayName import org.junit.jupiter.api.DisplayName
import org.junit.jupiter.api.Nested import org.junit.jupiter.api.Nested

View File

@ -1,13 +1,14 @@
package be.simplenotes.persistance.notes package be.simplenotes.persistance.notes
import be.simplenotes.types.*
import be.simplenotes.domain.usecases.repositories.NoteRepository
import be.simplenotes.domain.usecases.repositories.UserRepository
import be.simplenotes.persistance.DbMigrations import be.simplenotes.persistance.DbMigrations
import be.simplenotes.persistance.converters.NoteConverter import be.simplenotes.persistance.converters.NoteConverter
import be.simplenotes.persistance.migrationModule import be.simplenotes.persistance.migrationModule
import be.simplenotes.persistance.persistanceModule import be.simplenotes.persistance.persistanceModule
import be.simplenotes.config.DataSourceConfig import be.simplenotes.config.DataSourceConfig
import be.simplenotes.persistance.repositories.NoteRepository
import be.simplenotes.persistance.repositories.UserRepository
import be.simplenotes.types.*
import be.simplenotes.types.*
import me.liuwj.ktorm.database.Database import me.liuwj.ktorm.database.Database
import me.liuwj.ktorm.dsl.eq import me.liuwj.ktorm.dsl.eq
import me.liuwj.ktorm.entity.filter import me.liuwj.ktorm.entity.filter

Some files were not shown because too many files have changed in this diff Show More