ReadKeep/.build/workspace-state.json
Ilyas Hallak 98a914cb2e feat: Implementierung der Readeck API mit kompletter Architektur
- API-Klasse mit allen CRUD-Operationen für Bookmarks
  - Login/Authentifizierung mit Bearer Token
  - Bookmarks abrufen (Liste und Details)
  - Artikel-Inhalt abrufen
- DTO-Strukturen in separate Dateien aufgeteilt
  - UserDto für Authentifizierung
  - BookmarkDto für Bookmark-Listen
  - BookmarkDetailDto mit vollständigen Metadaten
- MVVM-Architektur mit @Observable
  - SettingsViewModel für Anmeldung
  - BookmarksViewModel für Bookmark-Verwaltung
- SwiftUI Views mit modernem Design
  - SettingsView mit Eingabefeldern und Validierung
  - BookmarksView mit Pull-to-Refresh und Leerzustand
  - MainTabView als Navigation
- Use Case Pattern implementiert
  - LoginUseCase für Authentifizierung
  - GetBookmarksUseCase für Datenabfrage
  - DefaultUseCaseFactory für Dependency Injection
- Fehlerbehandlung und Loading States
- Protocol-basierte Architektur für bessere Testbarkeit
2025-06-11 11:02:19 +02:00

180 lines
5.3 KiB
JSON

{
"object" : {
"artifacts" : [
],
"dependencies" : [
{
"basedOn" : null,
"packageRef" : {
"identity" : "openapikit",
"kind" : "remoteSourceControl",
"location" : "https://github.com/mattpolzin/OpenAPIKit",
"name" : "OpenAPIKit"
},
"state" : {
"checkoutState" : {
"revision" : "a75aa4166d916f1cb4a192e928a18f7b6d3516bc",
"version" : "3.5.2"
},
"name" : "sourceControlCheckout"
},
"subpath" : "OpenAPIKit"
},
{
"basedOn" : null,
"packageRef" : {
"identity" : "swift-algorithms",
"kind" : "remoteSourceControl",
"location" : "https://github.com/apple/swift-algorithms",
"name" : "swift-algorithms"
},
"state" : {
"checkoutState" : {
"revision" : "87e50f483c54e6efd60e885f7f5aa946cee68023",
"version" : "1.2.1"
},
"name" : "sourceControlCheckout"
},
"subpath" : "swift-algorithms"
},
{
"basedOn" : null,
"packageRef" : {
"identity" : "swift-argument-parser",
"kind" : "remoteSourceControl",
"location" : "https://github.com/apple/swift-argument-parser",
"name" : "swift-argument-parser"
},
"state" : {
"checkoutState" : {
"revision" : "011f0c765fb46d9cac61bca19be0527e99c98c8b",
"version" : "1.5.1"
},
"name" : "sourceControlCheckout"
},
"subpath" : "swift-argument-parser"
},
{
"basedOn" : null,
"packageRef" : {
"identity" : "swift-collections",
"kind" : "remoteSourceControl",
"location" : "https://github.com/apple/swift-collections",
"name" : "swift-collections"
},
"state" : {
"checkoutState" : {
"revision" : "c1805596154bb3a265fd91b8ac0c4433b4348fb0",
"version" : "1.2.0"
},
"name" : "sourceControlCheckout"
},
"subpath" : "swift-collections"
},
{
"basedOn" : null,
"packageRef" : {
"identity" : "swift-http-types",
"kind" : "remoteSourceControl",
"location" : "https://github.com/apple/swift-http-types",
"name" : "swift-http-types"
},
"state" : {
"checkoutState" : {
"revision" : "a0a57e949a8903563aba4615869310c0ebf14c03",
"version" : "1.4.0"
},
"name" : "sourceControlCheckout"
},
"subpath" : "swift-http-types"
},
{
"basedOn" : null,
"packageRef" : {
"identity" : "swift-numerics",
"kind" : "remoteSourceControl",
"location" : "https://github.com/apple/swift-numerics.git",
"name" : "swift-numerics"
},
"state" : {
"checkoutState" : {
"revision" : "e0ec0f5f3af6f3e4d5e7a19d2af26b481acb6ba8",
"version" : "1.0.3"
},
"name" : "sourceControlCheckout"
},
"subpath" : "swift-numerics"
},
{
"basedOn" : null,
"packageRef" : {
"identity" : "swift-openapi-generator",
"kind" : "remoteSourceControl",
"location" : "https://github.com/apple/swift-openapi-generator.git",
"name" : "swift-openapi-generator"
},
"state" : {
"checkoutState" : {
"revision" : "09ed6c489f88d06228a404a0313adeea743e6cad",
"version" : "1.8.0"
},
"name" : "sourceControlCheckout"
},
"subpath" : "swift-openapi-generator"
},
{
"basedOn" : null,
"packageRef" : {
"identity" : "swift-openapi-runtime",
"kind" : "remoteSourceControl",
"location" : "https://github.com/apple/swift-openapi-runtime.git",
"name" : "swift-openapi-runtime"
},
"state" : {
"checkoutState" : {
"revision" : "8f33cc5dfe81169fb167da73584b9c72c3e8bc23",
"version" : "1.8.2"
},
"name" : "sourceControlCheckout"
},
"subpath" : "swift-openapi-runtime"
},
{
"basedOn" : null,
"packageRef" : {
"identity" : "swift-openapi-urlsession",
"kind" : "remoteSourceControl",
"location" : "https://github.com/apple/swift-openapi-urlsession.git",
"name" : "swift-openapi-urlsession"
},
"state" : {
"checkoutState" : {
"revision" : "6fac6f7c428d5feea2639b5f5c8b06ddfb79434b",
"version" : "1.1.0"
},
"name" : "sourceControlCheckout"
},
"subpath" : "swift-openapi-urlsession"
},
{
"basedOn" : null,
"packageRef" : {
"identity" : "yams",
"kind" : "remoteSourceControl",
"location" : "https://github.com/jpsim/Yams",
"name" : "Yams"
},
"state" : {
"checkoutState" : {
"revision" : "9281f8c99aff4f4a55dce22ae29b1181c935caa5",
"version" : "6.0.0"
},
"name" : "sourceControlCheckout"
},
"subpath" : "Yams"
}
]
},
"version" : 6
}