replace vault by kasier
This commit is contained in:
@@ -7,6 +7,10 @@ backend/uploads/*
|
||||
.env
|
||||
backend/.env
|
||||
|
||||
# Uploads locaux transitoires (racine / backend)
|
||||
uploads/
|
||||
backend/uploads/*
|
||||
|
||||
# Android / Gradle
|
||||
mobile-kotlin/local.properties
|
||||
mobile-kotlin/.gradle/
|
||||
|
||||
+17
-10
@@ -1,4 +1,4 @@
|
||||
# Pipeline GitLab pour VaultDrop — CI + Release.
|
||||
# Pipeline GitLab pour Kazier — CI + Release.
|
||||
#
|
||||
# Prérequis runner :
|
||||
# - Un runner avec executor Docker pour les jobs d'images (postgres service,
|
||||
@@ -28,6 +28,7 @@ variables:
|
||||
ANDROID_IMAGE: "cimg/android:2024.01"
|
||||
GRADLE_USER_HOME: "$CI_PROJECT_DIR/.gradle-home"
|
||||
CGO_ENABLED: "0"
|
||||
GLAB_VERSION: "1.118.0"
|
||||
|
||||
default:
|
||||
interruptible: true
|
||||
@@ -62,10 +63,10 @@ test-backend:
|
||||
- name: $POSTGRES_IMAGE
|
||||
alias: postgres
|
||||
variables:
|
||||
POSTGRES_DB: vaultdrop_test
|
||||
POSTGRES_USER: vaultdrop
|
||||
POSTGRES_PASSWORD: vaultdrop
|
||||
TEST_DATABASE_URL: postgres://vaultdrop:vaultdrop@postgres:5432/vaultdrop_test?sslmode=disable
|
||||
POSTGRES_DB: kazier_test
|
||||
POSTGRES_USER: kazier
|
||||
POSTGRES_PASSWORD: kazier
|
||||
TEST_DATABASE_URL: postgres://kazier:kazier@postgres:5432/kazier_test?sslmode=disable
|
||||
script:
|
||||
- mkdir -p .go-cache && export GOPATH="$CI_PROJECT_DIR/.go-cache"
|
||||
- go mod download
|
||||
@@ -93,11 +94,11 @@ build-backend:
|
||||
script:
|
||||
- export VERSION=$(cat VERSION)
|
||||
- mkdir -p backend/bin
|
||||
- cd backend && CGO_ENABLED=0 GOOS=linux go build -trimpath -ldflags "-s -w -X main.version=$VERSION" -o bin/vaultdrop-server cmd/server/main.go
|
||||
- ./bin/vaultdrop-server --version
|
||||
- cd backend && CGO_ENABLED=0 GOOS=linux go build -trimpath -ldflags "-s -w -X main.version=$VERSION" -o bin/kazier-server cmd/server/main.go
|
||||
- ./bin/kazier-server --version
|
||||
artifacts:
|
||||
paths:
|
||||
- backend/bin/vaultdrop-server
|
||||
- backend/bin/kazier-server
|
||||
expire_in: 1 week
|
||||
|
||||
# --------------------------------------------------------------- docker ----
|
||||
@@ -153,9 +154,15 @@ release-apk:
|
||||
fi
|
||||
- ./gradlew :app:assembleRelease -q
|
||||
- cd "$CI_PROJECT_DIR"
|
||||
- |
|
||||
# glab : création de la GitLab Release + upload de l'APK en asset.
|
||||
curl -sSLf \
|
||||
"https://gitlab.com/gitlab-org/cli/-/releases/v${GLAB_VERSION}/downloads/glab_${GLAB_VERSION}_linux_amd64.tar.gz" \
|
||||
| tar xz --strip-components=1 -C /usr/local/bin bin/glab
|
||||
- glab --version
|
||||
- export GITLAB_TOKEN="$GITLAB_API_TOKEN"
|
||||
- glab release create "v$VERSION"
|
||||
--name "VaultDrop v$VERSION"
|
||||
--name "Kazier v$VERSION"
|
||||
--notes-file CHANGELOG.md
|
||||
"mobile-kotlin/app/build/outputs/apk/release/app-release.apk"
|
||||
needs: ["docker"]
|
||||
@@ -180,7 +187,7 @@ release-docker:
|
||||
: "${DOCKERHUB_TOKEN:?DOCKERHUB_TOKEN manquant}"
|
||||
: "${DOCKERHUB_NAMESPACE:?DOCKERHUB_NAMESPACE manquant}"
|
||||
echo "$DOCKERHUB_TOKEN" | docker login -u "$DOCKERHUB_USER" --password-stdin docker.io
|
||||
IMAGE="$DOCKERHUB_NAMESPACE/vaultdrop"
|
||||
IMAGE="$DOCKERHUB_NAMESPACE/kazier"
|
||||
docker tag "$CI_REGISTRY_IMAGE:$CI_COMMIT_TAG" "$IMAGE:$CI_COMMIT_TAG"
|
||||
docker tag "$CI_REGISTRY_IMAGE:$CI_COMMIT_TAG" "$IMAGE:latest"
|
||||
docker push "$IMAGE:$CI_COMMIT_TAG"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# VaultDrop
|
||||
# Kazier
|
||||
|
||||
## Project Status
|
||||
|
||||
@@ -50,7 +50,7 @@ Tests mobiles : JVM unit tests dans `app/src/test` (JUnit + Robolectric + Room i
|
||||
|
||||
## Frontend Structure (mobile-kotlin)
|
||||
|
||||
- Entry point: `app/src/main/java/com/vaultdrop/mobile/VaultDropApplication.kt` (Hilt + `HiltWorkerFactory`) + `MainActivity.kt` (Hilt) ; navigation Compose dans `ui/navigation/` (`NavGraph.kt`, `VaultDropApp.kt`)
|
||||
- Entry point: `app/src/main/java/com/kazier/mobile/KazierApplication.kt` (Hilt + `HiltWorkerFactory`) + `MainActivity.kt` (Hilt) ; navigation Compose dans `ui/navigation/` (`NavGraph.kt`, `KazierApp.kt`)
|
||||
- Data layer — `data/`:
|
||||
- `data/local/` — Room SQLite (DB `dot.db`, **version 7**, `Migrations.kt` : tables `folders`, `files`, `user_preferences`, `pending_operations`) : entités Folder/File/UserPreference/PendingOperation, DAO, tri (`FileOrdering`) ; flag `processed` sur `files` (mode review « traiter », local au device, **gate de sync** : un fichier pas encore traité n'est jamais poussé) ; outbox transactionnel `pending_operations` (v7)
|
||||
- `data/remote/` — Retrofit/Moshi : `ApiService.kt` + `dto/Dtos.kt` = **contrat HTTP** (`{ data, meta }`, erreurs `{ error: { code, message } }`) ; `ApiClient.kt` normalise les réponses ; interceptors OkHttp (`AuthInterceptor`, `ServerUrlInterceptor`)
|
||||
|
||||
+4
-1
@@ -1,10 +1,13 @@
|
||||
# Changelog
|
||||
|
||||
Toutes les modifications notables de VaultDrop sont documentées ici.
|
||||
Toutes les modifications notables de Kazier sont documentées ici.
|
||||
Le format suit [Keep a Changelog](https://keepachangelog.com/fr/1.1.0/) et le versioning est [SemVer](https://semver.org/lang/fr/).
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
### Changé
|
||||
- **Renommage : VaultDrop → Kazier.** Marque, package Android (`com.kazier.mobile`), module Go (`github.com/kazier/backend`), binaire/image `kazier-server`, creds Postgres par défaut. Le code interne `dot.db` est conservé.
|
||||
|
||||
### Ajouté
|
||||
- Pipeline de release CI (GitLab) : lint, tests backend/mobile, build Docker, signature APK release, publication GitLab Release + Docker Hub.
|
||||
- `backend/Dockerfile` multi-stage : image de production avec Tesseract (fra+eng) embarqué, user non-root, labels OCI.
|
||||
|
||||
@@ -623,7 +623,7 @@ to attach them to the start of each source file to most effectively
|
||||
state the exclusion of warranty; and each file should have at least
|
||||
the "copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
VaultDrop — personal document vault, local-first.
|
||||
Kazier — personal document vault, local-first.
|
||||
Copyright (C) 2026 Thirdshop
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
# VaultDrop
|
||||
# Kazier
|
||||
|
||||
VaultDrop est un coffre-fort de documents personnel, local-first. Le client Android reflète le SAF dans une base Room et pousse les métadonnées de ses mutations via un outbox transactionnel vers le serveur Go/PostgreSQL — pas d'upload physique, pas de cloud-dépendance.
|
||||
Kazier est un coffre-fort de documents personnel, local-first. Le client Android reflète le SAF dans une base Room et pousse les métadonnées de ses mutations via un outbox transactionnel vers le serveur Go/PostgreSQL — pas d'upload physique, pas de cloud-dépendance.
|
||||
|
||||
[](LICENSE)
|
||||
|
||||
Disponible sur [thirdshop.fr](https://thirdshop.fr/en/applications/vault/)
|
||||
Disponible sur [thirdshop.fr](https://thirdshop.fr/en/applications/kazier/)
|
||||
|
||||
## Setup
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
# Serveur
|
||||
PORT=8080
|
||||
DATABASE_URL=postgres://vaultdrop:vaultdrop@localhost:5432/vaultdrop_dev?sslmode=disable
|
||||
DATABASE_URL=postgres://kazier:kazier@localhost:5432/kazier_dev?sslmode=disable
|
||||
UPLOAD_DIR=./uploads
|
||||
MAX_FILE_SIZE_MB=50
|
||||
OCR_LANG=fra+eng
|
||||
|
||||
+9
-9
@@ -14,7 +14,7 @@ ARG VERSION
|
||||
RUN CGO_ENABLED=0 GOOS=linux go build \
|
||||
-trimpath \
|
||||
-ldflags "-s -w -X main.version=${VERSION}" \
|
||||
-o /out/vaultdrop-server \
|
||||
-o /out/kazier-server \
|
||||
./cmd/server/main.go
|
||||
|
||||
# --- runtime: mince, Tesseract (fra+eng) embarqué pour l'OCR ---
|
||||
@@ -30,30 +30,30 @@ WORKDIR /app
|
||||
|
||||
ARG VERSION
|
||||
ARG BUILD_DATE
|
||||
LABEL org.opencontainers.image.title="vaultdrop-server" \
|
||||
org.opencontainers.image.description="VaultDrop backend API (Go/Gin + PostgreSQL) — local-first document vault" \
|
||||
LABEL org.opencontainers.image.title="kazier-server" \
|
||||
org.opencontainers.image.description="Kazier backend API (Go/Gin + PostgreSQL) — local-first document vault" \
|
||||
org.opencontainers.image.version="${VERSION}" \
|
||||
org.opencontainers.image.licenses="AGPL-3.0-only" \
|
||||
org.opencontainers.image.source="https://gitlab.com/thirdshop-org/dot" \
|
||||
org.opencontainers.image.url="https://thirdshop.fr/en/applications/vault/" \
|
||||
org.opencontainers.image.url="https://thirdshop.fr/en/applications/kazier/" \
|
||||
org.opencontainers.image.created="${BUILD_DATE}" \
|
||||
org.opencontainers.image.revision=""
|
||||
|
||||
COPY --from=builder /out/vaultdrop-server /usr/local/bin/vaultdrop-server
|
||||
COPY --from=builder /out/kazier-server /usr/local/bin/kazier-server
|
||||
|
||||
# UPLOAD_DIR persistant, user non-root
|
||||
RUN mkdir -p /app/uploads \
|
||||
&& adduser -D -H -u 10001 vaultdrop \
|
||||
&& chown vaultdrop:vaultdrop /app/uploads
|
||||
&& adduser -D -H -u 10001 kazier \
|
||||
&& chown kazier:kazier /app/uploads
|
||||
VOLUME /app/uploads
|
||||
|
||||
ENV PORT=8080 \
|
||||
UPLOAD_DIR=/app/uploads
|
||||
|
||||
USER vaultdrop
|
||||
USER kazier
|
||||
EXPOSE 8080
|
||||
|
||||
HEALTHCHECK --interval=30s --timeout=3s --retries=3 \
|
||||
CMD wget -q -O - http://127.0.0.1:8080/api/v1/health || exit 1
|
||||
|
||||
ENTRYPOINT ["vaultdrop-server"]
|
||||
ENTRYPOINT ["kazier-server"]
|
||||
@@ -12,13 +12,13 @@ import (
|
||||
"time"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/vaultdrop/backend/config"
|
||||
"github.com/vaultdrop/backend/db"
|
||||
"github.com/vaultdrop/backend/handlers"
|
||||
"github.com/vaultdrop/backend/ocr"
|
||||
"github.com/vaultdrop/backend/pkg/auth"
|
||||
"github.com/vaultdrop/backend/repository"
|
||||
"github.com/vaultdrop/backend/service"
|
||||
"github.com/kazier/backend/config"
|
||||
"github.com/kazier/backend/db"
|
||||
"github.com/kazier/backend/handlers"
|
||||
"github.com/kazier/backend/ocr"
|
||||
"github.com/kazier/backend/pkg/auth"
|
||||
"github.com/kazier/backend/repository"
|
||||
"github.com/kazier/backend/service"
|
||||
)
|
||||
|
||||
var version = "dev"
|
||||
@@ -31,7 +31,7 @@ func newRouter() *gin.Engine {
|
||||
|
||||
func main() {
|
||||
if len(os.Args) > 1 && os.Args[1] == "--version" {
|
||||
fmt.Printf("vaultdrop-server %s\n", version)
|
||||
fmt.Printf("kazier-server %s\n", version)
|
||||
os.Exit(0)
|
||||
}
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ import (
|
||||
"fmt"
|
||||
"testing"
|
||||
|
||||
"github.com/vaultdrop/backend/models"
|
||||
"github.com/kazier/backend/models"
|
||||
)
|
||||
|
||||
func TestUserCreation(t *testing.T) {
|
||||
|
||||
@@ -41,7 +41,7 @@ func LoadApplicationConfig() (*ApplicationConfig, error) {
|
||||
|
||||
return &ApplicationConfig{
|
||||
Port: port,
|
||||
DatabaseURL: get("DATABASE_URL", "postgres://vaultdrop:vaultdrop@localhost:5432/vaultdrop_dev?sslmode=disable"),
|
||||
DatabaseURL: get("DATABASE_URL", "postgres://kazier:kazier@localhost:5432/kazier_dev?sslmode=disable"),
|
||||
UploadDir: get("UPLOAD_DIR", "./uploads"),
|
||||
MaxFileSizeMB: int64(maxSize),
|
||||
OcrLang: get("OCR_LANG", "fra+eng"),
|
||||
|
||||
@@ -28,7 +28,7 @@ func TestLoadApplicationDefaults(t *testing.T) {
|
||||
if cfg.MaxFileSizeMB != 50 {
|
||||
t.Errorf("MaxFileSizeMB = %d, attendu 50", cfg.MaxFileSizeMB)
|
||||
}
|
||||
if cfg.DatabaseURL != "postgres://vaultdrop:vaultdrop@localhost:5432/vaultdrop_dev?sslmode=disable" {
|
||||
if cfg.DatabaseURL != "postgres://kazier:kazier@localhost:5432/kazier_dev?sslmode=disable" {
|
||||
t.Errorf("DatabaseURL défaut inattendu: %q", cfg.DatabaseURL)
|
||||
}
|
||||
if cfg.UploadDir != "./uploads" {
|
||||
|
||||
@@ -9,7 +9,7 @@ import (
|
||||
_ "github.com/lib/pq"
|
||||
)
|
||||
|
||||
const defaultTestDatabaseURL = "postgres://vaultdrop:vaultdrop@localhost:5432/vaultdrop_migrations_test?sslmode=disable"
|
||||
const defaultTestDatabaseURL = "postgres://kazier:kazier@localhost:5432/kazier_migrations_test?sslmode=disable"
|
||||
|
||||
func testDatabaseURL(t *testing.T) string {
|
||||
t.Helper()
|
||||
|
||||
@@ -10,7 +10,7 @@ import (
|
||||
|
||||
"github.com/lib/pq"
|
||||
|
||||
"github.com/vaultdrop/backend/db"
|
||||
"github.com/kazier/backend/db"
|
||||
)
|
||||
|
||||
// OpenTestDatabase ensures the test database exists, resets its schema, runs
|
||||
@@ -27,7 +27,7 @@ func OpenTestDatabase(t *testing.T, databaseURL string) *sql.DB {
|
||||
databaseURL = os.Getenv("TEST_DATABASE_URL")
|
||||
}
|
||||
if databaseURL == "" {
|
||||
databaseURL = "postgres://vaultdrop:vaultdrop@localhost:5432/vaultdrop_test?sslmode=disable"
|
||||
databaseURL = "postgres://kazier:kazier@localhost:5432/kazier_test?sslmode=disable"
|
||||
}
|
||||
|
||||
// Postgres joignable ? (sinon on skippe, sans être gênés par l'existence
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
module github.com/vaultdrop/backend
|
||||
module github.com/kazier/backend
|
||||
|
||||
go 1.26.4
|
||||
|
||||
|
||||
@@ -8,11 +8,11 @@ import (
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
|
||||
"github.com/vaultdrop/backend/pkg/api"
|
||||
"github.com/vaultdrop/backend/pkg/auth"
|
||||
"github.com/vaultdrop/backend/pkg/passwd"
|
||||
"github.com/vaultdrop/backend/repository"
|
||||
"github.com/vaultdrop/backend/service"
|
||||
"github.com/kazier/backend/pkg/api"
|
||||
"github.com/kazier/backend/pkg/auth"
|
||||
"github.com/kazier/backend/pkg/passwd"
|
||||
"github.com/kazier/backend/repository"
|
||||
"github.com/kazier/backend/service"
|
||||
)
|
||||
|
||||
type LoginRequest struct {
|
||||
|
||||
@@ -9,17 +9,17 @@ import (
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
|
||||
"github.com/vaultdrop/backend/dbtest"
|
||||
"github.com/vaultdrop/backend/pkg/auth"
|
||||
"github.com/vaultdrop/backend/pkg/passwd"
|
||||
"github.com/vaultdrop/backend/repository"
|
||||
"github.com/vaultdrop/backend/service"
|
||||
"github.com/kazier/backend/dbtest"
|
||||
"github.com/kazier/backend/pkg/auth"
|
||||
"github.com/kazier/backend/pkg/passwd"
|
||||
"github.com/kazier/backend/repository"
|
||||
"github.com/kazier/backend/service"
|
||||
)
|
||||
|
||||
const authTestURL = "postgres://vaultdrop:vaultdrop@localhost:5432/vaultdrop_handlers_auth_test?sslmode=disable"
|
||||
const authTestURL = "postgres://kazier:kazier@localhost:5432/kazier_handlers_auth_test?sslmode=disable"
|
||||
|
||||
const (
|
||||
authTestPassword = "vaultdrop-test-password"
|
||||
authTestPassword = "kazier-test-password"
|
||||
authTestDevice = "0123456789abcdef0123456789abcdef"
|
||||
)
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ import (
|
||||
"regexp"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/vaultdrop/backend/pkg/api"
|
||||
"github.com/kazier/backend/pkg/api"
|
||||
)
|
||||
|
||||
var deviceIDPattern = regexp.MustCompile(`^[0-9a-f]{32}$`)
|
||||
|
||||
@@ -7,7 +7,7 @@ import (
|
||||
"strings"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/vaultdrop/backend/pkg/api"
|
||||
"github.com/kazier/backend/pkg/api"
|
||||
)
|
||||
|
||||
func intParam(value string, fallback int) int {
|
||||
|
||||
@@ -11,15 +11,15 @@ import (
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
|
||||
"github.com/vaultdrop/backend/dbtest"
|
||||
"github.com/vaultdrop/backend/handlers"
|
||||
"github.com/vaultdrop/backend/pkg/auth"
|
||||
"github.com/vaultdrop/backend/pkg/passwd"
|
||||
"github.com/vaultdrop/backend/repository"
|
||||
"github.com/vaultdrop/backend/service"
|
||||
"github.com/kazier/backend/dbtest"
|
||||
"github.com/kazier/backend/handlers"
|
||||
"github.com/kazier/backend/pkg/auth"
|
||||
"github.com/kazier/backend/pkg/passwd"
|
||||
"github.com/kazier/backend/repository"
|
||||
"github.com/kazier/backend/service"
|
||||
)
|
||||
|
||||
const handlersTestURL = "postgres://vaultdrop:vaultdrop@localhost:5432/vaultdrop_handlers_test?sslmode=disable"
|
||||
const handlersTestURL = "postgres://kazier:kazier@localhost:5432/kazier_handlers_test?sslmode=disable"
|
||||
|
||||
type envelope struct {
|
||||
Data json.RawMessage `json:"data"`
|
||||
|
||||
@@ -2,7 +2,7 @@ package handlers
|
||||
|
||||
import (
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/vaultdrop/backend/pkg/api"
|
||||
"github.com/kazier/backend/pkg/api"
|
||||
)
|
||||
|
||||
func Health(c *gin.Context) {
|
||||
|
||||
@@ -6,9 +6,9 @@ import (
|
||||
"strings"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/vaultdrop/backend/pkg/api"
|
||||
"github.com/vaultdrop/backend/pkg/auth"
|
||||
"github.com/vaultdrop/backend/repository"
|
||||
"github.com/kazier/backend/pkg/api"
|
||||
"github.com/kazier/backend/pkg/auth"
|
||||
"github.com/kazier/backend/repository"
|
||||
)
|
||||
|
||||
const (
|
||||
|
||||
@@ -5,8 +5,8 @@ import (
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
|
||||
"github.com/vaultdrop/backend/pkg/api"
|
||||
"github.com/vaultdrop/backend/repository"
|
||||
"github.com/kazier/backend/pkg/api"
|
||||
"github.com/kazier/backend/repository"
|
||||
)
|
||||
|
||||
type ocrJobRequest struct {
|
||||
|
||||
@@ -11,11 +11,11 @@ import (
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
|
||||
"github.com/vaultdrop/backend/dbtest"
|
||||
"github.com/vaultdrop/backend/handlers"
|
||||
"github.com/vaultdrop/backend/pkg/auth"
|
||||
"github.com/vaultdrop/backend/repository"
|
||||
"github.com/vaultdrop/backend/service"
|
||||
"github.com/kazier/backend/dbtest"
|
||||
"github.com/kazier/backend/handlers"
|
||||
"github.com/kazier/backend/pkg/auth"
|
||||
"github.com/kazier/backend/repository"
|
||||
"github.com/kazier/backend/service"
|
||||
)
|
||||
|
||||
type stubEngine struct {
|
||||
|
||||
@@ -5,7 +5,7 @@ import (
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
|
||||
"github.com/vaultdrop/backend/pkg/api"
|
||||
"github.com/kazier/backend/pkg/api"
|
||||
)
|
||||
|
||||
// RegisterRoutes wires the full /api/v1 surface (public + protected).
|
||||
|
||||
@@ -5,8 +5,8 @@ import (
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
|
||||
"github.com/vaultdrop/backend/pkg/api"
|
||||
"github.com/vaultdrop/backend/repository"
|
||||
"github.com/kazier/backend/pkg/api"
|
||||
"github.com/kazier/backend/repository"
|
||||
)
|
||||
|
||||
// ShareLinkGet resolves a public share link without authentication
|
||||
|
||||
@@ -5,7 +5,7 @@ import (
|
||||
"net/http"
|
||||
"testing"
|
||||
|
||||
"github.com/vaultdrop/backend/repository"
|
||||
"github.com/kazier/backend/repository"
|
||||
)
|
||||
|
||||
func TestShareLinkPublicResolution(t *testing.T) {
|
||||
|
||||
@@ -4,9 +4,9 @@ import (
|
||||
"errors"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/vaultdrop/backend/pkg/api"
|
||||
"github.com/vaultdrop/backend/repository"
|
||||
"github.com/vaultdrop/backend/service"
|
||||
"github.com/kazier/backend/pkg/api"
|
||||
"github.com/kazier/backend/repository"
|
||||
"github.com/kazier/backend/service"
|
||||
)
|
||||
|
||||
// Store is the business layer used by handlers; set once at startup
|
||||
|
||||
@@ -5,8 +5,8 @@ import (
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
|
||||
"github.com/vaultdrop/backend/pkg/api"
|
||||
"github.com/vaultdrop/backend/service"
|
||||
"github.com/kazier/backend/pkg/api"
|
||||
"github.com/kazier/backend/service"
|
||||
)
|
||||
|
||||
type syncOpsRequest struct {
|
||||
|
||||
@@ -6,7 +6,7 @@ import (
|
||||
"net/http"
|
||||
"testing"
|
||||
|
||||
"github.com/vaultdrop/backend/repository"
|
||||
"github.com/kazier/backend/repository"
|
||||
)
|
||||
|
||||
func syncOpsBody(ops []map[string]any) []byte {
|
||||
|
||||
@@ -35,7 +35,7 @@ var (
|
||||
// quand même contre ce hash pour que le délai de réponse soit identique à un
|
||||
// « mauvais mot de passe ».
|
||||
var dummyHash = func() string {
|
||||
h, err := Hash("vaultdrop-constantime-dummy")
|
||||
h, err := Hash("kazier-constantime-dummy")
|
||||
if err != nil {
|
||||
panic(fmt.Sprintf("passwd: impossible de pré-hacher le dummy: %v", err))
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@ package repository
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/vaultdrop/backend/dbtest"
|
||||
"github.com/kazier/backend/dbtest"
|
||||
)
|
||||
|
||||
func newTestDevices(t *testing.T) *Devices {
|
||||
|
||||
@@ -5,7 +5,7 @@ import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/vaultdrop/backend/dbtest"
|
||||
"github.com/kazier/backend/dbtest"
|
||||
)
|
||||
|
||||
func newTestRepo(t *testing.T) *Repository {
|
||||
|
||||
@@ -5,7 +5,7 @@ import (
|
||||
"errors"
|
||||
"testing"
|
||||
|
||||
"github.com/vaultdrop/backend/dbtest"
|
||||
"github.com/kazier/backend/dbtest"
|
||||
)
|
||||
|
||||
func newTestOperations(t *testing.T) (*Operations, *Devices) {
|
||||
|
||||
@@ -5,10 +5,10 @@ import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/vaultdrop/backend/dbtest"
|
||||
"github.com/kazier/backend/dbtest"
|
||||
)
|
||||
|
||||
const repositoryTestURL = "postgres://vaultdrop:vaultdrop@localhost:5432/vaultdrop_repository_test?sslmode=disable"
|
||||
const repositoryTestURL = "postgres://kazier:kazier@localhost:5432/kazier_repository_test?sslmode=disable"
|
||||
|
||||
func newTestResources(t *testing.T) *Resources {
|
||||
t.Helper()
|
||||
|
||||
@@ -4,7 +4,7 @@ import (
|
||||
"errors"
|
||||
"testing"
|
||||
|
||||
"github.com/vaultdrop/backend/dbtest"
|
||||
"github.com/kazier/backend/dbtest"
|
||||
)
|
||||
|
||||
func newTestUsers(t *testing.T) *Users {
|
||||
|
||||
@@ -5,8 +5,8 @@ import (
|
||||
"fmt"
|
||||
"strings"
|
||||
|
||||
"github.com/vaultdrop/backend/pkg/passwd"
|
||||
"github.com/vaultdrop/backend/repository"
|
||||
"github.com/kazier/backend/pkg/passwd"
|
||||
"github.com/kazier/backend/repository"
|
||||
)
|
||||
|
||||
// ErrAdminRequired : base vide et identifiants admin absents → le serveur
|
||||
|
||||
@@ -4,8 +4,8 @@ import (
|
||||
"errors"
|
||||
"testing"
|
||||
|
||||
"github.com/vaultdrop/backend/pkg/passwd"
|
||||
"github.com/vaultdrop/backend/repository"
|
||||
"github.com/kazier/backend/pkg/passwd"
|
||||
"github.com/kazier/backend/repository"
|
||||
)
|
||||
|
||||
func TestEnsureAdminCreatesFirstAdmin(t *testing.T) {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package service
|
||||
|
||||
import "github.com/vaultdrop/backend/models"
|
||||
import "github.com/kazier/backend/models"
|
||||
|
||||
func (s *Services) CreateFolder(folderName string, destination *models.Document) (*models.Document, error) {
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ import (
|
||||
"errors"
|
||||
"fmt"
|
||||
|
||||
"github.com/vaultdrop/backend/models"
|
||||
"github.com/kazier/backend/models"
|
||||
)
|
||||
|
||||
func (s *Services) MoveDocumentIntoDocument(from *models.Document, to *models.Document) error {
|
||||
|
||||
@@ -3,7 +3,7 @@ package service
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/vaultdrop/backend/models"
|
||||
"github.com/kazier/backend/models"
|
||||
)
|
||||
|
||||
func TestMoveDocument(t *testing.T) {
|
||||
|
||||
@@ -9,8 +9,8 @@ import (
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
"github.com/vaultdrop/backend/ocr"
|
||||
"github.com/vaultdrop/backend/repository"
|
||||
"github.com/kazier/backend/ocr"
|
||||
"github.com/kazier/backend/repository"
|
||||
)
|
||||
|
||||
const (
|
||||
|
||||
@@ -9,8 +9,8 @@ import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/vaultdrop/backend/ocr"
|
||||
"github.com/vaultdrop/backend/repository"
|
||||
"github.com/kazier/backend/ocr"
|
||||
"github.com/kazier/backend/repository"
|
||||
)
|
||||
|
||||
// stubEngine again (package service) — même contrat que handlers/ocr_test.
|
||||
|
||||
@@ -10,7 +10,7 @@ import (
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/vaultdrop/backend/repository"
|
||||
"github.com/kazier/backend/repository"
|
||||
)
|
||||
|
||||
// ErrFileTooLarge signals an upload above MaxFileSize.
|
||||
|
||||
@@ -8,7 +8,7 @@ import (
|
||||
"path/filepath"
|
||||
"testing"
|
||||
|
||||
"github.com/vaultdrop/backend/repository"
|
||||
"github.com/kazier/backend/repository"
|
||||
)
|
||||
|
||||
func multipartFileHeader(t *testing.T, filename string, content []byte) *multipart.FileHeader {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package service
|
||||
|
||||
import "github.com/vaultdrop/backend/models"
|
||||
import "github.com/kazier/backend/models"
|
||||
|
||||
type Services struct {
|
||||
ConnectedUser *models.User
|
||||
|
||||
@@ -6,7 +6,7 @@ import (
|
||||
"regexp"
|
||||
"time"
|
||||
|
||||
"github.com/vaultdrop/backend/repository"
|
||||
"github.com/kazier/backend/repository"
|
||||
)
|
||||
|
||||
var resourceIDPattern = regexp.MustCompile(`^[0-9a-f]{32}$`)
|
||||
|
||||
@@ -6,11 +6,11 @@ import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/vaultdrop/backend/dbtest"
|
||||
"github.com/vaultdrop/backend/repository"
|
||||
"github.com/kazier/backend/dbtest"
|
||||
"github.com/kazier/backend/repository"
|
||||
)
|
||||
|
||||
const serviceTestURL = "postgres://vaultdrop:vaultdrop@localhost:5432/vaultdrop_service_test?sslmode=disable"
|
||||
const serviceTestURL = "postgres://kazier:kazier@localhost:5432/kazier_service_test?sslmode=disable"
|
||||
|
||||
// newServiceStore returns a Resources service over a fresh migrated test DB.
|
||||
func newServiceStore(t *testing.T) *Resources {
|
||||
|
||||
@@ -3,7 +3,7 @@ package service
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"github.com/vaultdrop/backend/models"
|
||||
"github.com/kazier/backend/models"
|
||||
)
|
||||
|
||||
func (s *Services) UploadDocument(file *string, destination *models.Document) error {
|
||||
|
||||
+5
-5
@@ -4,14 +4,14 @@ services:
|
||||
ports:
|
||||
- "5432:5432"
|
||||
environment:
|
||||
POSTGRES_DB: ${POSTGRES_DB:-vaultdrop_dev}
|
||||
POSTGRES_USER: ${POSTGRES_USER:-vaultdrop}
|
||||
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-vaultdrop}
|
||||
POSTGRES_DB: ${POSTGRES_DB:-kazier_dev}
|
||||
POSTGRES_USER: ${POSTGRES_USER:-kazier}
|
||||
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-kazier}
|
||||
volumes:
|
||||
- postgres-data:/var/lib/postgresql/data
|
||||
restart: unless-stopped
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-vaultdrop}"]
|
||||
test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-kazier}"]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
@@ -26,7 +26,7 @@ services:
|
||||
- "${PORT:-8080}:8080"
|
||||
environment:
|
||||
PORT: 8080
|
||||
DATABASE_URL: postgres://${POSTGRES_USER:-vaultdrop}:${POSTGRES_PASSWORD:-vaultdrop}@postgres:5432/${POSTGRES_DB:-vaultdrop_dev}?sslmode=disable
|
||||
DATABASE_URL: postgres://${POSTGRES_USER:-kazier}:${POSTGRES_PASSWORD:-kazier}@postgres:5432/${POSTGRES_DB:-kazier_dev}?sslmode=disable
|
||||
UPLOAD_DIR: /app/uploads
|
||||
MAX_FILE_SIZE_MB: ${MAX_FILE_SIZE_MB:-50}
|
||||
OCR_LANG: ${OCR_LANG:-fra+eng}
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
# VaultDrop — Contrat API V1 (autoritatif)
|
||||
# Kazier — Contrat API V1 (autoritatif)
|
||||
|
||||
Status : **autoritatif**. Le client mobile Kotlin est la source de vérité : `data/remote/ApiService.kt` + `data/remote/dto/Dtos.kt` (contrat Retrofit/Moshi) sont implémentés ; le serveur Go doit les matcher exactement (méthode + path + enveloppe), il ne re-négocie pas. Document consolidé depuis le client — toute divergence de ce doc doit être portée dans le client d'abord.
|
||||
|
||||
|
||||
@@ -41,7 +41,7 @@ run = '''
|
||||
set -euo pipefail
|
||||
VERSION=$(cat VERSION)
|
||||
mkdir -p backend/bin
|
||||
cd backend && go build -ldflags "-X main.version=$VERSION" -o bin/vaultdrop-server cmd/server/main.go
|
||||
cd backend && go build -ldflags "-X main.version=$VERSION" -o bin/kazier-server cmd/server/main.go
|
||||
cd ../mobile-kotlin && ./gradlew :app:assembleDebug -q
|
||||
'''
|
||||
|
||||
@@ -53,7 +53,7 @@ cd backend && staticcheck ./...
|
||||
cd ../mobile-kotlin && ./gradlew :app:lint -q
|
||||
'''
|
||||
|
||||
[tasks.build:release]
|
||||
[tasks."build:release"]
|
||||
description = "Build signed release APK (assembleRelease)"
|
||||
dir = "mobile-kotlin"
|
||||
run = '''
|
||||
@@ -68,7 +68,7 @@ fi
|
||||
echo "APK : app/build/outputs/apk/release/app-release.apk"
|
||||
'''
|
||||
|
||||
[tasks.docker:build]
|
||||
[tasks."docker:build"]
|
||||
description = "Build the backend Docker image (tagged with VERSION)"
|
||||
run = '''
|
||||
set -euo pipefail
|
||||
@@ -76,9 +76,9 @@ VERSION=$(cat VERSION)
|
||||
docker build \\
|
||||
--build-arg VERSION="$VERSION" \\
|
||||
--build-arg BUILD_DATE="$(date -u +%Y-%m-%dT%H:%M:%SZ)" \\
|
||||
-t vaultdrop-server:"$VERSION" \\
|
||||
-t kazier-server:"$VERSION" \\
|
||||
./backend
|
||||
echo "Image : vaultdrop-server:$VERSION"
|
||||
echo "Image : kazier-server:$VERSION"
|
||||
'''
|
||||
|
||||
[tasks.release]
|
||||
|
||||
@@ -9,10 +9,10 @@ plugins {
|
||||
}
|
||||
|
||||
// Source unique de vérité : VERSION à la racine du dépôt (ex. 0.1.0).
|
||||
val vaultVersion: String = rootProject.file("../VERSION").readText().trim()
|
||||
val vaultVersionCode: Int = run {
|
||||
val parts = vaultVersion.split('.').map { it.toInt() }
|
||||
check(parts.size == 3) { "VERSION doit être major.minor.patch, reçu: $vaultVersion" }
|
||||
val kazierVersion: String = rootProject.file("../VERSION").readText().trim()
|
||||
val kazierVersionCode: Int = run {
|
||||
val parts = kazierVersion.split('.').map { it.toInt() }
|
||||
check(parts.size == 3) { "VERSION doit être major.minor.patch, reçu: $kazierVersion" }
|
||||
parts[0] * 1_000_000 + parts[1] * 1_000 + parts[2]
|
||||
}
|
||||
|
||||
@@ -24,18 +24,18 @@ val signingProps = Properties().apply {
|
||||
}
|
||||
|
||||
android {
|
||||
namespace = "com.vaultdrop.mobile"
|
||||
namespace = "com.kazier.mobile"
|
||||
compileSdk = 35
|
||||
|
||||
defaultConfig {
|
||||
applicationId = "com.vaultdrop.mobile"
|
||||
applicationId = "com.kazier.mobile"
|
||||
minSdk = 26
|
||||
// targetSdk 35 exige des .so alignés en 16K ; les libs précompilées
|
||||
// OpenCV/CameraX sont en 4K (warning de compatibilité sur devices
|
||||
// 16K-pages). On reste en 34 tant qu'elles ne sont pas mises à jour.
|
||||
targetSdk = 34
|
||||
versionCode = vaultVersionCode
|
||||
versionName = vaultVersion
|
||||
versionCode = kazierVersionCode
|
||||
versionName = kazierVersion
|
||||
|
||||
// OpenCV natif : on conserve uniquement les ABIs ciblés
|
||||
// (arm64 = devices, x86_64 = émulateur) pour garder l'APK raisonnable.
|
||||
|
||||
@@ -2,13 +2,15 @@
|
||||
# Alternative CI : mêmes valeurs via les variables d'environnement SIGNING_*.
|
||||
#
|
||||
# 1. Générer un keystore (ne jamais le committer, garder en lieu sûr) :
|
||||
# keytool -genkey -v -keystore release.keystore -alias vaultdrop \
|
||||
# keytool -genkey -v -keystore release.keystore -alias kazier \
|
||||
# -keyalg RSA -keysize 2048 -validity 10000
|
||||
# Note : un keystore existant garde SON alias d'origine (ex. vaultdrop) —
|
||||
# reporter alors la même valeur dans keyAlias ci-dessous.
|
||||
# 2. Renseigner les valeurs ci-dessous.
|
||||
#
|
||||
# storeFile est relatif au répertoire du module app/ (mobile-kotlin/app).
|
||||
|
||||
storeFile=release.keystore
|
||||
storePassword=CHANGE_ME
|
||||
keyAlias=vaultdrop
|
||||
keyAlias=kazier
|
||||
keyPassword=CHANGE_ME
|
||||
@@ -10,17 +10,17 @@
|
||||
android:required="false" />
|
||||
|
||||
<application
|
||||
android:name=".VaultDropApplication"
|
||||
android:name=".KazierApplication"
|
||||
android:allowBackup="true"
|
||||
android:icon="@mipmap/ic_launcher"
|
||||
android:label="@string/app_name"
|
||||
android:supportsRtl="true"
|
||||
android:usesCleartextTraffic="true"
|
||||
android:theme="@style/Theme.VaultDrop">
|
||||
android:theme="@style/Theme.Kazier">
|
||||
|
||||
<!-- HiltWorkerFactory : désactive l'initialisation WorkManager par
|
||||
défaut (androidx.startup) pour que Configuration.Provider
|
||||
(VaultDropApplication) soit honoré — sinon le @HiltWorker ne peut
|
||||
(KazierApplication) soit honoré — sinon le @HiltWorker ne peut
|
||||
pas être instancié (NoSuchMethodException). -->
|
||||
<provider
|
||||
android:name="androidx.startup.InitializationProvider"
|
||||
@@ -36,7 +36,7 @@
|
||||
<activity
|
||||
android:name=".MainActivity"
|
||||
android:exported="true"
|
||||
android:theme="@style/Theme.VaultDrop">
|
||||
android:theme="@style/Theme.Kazier">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN" />
|
||||
<category android:name="android.intent.category.LAUNCHER" />
|
||||
|
||||
+2
-2
@@ -1,4 +1,4 @@
|
||||
package com.vaultdrop.mobile
|
||||
package com.kazier.mobile
|
||||
|
||||
import android.app.Application
|
||||
import androidx.hilt.work.HiltWorkerFactory
|
||||
@@ -8,7 +8,7 @@ import timber.log.Timber
|
||||
import javax.inject.Inject
|
||||
|
||||
@HiltAndroidApp
|
||||
class VaultDropApplication : Application(), Configuration.Provider {
|
||||
class KazierApplication : Application(), Configuration.Provider {
|
||||
|
||||
@Inject
|
||||
lateinit var workerFactory: HiltWorkerFactory
|
||||
+6
-6
@@ -1,4 +1,4 @@
|
||||
package com.vaultdrop.mobile
|
||||
package com.kazier.mobile
|
||||
|
||||
import android.os.Bundle
|
||||
import androidx.activity.ComponentActivity
|
||||
@@ -7,9 +7,9 @@ import androidx.activity.enableEdgeToEdge
|
||||
import androidx.compose.runtime.getValue
|
||||
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import com.vaultdrop.mobile.domain.ThemePreferenceStore
|
||||
import com.vaultdrop.mobile.ui.navigation.VaultDropApp
|
||||
import com.vaultdrop.mobile.ui.theme.VaultDropTheme
|
||||
import com.kazier.mobile.domain.ThemePreferenceStore
|
||||
import com.kazier.mobile.ui.navigation.KazierApp
|
||||
import com.kazier.mobile.ui.theme.KazierTheme
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
import javax.inject.Inject
|
||||
import kotlinx.coroutines.launch
|
||||
@@ -28,8 +28,8 @@ class MainActivity : ComponentActivity() {
|
||||
|
||||
setContent {
|
||||
val theme by themePreferenceStore.theme.collectAsStateWithLifecycle()
|
||||
VaultDropTheme(theme = theme) {
|
||||
VaultDropApp()
|
||||
KazierTheme(theme = theme) {
|
||||
KazierApp()
|
||||
}
|
||||
}
|
||||
}
|
||||
+5
-5
@@ -1,4 +1,4 @@
|
||||
package com.vaultdrop.mobile.auth
|
||||
package com.kazier.mobile.auth
|
||||
|
||||
import android.content.Context
|
||||
import android.content.SharedPreferences
|
||||
@@ -6,7 +6,7 @@ import androidx.security.crypto.EncryptedSharedPreferences
|
||||
import androidx.security.crypto.MasterKeys
|
||||
import com.squareup.moshi.JsonAdapter
|
||||
import com.squareup.moshi.Moshi
|
||||
import com.vaultdrop.mobile.data.remote.dto.UserDto
|
||||
import com.kazier.mobile.data.remote.dto.UserDto
|
||||
import dagger.hilt.android.qualifiers.ApplicationContext
|
||||
import javax.inject.Inject
|
||||
import javax.inject.Singleton
|
||||
@@ -56,8 +56,8 @@ class SecureTokenStore @Inject constructor(
|
||||
}
|
||||
|
||||
companion object {
|
||||
private const val FILE_NAME = "vaultdrop_secure"
|
||||
private const val KEY_TOKEN = "vaultdrop.auth_token"
|
||||
private const val KEY_ACCOUNT = "vaultdrop.account"
|
||||
private const val FILE_NAME = "kazier_secure"
|
||||
private const val KEY_TOKEN = "kazier.auth_token"
|
||||
private const val KEY_ACCOUNT = "kazier.account"
|
||||
}
|
||||
}
|
||||
+8
-8
@@ -1,10 +1,10 @@
|
||||
package com.vaultdrop.mobile.auth
|
||||
package com.kazier.mobile.auth
|
||||
|
||||
import com.vaultdrop.mobile.data.remote.ApiClient
|
||||
import com.vaultdrop.mobile.data.remote.dto.LoginResponseDto
|
||||
import com.vaultdrop.mobile.domain.ActiveUserStore
|
||||
import com.vaultdrop.mobile.domain.DeviceIdentity
|
||||
import com.vaultdrop.mobile.domain.LocalModeStore
|
||||
import com.kazier.mobile.data.remote.ApiClient
|
||||
import com.kazier.mobile.data.remote.dto.LoginResponseDto
|
||||
import com.kazier.mobile.domain.ActiveUserStore
|
||||
import com.kazier.mobile.domain.DeviceIdentity
|
||||
import com.kazier.mobile.domain.LocalModeStore
|
||||
import javax.inject.Inject
|
||||
import javax.inject.Singleton
|
||||
|
||||
@@ -30,7 +30,7 @@ class SessionManager @Inject constructor(
|
||||
return AuthSession(token = token, user = user)
|
||||
}
|
||||
|
||||
suspend fun save(token: String, user: com.vaultdrop.mobile.data.remote.dto.UserDto) {
|
||||
suspend fun save(token: String, user: com.kazier.mobile.data.remote.dto.UserDto) {
|
||||
secureTokenStore.save(token, user)
|
||||
activeUserStore.set(user.id)
|
||||
localModeStore.clear()
|
||||
@@ -52,5 +52,5 @@ class SessionManager @Inject constructor(
|
||||
|
||||
data class AuthSession(
|
||||
val token: String,
|
||||
val user: com.vaultdrop.mobile.data.remote.dto.UserDto,
|
||||
val user: com.kazier.mobile.data.remote.dto.UserDto,
|
||||
)
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.vaultdrop.mobile.auth
|
||||
package com.kazier.mobile.auth
|
||||
|
||||
import javax.inject.Inject
|
||||
import javax.inject.Singleton
|
||||
+12
-12
@@ -1,18 +1,18 @@
|
||||
package com.vaultdrop.mobile.data.local
|
||||
package com.kazier.mobile.data.local
|
||||
|
||||
import androidx.room.Database
|
||||
import androidx.room.RoomDatabase
|
||||
import com.vaultdrop.mobile.data.local.dao.FileDao
|
||||
import com.vaultdrop.mobile.data.local.dao.FolderDao
|
||||
import com.vaultdrop.mobile.data.local.dao.PendingOperationDao
|
||||
import com.vaultdrop.mobile.data.local.dao.ScanDao
|
||||
import com.vaultdrop.mobile.data.local.dao.UserPreferenceDao
|
||||
import com.vaultdrop.mobile.data.local.entity.FileEntity
|
||||
import com.vaultdrop.mobile.data.local.entity.FolderEntity
|
||||
import com.vaultdrop.mobile.data.local.entity.PendingOperationEntity
|
||||
import com.vaultdrop.mobile.data.local.entity.ScanPageEntity
|
||||
import com.vaultdrop.mobile.data.local.entity.ScanSessionEntity
|
||||
import com.vaultdrop.mobile.data.local.entity.UserPreferenceEntity
|
||||
import com.kazier.mobile.data.local.dao.FileDao
|
||||
import com.kazier.mobile.data.local.dao.FolderDao
|
||||
import com.kazier.mobile.data.local.dao.PendingOperationDao
|
||||
import com.kazier.mobile.data.local.dao.ScanDao
|
||||
import com.kazier.mobile.data.local.dao.UserPreferenceDao
|
||||
import com.kazier.mobile.data.local.entity.FileEntity
|
||||
import com.kazier.mobile.data.local.entity.FolderEntity
|
||||
import com.kazier.mobile.data.local.entity.PendingOperationEntity
|
||||
import com.kazier.mobile.data.local.entity.ScanPageEntity
|
||||
import com.kazier.mobile.data.local.entity.ScanSessionEntity
|
||||
import com.kazier.mobile.data.local.entity.UserPreferenceEntity
|
||||
|
||||
/*
|
||||
* DB SQLite locale, `dot.db` (même nom que la version Expo).
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
package com.vaultdrop.mobile.data.local
|
||||
package com.kazier.mobile.data.local
|
||||
|
||||
import com.vaultdrop.mobile.data.local.entity.FileEntity
|
||||
import com.kazier.mobile.data.local.entity.FileEntity
|
||||
|
||||
/** Date de référence d'un fichier : modification SAF quand dispo, sinon ajout local. */
|
||||
val FileEntity.referenceDate: Long
|
||||
+2
-2
@@ -1,9 +1,9 @@
|
||||
package com.vaultdrop.mobile.data.local.dao
|
||||
package com.kazier.mobile.data.local.dao
|
||||
|
||||
import androidx.room.Dao
|
||||
import androidx.room.Query
|
||||
import androidx.room.Upsert
|
||||
import com.vaultdrop.mobile.data.local.entity.FileEntity
|
||||
import com.kazier.mobile.data.local.entity.FileEntity
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
|
||||
@Dao
|
||||
+2
-2
@@ -1,11 +1,11 @@
|
||||
package com.vaultdrop.mobile.data.local.dao
|
||||
package com.kazier.mobile.data.local.dao
|
||||
|
||||
import androidx.room.Dao
|
||||
import androidx.room.Insert
|
||||
import androidx.room.OnConflictStrategy
|
||||
import androidx.room.Query
|
||||
import androidx.room.Upsert
|
||||
import com.vaultdrop.mobile.data.local.entity.FolderEntity
|
||||
import com.kazier.mobile.data.local.entity.FolderEntity
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
|
||||
@Dao
|
||||
+2
-2
@@ -1,9 +1,9 @@
|
||||
package com.vaultdrop.mobile.data.local.dao
|
||||
package com.kazier.mobile.data.local.dao
|
||||
|
||||
import androidx.room.Dao
|
||||
import androidx.room.Insert
|
||||
import androidx.room.Query
|
||||
import com.vaultdrop.mobile.data.local.entity.PendingOperationEntity
|
||||
import com.kazier.mobile.data.local.entity.PendingOperationEntity
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
|
||||
@Dao
|
||||
+3
-3
@@ -1,11 +1,11 @@
|
||||
package com.vaultdrop.mobile.data.local.dao
|
||||
package com.kazier.mobile.data.local.dao
|
||||
|
||||
import androidx.room.Dao
|
||||
import androidx.room.Insert
|
||||
import androidx.room.Query
|
||||
import androidx.room.Update
|
||||
import com.vaultdrop.mobile.data.local.entity.ScanPageEntity
|
||||
import com.vaultdrop.mobile.data.local.entity.ScanSessionEntity
|
||||
import com.kazier.mobile.data.local.entity.ScanPageEntity
|
||||
import com.kazier.mobile.data.local.entity.ScanSessionEntity
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
|
||||
/** Persistance des sessions de scan (appareil photo) — local uniquement. */
|
||||
+2
-2
@@ -1,11 +1,11 @@
|
||||
package com.vaultdrop.mobile.data.local.dao
|
||||
package com.kazier.mobile.data.local.dao
|
||||
|
||||
import androidx.room.Dao
|
||||
import androidx.room.Insert
|
||||
import androidx.room.OnConflictStrategy
|
||||
import androidx.room.Query
|
||||
import androidx.room.Upsert
|
||||
import com.vaultdrop.mobile.data.local.entity.UserPreferenceEntity
|
||||
import com.kazier.mobile.data.local.entity.UserPreferenceEntity
|
||||
|
||||
@Dao
|
||||
interface UserPreferenceDao {
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.vaultdrop.mobile.data.local.entity
|
||||
package com.kazier.mobile.data.local.entity
|
||||
|
||||
import androidx.room.ColumnInfo
|
||||
import androidx.room.Entity
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.vaultdrop.mobile.data.local.entity
|
||||
package com.kazier.mobile.data.local.entity
|
||||
|
||||
import androidx.room.ColumnInfo
|
||||
import androidx.room.Entity
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.vaultdrop.mobile.data.local.entity
|
||||
package com.kazier.mobile.data.local.entity
|
||||
|
||||
import androidx.room.ColumnInfo
|
||||
import androidx.room.Entity
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.vaultdrop.mobile.data.local.entity
|
||||
package com.kazier.mobile.data.local.entity
|
||||
|
||||
import androidx.room.ColumnInfo
|
||||
import androidx.room.Entity
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.vaultdrop.mobile.data.local.entity
|
||||
package com.kazier.mobile.data.local.entity
|
||||
|
||||
import androidx.room.ColumnInfo
|
||||
import androidx.room.Entity
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.vaultdrop.mobile.data.local.entity
|
||||
package com.kazier.mobile.data.local.entity
|
||||
|
||||
import androidx.room.ColumnInfo
|
||||
import androidx.room.Entity
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.vaultdrop.mobile.data.local.migration
|
||||
package com.kazier.mobile.data.local.migration
|
||||
|
||||
import androidx.room.migration.Migration
|
||||
import androidx.sqlite.db.SupportSQLiteDatabase
|
||||
+4
-4
@@ -1,4 +1,4 @@
|
||||
package com.vaultdrop.mobile.data.preferences
|
||||
package com.kazier.mobile.data.preferences
|
||||
|
||||
import android.content.Context
|
||||
import android.content.SharedPreferences
|
||||
@@ -7,7 +7,7 @@ import javax.inject.Inject
|
||||
import javax.inject.Singleton
|
||||
|
||||
/**
|
||||
* Racine VaultDrop : le dossier SAF unique et obligatoire choisi au premier
|
||||
* Racine Kazier : le dossier SAF unique et obligatoire choisi au premier
|
||||
* lancement. Tous les exports (assemblage PDF) y sont écrits directement,
|
||||
* sans sélecteur — la permission persistante sur l'arbre est acquise à ce
|
||||
* moment-là.
|
||||
@@ -31,7 +31,7 @@ class DefaultRootStore @Inject constructor(
|
||||
}
|
||||
|
||||
companion object {
|
||||
private const val FILE_NAME = "vaultdrop_prefs"
|
||||
private const val KEY_ROOT_RESOURCE_ID = "vaultdrop.default_root_resource_id"
|
||||
private const val FILE_NAME = "kazier_prefs"
|
||||
private const val KEY_ROOT_RESOURCE_ID = "kazier.default_root_resource_id"
|
||||
}
|
||||
}
|
||||
+16
-16
@@ -1,22 +1,22 @@
|
||||
package com.vaultdrop.mobile.data.remote
|
||||
package com.kazier.mobile.data.remote
|
||||
|
||||
import com.squareup.moshi.JsonAdapter
|
||||
import com.squareup.moshi.Moshi
|
||||
import com.vaultdrop.mobile.data.remote.dto.ApiEnvelope
|
||||
import com.vaultdrop.mobile.data.remote.dto.ApiErrorEnvelope
|
||||
import com.vaultdrop.mobile.data.remote.dto.DeviceRegistrationDto
|
||||
import com.vaultdrop.mobile.data.remote.dto.FileDto
|
||||
import com.vaultdrop.mobile.data.remote.dto.FileOcrDto
|
||||
import com.vaultdrop.mobile.data.remote.dto.FolderDto
|
||||
import com.vaultdrop.mobile.data.remote.dto.LoginRequestDto
|
||||
import com.vaultdrop.mobile.data.remote.dto.LoginResponseDto
|
||||
import com.vaultdrop.mobile.data.remote.dto.OcrJobDto
|
||||
import com.vaultdrop.mobile.data.remote.dto.OcrSubmitDto
|
||||
import com.vaultdrop.mobile.data.remote.dto.ResolvedUserDto
|
||||
import com.vaultdrop.mobile.data.remote.dto.ResourcePermissionDto
|
||||
import com.vaultdrop.mobile.data.remote.dto.SyncOpDto
|
||||
import com.vaultdrop.mobile.data.remote.dto.SyncOpsRequest
|
||||
import com.vaultdrop.mobile.data.remote.dto.SyncOpsResult
|
||||
import com.kazier.mobile.data.remote.dto.ApiEnvelope
|
||||
import com.kazier.mobile.data.remote.dto.ApiErrorEnvelope
|
||||
import com.kazier.mobile.data.remote.dto.DeviceRegistrationDto
|
||||
import com.kazier.mobile.data.remote.dto.FileDto
|
||||
import com.kazier.mobile.data.remote.dto.FileOcrDto
|
||||
import com.kazier.mobile.data.remote.dto.FolderDto
|
||||
import com.kazier.mobile.data.remote.dto.LoginRequestDto
|
||||
import com.kazier.mobile.data.remote.dto.LoginResponseDto
|
||||
import com.kazier.mobile.data.remote.dto.OcrJobDto
|
||||
import com.kazier.mobile.data.remote.dto.OcrSubmitDto
|
||||
import com.kazier.mobile.data.remote.dto.ResolvedUserDto
|
||||
import com.kazier.mobile.data.remote.dto.ResourcePermissionDto
|
||||
import com.kazier.mobile.data.remote.dto.SyncOpDto
|
||||
import com.kazier.mobile.data.remote.dto.SyncOpsRequest
|
||||
import com.kazier.mobile.data.remote.dto.SyncOpsResult
|
||||
import okhttp3.MultipartBody
|
||||
import okhttp3.MediaType.Companion.toMediaType
|
||||
import okhttp3.RequestBody
|
||||
+14
-14
@@ -1,18 +1,18 @@
|
||||
package com.vaultdrop.mobile.data.remote
|
||||
package com.kazier.mobile.data.remote
|
||||
|
||||
import com.vaultdrop.mobile.data.remote.dto.ApiEnvelope
|
||||
import com.vaultdrop.mobile.data.remote.dto.DeviceRegistrationDto
|
||||
import com.vaultdrop.mobile.data.remote.dto.FileDto
|
||||
import com.vaultdrop.mobile.data.remote.dto.FileOcrDto
|
||||
import com.vaultdrop.mobile.data.remote.dto.FolderDto
|
||||
import com.vaultdrop.mobile.data.remote.dto.LoginRequestDto
|
||||
import com.vaultdrop.mobile.data.remote.dto.LoginResponseDto
|
||||
import com.vaultdrop.mobile.data.remote.dto.OcrJobDto
|
||||
import com.vaultdrop.mobile.data.remote.dto.OcrSubmitDto
|
||||
import com.vaultdrop.mobile.data.remote.dto.ResolvedUserDto
|
||||
import com.vaultdrop.mobile.data.remote.dto.ResourcePermissionDto
|
||||
import com.vaultdrop.mobile.data.remote.dto.SyncOpsRequest
|
||||
import com.vaultdrop.mobile.data.remote.dto.SyncOpsResult
|
||||
import com.kazier.mobile.data.remote.dto.ApiEnvelope
|
||||
import com.kazier.mobile.data.remote.dto.DeviceRegistrationDto
|
||||
import com.kazier.mobile.data.remote.dto.FileDto
|
||||
import com.kazier.mobile.data.remote.dto.FileOcrDto
|
||||
import com.kazier.mobile.data.remote.dto.FolderDto
|
||||
import com.kazier.mobile.data.remote.dto.LoginRequestDto
|
||||
import com.kazier.mobile.data.remote.dto.LoginResponseDto
|
||||
import com.kazier.mobile.data.remote.dto.OcrJobDto
|
||||
import com.kazier.mobile.data.remote.dto.OcrSubmitDto
|
||||
import com.kazier.mobile.data.remote.dto.ResolvedUserDto
|
||||
import com.kazier.mobile.data.remote.dto.ResourcePermissionDto
|
||||
import com.kazier.mobile.data.remote.dto.SyncOpsRequest
|
||||
import com.kazier.mobile.data.remote.dto.SyncOpsResult
|
||||
import okhttp3.MultipartBody
|
||||
import okhttp3.RequestBody
|
||||
import retrofit2.Response
|
||||
+2
-2
@@ -1,10 +1,10 @@
|
||||
package com.vaultdrop.mobile.data.remote
|
||||
package com.kazier.mobile.data.remote
|
||||
|
||||
import okhttp3.Interceptor
|
||||
import okhttp3.Response
|
||||
import javax.inject.Inject
|
||||
import javax.inject.Singleton
|
||||
import com.vaultdrop.mobile.auth.TokenProvider
|
||||
import com.kazier.mobile.auth.TokenProvider
|
||||
|
||||
/**
|
||||
* Injecte `Authorization: Bearer <token>` sur chaque requête si un token est
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
package com.vaultdrop.mobile.data.remote
|
||||
package com.kazier.mobile.data.remote
|
||||
|
||||
import com.vaultdrop.mobile.domain.ServerConfigStore
|
||||
import com.kazier.mobile.domain.ServerConfigStore
|
||||
import javax.inject.Inject
|
||||
import javax.inject.Singleton
|
||||
import okhttp3.HttpUrl.Companion.toHttpUrl
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.vaultdrop.mobile.data.remote.dto
|
||||
package com.kazier.mobile.data.remote.dto
|
||||
|
||||
import com.squareup.moshi.Json
|
||||
|
||||
+4
-4
@@ -1,8 +1,8 @@
|
||||
package com.vaultdrop.mobile.data.repository
|
||||
package com.kazier.mobile.data.repository
|
||||
|
||||
import com.vaultdrop.mobile.data.remote.ApiClient
|
||||
import com.vaultdrop.mobile.data.remote.dto.LoginResponseDto
|
||||
import com.vaultdrop.mobile.domain.DeviceIdentity
|
||||
import com.kazier.mobile.data.remote.ApiClient
|
||||
import com.kazier.mobile.data.remote.dto.LoginResponseDto
|
||||
import com.kazier.mobile.domain.DeviceIdentity
|
||||
import timber.log.Timber
|
||||
import javax.inject.Inject
|
||||
import javax.inject.Singleton
|
||||
+10
-10
@@ -1,15 +1,15 @@
|
||||
package com.vaultdrop.mobile.data.repository
|
||||
package com.kazier.mobile.data.repository
|
||||
|
||||
import androidx.room.withTransaction
|
||||
import com.vaultdrop.mobile.data.local.AppDatabase
|
||||
import com.vaultdrop.mobile.data.local.dao.FileDao
|
||||
import com.vaultdrop.mobile.data.local.entity.FileEntity
|
||||
import com.vaultdrop.mobile.data.local.entity.FileStatus
|
||||
import com.vaultdrop.mobile.data.remote.ApiClient
|
||||
import com.vaultdrop.mobile.data.remote.dto.FileDto
|
||||
import com.vaultdrop.mobile.domain.GenerateId
|
||||
import com.vaultdrop.mobile.domain.SyncPlacement
|
||||
import com.vaultdrop.mobile.domain.computeCategory
|
||||
import com.kazier.mobile.data.local.AppDatabase
|
||||
import com.kazier.mobile.data.local.dao.FileDao
|
||||
import com.kazier.mobile.data.local.entity.FileEntity
|
||||
import com.kazier.mobile.data.local.entity.FileStatus
|
||||
import com.kazier.mobile.data.remote.ApiClient
|
||||
import com.kazier.mobile.data.remote.dto.FileDto
|
||||
import com.kazier.mobile.domain.GenerateId
|
||||
import com.kazier.mobile.domain.SyncPlacement
|
||||
import com.kazier.mobile.domain.computeCategory
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
import javax.inject.Inject
|
||||
import javax.inject.Singleton
|
||||
+10
-10
@@ -1,15 +1,15 @@
|
||||
package com.vaultdrop.mobile.data.repository
|
||||
package com.kazier.mobile.data.repository
|
||||
|
||||
import androidx.room.withTransaction
|
||||
import com.vaultdrop.mobile.data.local.AppDatabase
|
||||
import com.vaultdrop.mobile.data.local.dao.FolderDao
|
||||
import com.vaultdrop.mobile.data.local.entity.FolderEntity
|
||||
import com.vaultdrop.mobile.data.local.entity.FolderStatus
|
||||
import com.vaultdrop.mobile.data.remote.ApiClient
|
||||
import com.vaultdrop.mobile.data.remote.dto.FolderDto
|
||||
import com.vaultdrop.mobile.domain.DeviceIdentity
|
||||
import com.vaultdrop.mobile.domain.GenerateId
|
||||
import com.vaultdrop.mobile.domain.SyncPlacement
|
||||
import com.kazier.mobile.data.local.AppDatabase
|
||||
import com.kazier.mobile.data.local.dao.FolderDao
|
||||
import com.kazier.mobile.data.local.entity.FolderEntity
|
||||
import com.kazier.mobile.data.local.entity.FolderStatus
|
||||
import com.kazier.mobile.data.remote.ApiClient
|
||||
import com.kazier.mobile.data.remote.dto.FolderDto
|
||||
import com.kazier.mobile.domain.DeviceIdentity
|
||||
import com.kazier.mobile.domain.GenerateId
|
||||
import com.kazier.mobile.domain.SyncPlacement
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
import javax.inject.Inject
|
||||
import javax.inject.Singleton
|
||||
+7
-7
@@ -1,15 +1,15 @@
|
||||
package com.vaultdrop.mobile.data.repository
|
||||
package com.kazier.mobile.data.repository
|
||||
|
||||
import android.content.ContentResolver
|
||||
import android.content.Context
|
||||
import android.net.Uri
|
||||
import androidx.core.net.toUri
|
||||
import com.vaultdrop.mobile.data.local.dao.FileDao
|
||||
import com.vaultdrop.mobile.data.local.entity.FileEntity
|
||||
import com.vaultdrop.mobile.data.remote.ApiClient
|
||||
import com.vaultdrop.mobile.data.remote.ApiException
|
||||
import com.vaultdrop.mobile.data.remote.dto.OcrJobDto
|
||||
import com.vaultdrop.mobile.data.remote.dto.OcrJobStatus
|
||||
import com.kazier.mobile.data.local.dao.FileDao
|
||||
import com.kazier.mobile.data.local.entity.FileEntity
|
||||
import com.kazier.mobile.data.remote.ApiClient
|
||||
import com.kazier.mobile.data.remote.ApiException
|
||||
import com.kazier.mobile.data.remote.dto.OcrJobDto
|
||||
import com.kazier.mobile.data.remote.dto.OcrJobStatus
|
||||
import dagger.hilt.android.qualifiers.ApplicationContext
|
||||
import kotlinx.coroutines.delay
|
||||
import okhttp3.MediaType
|
||||
+6
-6
@@ -1,13 +1,13 @@
|
||||
package com.vaultdrop.mobile.data.repository
|
||||
package com.kazier.mobile.data.repository
|
||||
|
||||
import com.squareup.moshi.JsonAdapter
|
||||
import com.squareup.moshi.Moshi
|
||||
import com.squareup.moshi.Types
|
||||
import com.vaultdrop.mobile.data.local.dao.PendingOperationDao
|
||||
import com.vaultdrop.mobile.data.local.entity.PendingOpStatus
|
||||
import com.vaultdrop.mobile.data.local.entity.PendingOperationEntity
|
||||
import com.vaultdrop.mobile.data.local.entity.PendingOperationType
|
||||
import com.vaultdrop.mobile.domain.GenerateId
|
||||
import com.kazier.mobile.data.local.dao.PendingOperationDao
|
||||
import com.kazier.mobile.data.local.entity.PendingOpStatus
|
||||
import com.kazier.mobile.data.local.entity.PendingOperationEntity
|
||||
import com.kazier.mobile.data.local.entity.PendingOperationType
|
||||
import com.kazier.mobile.domain.GenerateId
|
||||
import javax.inject.Inject
|
||||
import javax.inject.Singleton
|
||||
|
||||
+8
-8
@@ -1,13 +1,13 @@
|
||||
package com.vaultdrop.mobile.data.repository
|
||||
package com.kazier.mobile.data.repository
|
||||
|
||||
import androidx.room.withTransaction
|
||||
import com.vaultdrop.mobile.data.local.AppDatabase
|
||||
import com.vaultdrop.mobile.data.local.dao.ScanDao
|
||||
import com.vaultdrop.mobile.data.local.entity.ScanPageEntity
|
||||
import com.vaultdrop.mobile.data.local.entity.ScanPageStatus
|
||||
import com.vaultdrop.mobile.data.local.entity.ScanSessionEntity
|
||||
import com.vaultdrop.mobile.data.local.entity.ScanSessionStatus
|
||||
import com.vaultdrop.mobile.domain.GenerateId
|
||||
import com.kazier.mobile.data.local.AppDatabase
|
||||
import com.kazier.mobile.data.local.dao.ScanDao
|
||||
import com.kazier.mobile.data.local.entity.ScanPageEntity
|
||||
import com.kazier.mobile.data.local.entity.ScanPageStatus
|
||||
import com.kazier.mobile.data.local.entity.ScanSessionEntity
|
||||
import com.kazier.mobile.data.local.entity.ScanSessionStatus
|
||||
import com.kazier.mobile.domain.GenerateId
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
import javax.inject.Inject
|
||||
import javax.inject.Singleton
|
||||
+10
-10
@@ -1,15 +1,15 @@
|
||||
package com.vaultdrop.mobile.data.repository
|
||||
package com.kazier.mobile.data.repository
|
||||
|
||||
import androidx.room.withTransaction
|
||||
import com.vaultdrop.mobile.data.local.AppDatabase
|
||||
import com.vaultdrop.mobile.data.local.dao.FileDao
|
||||
import com.vaultdrop.mobile.data.local.dao.FolderDao
|
||||
import com.vaultdrop.mobile.data.local.entity.FileEntity
|
||||
import com.vaultdrop.mobile.data.local.entity.FolderEntity
|
||||
import com.vaultdrop.mobile.data.remote.ApiClient
|
||||
import com.vaultdrop.mobile.data.remote.dto.ResourcePermissionDto
|
||||
import com.vaultdrop.mobile.domain.DeviceIdentity
|
||||
import com.vaultdrop.mobile.domain.SyncPlacement
|
||||
import com.kazier.mobile.data.local.AppDatabase
|
||||
import com.kazier.mobile.data.local.dao.FileDao
|
||||
import com.kazier.mobile.data.local.dao.FolderDao
|
||||
import com.kazier.mobile.data.local.entity.FileEntity
|
||||
import com.kazier.mobile.data.local.entity.FolderEntity
|
||||
import com.kazier.mobile.data.remote.ApiClient
|
||||
import com.kazier.mobile.data.remote.dto.ResourcePermissionDto
|
||||
import com.kazier.mobile.domain.DeviceIdentity
|
||||
import com.kazier.mobile.domain.SyncPlacement
|
||||
import timber.log.Timber
|
||||
import javax.inject.Inject
|
||||
import javax.inject.Singleton
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.vaultdrop.mobile.di
|
||||
package com.kazier.mobile.di
|
||||
|
||||
import dagger.Module
|
||||
import dagger.hilt.InstallIn
|
||||
+8
-8
@@ -1,14 +1,14 @@
|
||||
package com.vaultdrop.mobile.di
|
||||
package com.kazier.mobile.di
|
||||
|
||||
import android.content.Context
|
||||
import androidx.room.Room
|
||||
import com.vaultdrop.mobile.data.local.AppDatabase
|
||||
import com.vaultdrop.mobile.data.local.dao.FileDao
|
||||
import com.vaultdrop.mobile.data.local.dao.FolderDao
|
||||
import com.vaultdrop.mobile.data.local.dao.PendingOperationDao
|
||||
import com.vaultdrop.mobile.data.local.dao.ScanDao
|
||||
import com.vaultdrop.mobile.data.local.dao.UserPreferenceDao
|
||||
import com.vaultdrop.mobile.data.local.migration.Migrations
|
||||
import com.kazier.mobile.data.local.AppDatabase
|
||||
import com.kazier.mobile.data.local.dao.FileDao
|
||||
import com.kazier.mobile.data.local.dao.FolderDao
|
||||
import com.kazier.mobile.data.local.dao.PendingOperationDao
|
||||
import com.kazier.mobile.data.local.dao.ScanDao
|
||||
import com.kazier.mobile.data.local.dao.UserPreferenceDao
|
||||
import com.kazier.mobile.data.local.migration.Migrations
|
||||
import dagger.Module
|
||||
import dagger.Provides
|
||||
import dagger.hilt.InstallIn
|
||||
+6
-6
@@ -1,11 +1,11 @@
|
||||
package com.vaultdrop.mobile.di
|
||||
package com.kazier.mobile.di
|
||||
|
||||
import com.squareup.moshi.Moshi
|
||||
import com.squareup.moshi.kotlin.reflect.KotlinJsonAdapterFactory
|
||||
import com.vaultdrop.mobile.BuildConfig
|
||||
import com.vaultdrop.mobile.data.remote.ApiService
|
||||
import com.vaultdrop.mobile.data.remote.AuthInterceptor
|
||||
import com.vaultdrop.mobile.data.remote.ServerUrlInterceptor
|
||||
import com.kazier.mobile.BuildConfig
|
||||
import com.kazier.mobile.data.remote.ApiService
|
||||
import com.kazier.mobile.data.remote.AuthInterceptor
|
||||
import com.kazier.mobile.data.remote.ServerUrlInterceptor
|
||||
import dagger.Module
|
||||
import dagger.Provides
|
||||
import dagger.hilt.InstallIn
|
||||
@@ -80,5 +80,5 @@ object NetworkModule {
|
||||
fun provideApiService(retrofit: Retrofit): ApiService =
|
||||
retrofit.create(ApiService::class.java)
|
||||
|
||||
private const val PLACEHOLDER_BASE_URL = "http://vaultdrop.invalid/"
|
||||
private const val PLACEHOLDER_BASE_URL = "http://kazier.invalid/"
|
||||
}
|
||||
+3
-3
@@ -1,7 +1,7 @@
|
||||
package com.vaultdrop.mobile.domain
|
||||
package com.kazier.mobile.domain
|
||||
|
||||
import com.vaultdrop.mobile.data.local.dao.UserPreferenceDao
|
||||
import com.vaultdrop.mobile.data.local.entity.UserPreferenceEntity
|
||||
import com.kazier.mobile.data.local.dao.UserPreferenceDao
|
||||
import com.kazier.mobile.data.local.entity.UserPreferenceEntity
|
||||
import javax.inject.Inject
|
||||
import javax.inject.Singleton
|
||||
|
||||
+3
-3
@@ -1,7 +1,7 @@
|
||||
package com.vaultdrop.mobile.domain
|
||||
package com.kazier.mobile.domain
|
||||
|
||||
import com.vaultdrop.mobile.data.local.dao.UserPreferenceDao
|
||||
import com.vaultdrop.mobile.data.local.entity.UserPreferenceEntity
|
||||
import com.kazier.mobile.data.local.dao.UserPreferenceDao
|
||||
import com.kazier.mobile.data.local.entity.UserPreferenceEntity
|
||||
import javax.inject.Inject
|
||||
import javax.inject.Singleton
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.vaultdrop.mobile.domain
|
||||
package com.kazier.mobile.domain
|
||||
|
||||
enum class FileCategory {
|
||||
PDF,
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.vaultdrop.mobile.domain
|
||||
package com.kazier.mobile.domain
|
||||
|
||||
import java.security.SecureRandom
|
||||
import javax.inject.Inject
|
||||
+4
-4
@@ -1,13 +1,13 @@
|
||||
package com.vaultdrop.mobile.domain
|
||||
package com.kazier.mobile.domain
|
||||
|
||||
import com.vaultdrop.mobile.data.local.dao.UserPreferenceDao
|
||||
import com.vaultdrop.mobile.data.local.entity.UserPreferenceEntity
|
||||
import com.kazier.mobile.data.local.dao.UserPreferenceDao
|
||||
import com.kazier.mobile.data.local.entity.UserPreferenceEntity
|
||||
import javax.inject.Inject
|
||||
import javax.inject.Singleton
|
||||
|
||||
/**
|
||||
* Drapeau « mode local » (on utilise l'app sans compte) persisté en
|
||||
* `user_preferences`. Permet de restaurer [com.vaultdrop.mobile.ui.auth.AuthState.Local]
|
||||
* `user_preferences`. Permet de restaurer [com.kazier.mobile.ui.auth.AuthState.Local]
|
||||
* au redémarrage au lieu de retomber sur la page de connexion.
|
||||
*/
|
||||
@Singleton
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.vaultdrop.mobile.domain
|
||||
package com.kazier.mobile.domain
|
||||
|
||||
/** Clés de `user_preferences` — miroir de `services/db/schema.ts`. */
|
||||
object PrefKeys {
|
||||
+3
-3
@@ -1,7 +1,7 @@
|
||||
package com.vaultdrop.mobile.domain
|
||||
package com.kazier.mobile.domain
|
||||
|
||||
import com.vaultdrop.mobile.data.local.dao.UserPreferenceDao
|
||||
import com.vaultdrop.mobile.data.local.entity.UserPreferenceEntity
|
||||
import com.kazier.mobile.data.local.dao.UserPreferenceDao
|
||||
import com.kazier.mobile.data.local.entity.UserPreferenceEntity
|
||||
import java.util.concurrent.atomic.AtomicBoolean
|
||||
import javax.inject.Inject
|
||||
import javax.inject.Named
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.vaultdrop.mobile.domain
|
||||
package com.kazier.mobile.domain
|
||||
|
||||
/**
|
||||
* Règle de placement d'une ressource (`sync_status`), partagée entre files et
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.vaultdrop.mobile.domain
|
||||
package com.kazier.mobile.domain
|
||||
|
||||
/**
|
||||
* Préférence d'affichage de la page Réglages, persistée dans `user_preferences`.
|
||||
+3
-3
@@ -1,7 +1,7 @@
|
||||
package com.vaultdrop.mobile.domain
|
||||
package com.kazier.mobile.domain
|
||||
|
||||
import com.vaultdrop.mobile.data.local.dao.UserPreferenceDao
|
||||
import com.vaultdrop.mobile.data.local.entity.UserPreferenceEntity
|
||||
import com.kazier.mobile.data.local.dao.UserPreferenceDao
|
||||
import com.kazier.mobile.data.local.entity.UserPreferenceEntity
|
||||
import java.util.concurrent.atomic.AtomicBoolean
|
||||
import javax.inject.Inject
|
||||
import javax.inject.Singleton
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user