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

262 lines
15 KiB
Plaintext

# pack-refs with: peeled fully-peeled sorted
bab8d4eefaacde7c194c4d962e120ba24ca62f22 refs/heads/Quaternions
0098c438ebc687aec80c7fef15482f4b38e3583d refs/heads/biginteger
6356eb395bba8de12aa4c360b4203ac3a5df9f85 refs/heads/main
876f439c4a165f01db8daf99f6ea71fa7546ebc7 refs/heads/release/1.0
b97297c027d0332b4990d49306ac878f213667ae refs/pull/1/head
33d10c02cd2026663220cf5e01a98e6f34c4fbfb refs/pull/104/head
697e9351e82fd150fe178bc6e94fc247331163d7 refs/pull/105/head
a35f5ba889a6a0e40292fcabf9072673225c2a77 refs/pull/106/head
ff6a0ff2a57c6ecfe28a5f28cf47e42c3610bb48 refs/pull/107/head
59444343c4cbdc5573931d0bf3a6871b1e8b3ea2 refs/pull/108/head
c14381db8c797de4ec195b28c10f04143dd635b6 refs/pull/109/head
6b4342cc7f57bdf24e00c0f5b8fe8ddccff86835 refs/pull/11/head
d5ec70cd8c06476ddfebd9c9699ba2b2877a0be2 refs/pull/110/head
488e250259a8362408a4db5e07e182f314528fc5 refs/pull/111/head
750170404ad62d735cc5df9fb320799f9e52aab5 refs/pull/114/head
c111cd001e40992dea1e85019957bbb12d267c72 refs/pull/115/head
4297fbee6a208f05f6f1987c328f2a3ffd467538 refs/pull/116/head
5f09b7ef22fbc282643f4b7ffb21cc2613c56bed refs/pull/117/head
0cd1d1ea7303cba341fd677c8a89da5cb1031674 refs/pull/118/head
e7c2ad694b84eba1e5c7c45eb49760c82db49a88 refs/pull/119/head
775b898654b871ce8036098cb6e50ba60049b9c3 refs/pull/120/head
bc84f2eaaa04b563e9d693978193ff38b6ef6fd9 refs/pull/120/merge
86f0b33c65c4efc77fe71fe31eaa160d777b5a55 refs/pull/121/head
7bb20af6844b1daf77c1b7214636f63e5ee8c3ed refs/pull/122/head
e69f12617b2d717149c625ad90f96a7ed09bac0a refs/pull/123/head
f26f167b572349349d92090833d4de6b39612b86 refs/pull/124/head
e4f49d4c60b8b555dc889b7968a2ea3f24ef9a8e refs/pull/125/head
11cc926ac4dd32c255ed5a58acf63493fcb87e1d refs/pull/126/head
168beeef757fa253969bf03c285e446b7d6d59af refs/pull/128/head
59e547f6f9c293fa8ca8695a347fcc26d5edb08b refs/pull/13/head
e6a343a20598ba9364addfe00f69eec0a6c493fa refs/pull/132/head
af3912cd4ac336492b1aedf8ccc9c3d814acf694 refs/pull/133/head
844322cb1e17828022039c99eefd7af7f2ae5b2f refs/pull/134/head
97824411d9c208ed1bb63c8898023c49b3957462 refs/pull/136/head
7109a229726b1966f75310cee5873def4accc771 refs/pull/137/head
ce58d083a1a543f6dcb8e89b69f210418e1a7910 refs/pull/138/head
d32bb739d487e3713fe5897cc53b958a827ab27e refs/pull/139/head
341671e000620f5beea8d0ec6c0986865d7acb93 refs/pull/14/head
6af70e51eadc4e81acbbbf3ed3839c724b37fc07 refs/pull/140/head
ecb69673b0808588fcb5c41748b45a2180cd5e2f refs/pull/142/head
337be4044e9db2b418098f3177fcc4334a50dfce refs/pull/143/head
a4372aa8d62c4270f893857aba696113e4962da8 refs/pull/144/head
a0501be80ad3c44ec5060f76d0adb65bc2b0f04e refs/pull/145/head
f49d1af281054fd917afb3aa38e25285c51c2861 refs/pull/146/head
0f8ef268d01fe0e77dcb8da46a5aa64590aa9abf refs/pull/148/head
298ea7d3f5102ea34787fea360d6f1a2331cd011 refs/pull/150/head
ead8965cb2cc56a5102ed468ac5cdc29e70ff23e refs/pull/151/head
0f02c6585465356cf5ba4d0937221dcc81fd7690 refs/pull/152/head
ce66945457b16dc1fa05b9a1d3a7b1725fc8b7fb refs/pull/154/head
2b4c6701f2f077faa4987573da905bb107b2004e refs/pull/155/head
e07b39453b883f554f1154eedeecd948c11d5888 refs/pull/157/head
0ee972ff9227b05207fa3f9b55aefe332c7fba1b refs/pull/159/head
adefd8166a162e2cba8af7808bc0bf29ca570bb9 refs/pull/16/head
16837299c16922ddd064695c837e0d75be7e85aa refs/pull/162/head
00c6183670e7e5d94d2d020c08b5ee36cc4c3bfd refs/pull/164/head
26c51aca1b66b23ed2c5eaf2e9c6cd45c69f45d6 refs/pull/165/head
5a7eb37c19cccc6cac3d1620d603cf953d7bdece refs/pull/166/head
6d866a89a677dc3a1bbfe16b35f78594e9d1d17f refs/pull/168/head
83ba41baf945b820d2671c0a0c5378d36a66acfe refs/pull/169/head
b3f761d8c6b900352dc2f47617c345c539f0ecbc refs/pull/169/merge
63a129be1ae9f54bd15029c03b322a21bf6912c9 refs/pull/17/head
97852afaf5fa2e807e439733fe2813feeccb5ff4 refs/pull/172/head
5827f9a94384f7d9d49e646347b1bd7f58ec317d refs/pull/175/head
eeba818da77cd5f1792bd1981b2025f58f2b1cdd refs/pull/176/head
a2e874777119ac07b866f77a5d6add143e3c324a refs/pull/177/head
5e1ca0268ad79c21c448f24b4eaf4dc0eab30057 refs/pull/177/merge
d34cff5a13187e3ad357ad1d1e5131b0a88771f3 refs/pull/178/head
50161d39dff29bd07d564f31045cef36d2632ee5 refs/pull/179/head
d6a87be7da87030ecade202aa777759a3dbf69d0 refs/pull/18/head
f60066e5f53f1341c65934bd65e7f52fa3110b1b refs/pull/180/head
702c6fc1d8f05873b5ff5123aa855b28eb9f9771 refs/pull/181/head
faf13772af439e4c501f3befcfa5b0bf750d0b70 refs/pull/182/head
8e3d889b5f8c2dc660eb79d01d8097f400f0371b refs/pull/183/head
419caa222fb01b8e8d97b682591fe1afaca3acb4 refs/pull/184/head
12148ffa666c7816c5b7acb8c690f0ecec0e0ea0 refs/pull/185/head
3d6bff6cae62c9aa1e0d2557cb97e7440e1ffc90 refs/pull/186/head
988f1e1cea31760b9cf7db129048662bc3d85f35 refs/pull/187/head
84474a34100c61f301671d89f28eede388fe3810 refs/pull/188/head
f2cfa8d668428ae2e25ac3c15f09ece6cb324bac refs/pull/189/head
fa9422ec6e790f0957bf1302961af970d4ab0855 refs/pull/19/head
996cf7f5b98b998ae92efc3700a4163d1b1be3cf refs/pull/190/head
21ff6d38fd6ff16633b5c73ff6756e1070aeaf4e refs/pull/191/head
b9415c9ad2669fd8c4334c636f5749a1c7bdbefd refs/pull/192/head
bcde4bc513f22a814f8cb62375a5a78f58f2936a refs/pull/193/head
ed66862a2c0cc223382c40b4fd018f2c4ec3172f refs/pull/194/head
b4ec7556e9b764c138a7194efa9c9a7264d8bd67 refs/pull/195/head
5f28ad0e9720352b6f14731b53b3abf089b59162 refs/pull/196/head
be0534a3e3d1525892d634201b028d1f56b14579 refs/pull/197/head
d5607650477eca7a1669816ea76716a33d2b1ecc refs/pull/198/head
4a2409ffcde32f21dbc4cf7a0c56bc5269a2feb1 refs/pull/20/head
ae383701074be80501a6f5bf8f27b2b3faf5a10a refs/pull/200/head
e22ff866a40e305aaa7f4f53338c7716cb919128 refs/pull/201/head
c3806f23ff0450820ac38de6876f2cee48bf0ad1 refs/pull/202/head
24d8f51bb3387e23ad0684f80434986397f3edbc refs/pull/203/head
eb1771fac4e9205bbe1e210574d0370e68b32716 refs/pull/204/head
67ddbbe8aa16599cdf20a83bc01194d773059be3 refs/pull/205/head
3262d4d5c581886f2b76880c9520ec80800598f9 refs/pull/206/head
63df3676802fef62cf39ded4070412a823866558 refs/pull/207/head
05366d7f4a2525fafa80008c3180d268532ff0e3 refs/pull/208/head
db932c9871088ab16a3b7a665605295258a247ca refs/pull/209/head
4df760317900b155a74ba57e49b9e29f482eef0e refs/pull/21/head
cdb092bb310fc43058501180e638118da0be24f4 refs/pull/210/head
48099a09b41742745126959f86a7f431206da1ab refs/pull/211/head
bfd905c9e4571fd8d8be096387652ededde46d08 refs/pull/212/head
8983be89c7c93cced31d23c4b7689977a8b87794 refs/pull/213/head
740cc5012f50cdce9308c1888cbedac05d4d6cf0 refs/pull/214/head
a6bea6639ce83ccd9101ab512b0d583d04210283 refs/pull/215/head
47a233758d19431bbef5bf3d2af46804aec82d81 refs/pull/217/head
35e15a381f0a5f4fab33185996f5369bfc1f12b6 refs/pull/218/head
d3296984982348d3e252ac059c56c7767e810de6 refs/pull/219/head
8977e637f443abedec90135f92ad50762f351755 refs/pull/22/head
445b0da15d1d4847bad597e73e14c8c26f57e4f0 refs/pull/220/head
7f2d022d3d9b55bf812814f5d01896cbfa0fd4da refs/pull/222/head
27f8192a63b4545439da104d4440666063ff39f7 refs/pull/223/head
270972dd8a19da3baa01cba4af11e098016c7f77 refs/pull/224/head
5803eaf5bbab64de0db9bd0783a316016039c796 refs/pull/225/head
0d9f0b2a98c58ac49f8a60e283c586071098846c refs/pull/226/head
1db31ebdf0dcd9b895db5bbb10fff55601012d88 refs/pull/227/head
4f973441cd3bdbf1740b5e6eeab9a390594ae6e3 refs/pull/228/head
ad734eb7d3c8099b1e541eacb0850287cac5ab67 refs/pull/229/head
919f13ce2ee92cfb44b9c584e167b18437ec4f53 refs/pull/23/head
f975305391c6c1607b7fc35437b0615776721121 refs/pull/230/head
96f367ce741fb47103e41da9b450286f790efed9 refs/pull/230/merge
0ea36c3109d133869fdac5d0bedda52802714f75 refs/pull/231/head
7b46b4191b7d372a5fa9aa7d4b84fcad9bb829d5 refs/pull/232/head
c8e3d9f54b305526ca35a1547281eb0e3eaa9c14 refs/pull/233/head
2baff8fc30d9fc237a5a635a93f379f8145e1be7 refs/pull/235/head
60a3edbaa944ce5a8fa71147e7441f58847540b7 refs/pull/236/head
e601f16e20d58857c3fc75c3c5cd782b6648d35b refs/pull/237/head
6908e3951af265adca76ab5652a080dcecd23594 refs/pull/24/head
8353ce4c3d0e7751ad49ffdf1b4f89396773d7b6 refs/pull/240/head
38a0f777fb7b6b05d596982d95c2258f3cbcf073 refs/pull/241/head
3cf34b8b4ddfe3b7b9d6c76edba5839fcbc57c7e refs/pull/243/head
149d7d794a15b168b521337fffa50854ab4638b4 refs/pull/243/merge
1a7c352e006ac6e53528c74661745d952f60f547 refs/pull/244/head
9b17a5989e8d75c386f76ee1e5e93ba95cfe8d25 refs/pull/244/merge
40d08ee9c69bf16fc312e80820e4231250442cf3 refs/pull/245/head
8d0f6cecc4cd965cfa82d66671e70632e12f2260 refs/pull/245/merge
4543a060f144ed020bad034d74b0c8e63ddaca76 refs/pull/246/head
354583f35d65159b832be3d90420a6a482cd322b refs/pull/246/merge
5ed9046e7954575715f6f476fe91255f7c64203d refs/pull/247/head
0ddf9628bfcf7196a89a461162b2aea2a168a591 refs/pull/247/merge
768455920a2998c2cd604fe9bf3bc3f1d178f69b refs/pull/248/head
109b68a08202ce620dc5481b4c8bf7429e22516c refs/pull/248/merge
564837e9a62f2f978557949ca287cfd8afdd2c51 refs/pull/249/head
f371c63358fac016b7d0a5ea092efb58ff9dfc59 refs/pull/249/merge
eb76aa632b7a73c1b1c66ac17c6dec8bae57cde4 refs/pull/25/head
7611234a92738347aa9e19a237bfe0b09bbf7d11 refs/pull/250/head
081ead059ffca088f2eb967dee9fb5c25a389619 refs/pull/250/merge
ff9e8a12b3f5304960d39e49193c7afb8ca2454e refs/pull/251/head
b01fdb76549075a7dfbb9a469391d84dd7a5f7a0 refs/pull/251/merge
a91be102b1bab20cef7a94227499466e2b0f6919 refs/pull/252/head
1d3a1fdb5df7747543d40faff044154253ec7891 refs/pull/252/merge
c386d5c738e90a02960ae5616dae869277f4cebf refs/pull/253/head
903fde96c0f7fc9c2a55f6ec836bf763ca6427ea refs/pull/253/merge
e0898e36a245679a57a0897fd10d87986b629ef8 refs/pull/254/head
d063f7739f1f74161f2fa4b5263f1952329e110f refs/pull/254/merge
9d2635621d08a624f11da7e399b3745bf9fab842 refs/pull/255/head
84d19836b3cea348bf13baff54a889a2249b3bcf refs/pull/255/merge
bbe94f7337fa98974e9197fde9b2ddbe1905c04a refs/pull/256/head
b18b525a2d60dbbc154399bde4e77fb1eed44237 refs/pull/256/merge
de3b10eea17c8331c7d19e63888091ebf46ecf38 refs/pull/258/head
d72f68a47b199df5909955b88272d84ef886c78a refs/pull/258/merge
f2e64582d78f3d2a536216626b26dfeba3eebffe refs/pull/259/head
744ffd1ec99085c3c1e722f995d393d0a1d90acc refs/pull/259/merge
9b3bd5af2662c295ddba9d7074b71d977cae4725 refs/pull/26/head
67b17c2feccebbf3bf9c3ff91856ad51a427b4d7 refs/pull/261/head
1fc9e13ca8b5d46cc70fe211130bd6e7a630fb48 refs/pull/262/head
310e239e16c820f7c8b028a42bd17f85d34d7162 refs/pull/262/merge
331da45acb970d1142b217267c2e74121d0ecab0 refs/pull/264/head
e77a36abe0693ca1736b5509bb175ee39ef8e617 refs/pull/265/head
fff603defe02cbc2c07d5c8ce3b9832b61275eca refs/pull/265/merge
b38fcb77a6cf9e159743cb8e221b8b44f7f91799 refs/pull/268/head
3d13ebaf94a5f21306971508e4ab3cdd885452be refs/pull/269/head
78f1cf691edd98e30a7661b5310d45925f5e88ed refs/pull/27/head
a85dd8c2bba15bb78dd89a890515e4a40365671b refs/pull/270/head
b3867a91551ca2bc35cc0201fc0fe6585f4dce07 refs/pull/271/head
a7e27e16e15842aa8f8685494f67cfe83068c312 refs/pull/273/head
e8a3ddbb3e405c8f32432701267f49ae43de0ea6 refs/pull/274/head
b8571e14f147cc77698ca17c45e88772093777c7 refs/pull/276/head
d6753217510fb5cd2bca1015b61e1589fbb612f1 refs/pull/276/merge
349fdf1e0176c0c6016df9eaa8e79c8e3afb48ca refs/pull/277/head
faa65e8842aafe159e98599aef8f4f51101fb58d refs/pull/278/head
c2bc7ba38a6b0aa1df42f4b837b47e14eeb41b15 refs/pull/28/head
4e905b38b720bbba3d67b95ed02fc87dab1cdd4d refs/pull/280/head
86000c159699d27f5331f6576ed23b2b36ad3e31 refs/pull/282/head
42c2eb929cfd1ad616795df5fc48b856798d4d64 refs/pull/283/head
907430bdadd2ff32e64f9c624ca4cdc11e1f0991 refs/pull/285/head
347f1e31fe6adb1ffdf1f6b925060f9ef05988f5 refs/pull/286/head
262cbea1f25f4ede2f0eaaea0e3495e6e0d5f327 refs/pull/289/head
f2c0f1bcf5fb85fa81e8a427557af804907829cf refs/pull/29/head
155cfc306cb42a7e597bc0eccea6bba5ba6a4786 refs/pull/292/head
53efe07eacf92f4963f217416e1be667fb103c10 refs/pull/293/head
2ea11a6d18c5ec944f2f47c243b08f522a18a29c refs/pull/293/merge
da661919b91a8ca16572b7dc66951bd034e254f8 refs/pull/294/head
1043e9ed38e8b5fa3016bae66dba6372221d9027 refs/pull/295/head
683c8f210af6f9c42dc6b223207471a5f3051c2f refs/pull/296/head
ddc8ce302bd8e2420660046db4334627981263de refs/pull/297/head
77b98fab7506049f9d830fd6ad7784423a6cc56f refs/pull/299/head
37253aa0b6fbd77402f79ad2759155f991a39ed2 refs/pull/30/head
7b1e0db43786395636b112f41dd500163b58459b refs/pull/300/head
1d23717b4748ee269e28769e3fc50b47e2d4d1c7 refs/pull/301/head
9b36b1ce46cd9193218edbb144f1525fbbd52ede refs/pull/304/head
31fe14d0849f14502a5a673832cdfefe1541b3da refs/pull/305/head
46342fc917416d95a52969a9d363cfe4fd4a5a81 refs/pull/306/head
1be6eb5b4743d3b81f342e7398b87b5fd7d78b85 refs/pull/307/head
8b28aba87459eab3a481ab46e73e2a9a2dae6f5b refs/pull/308/head
96df03d007a2b1a76f0b0b4479f2462a332cd38d refs/pull/309/head
4bc7b7723914d89f02ba7e1efe95ad002b2b64bb refs/pull/31/head
9d5e5021cb6f039d28b8716737449f458a108dbe refs/pull/310/head
f982279a3ab9cad826e7a6bf190ca506b852f9b4 refs/pull/310/merge
7169586e0286947bb540635b888e26ce2f7ab3f1 refs/pull/32/head
67528d4a5398e3f420a02ef1be4501d72275d2f4 refs/pull/33/head
6ac520ac59ec177fd45deafaac4b7c53b6ed9b30 refs/pull/34/head
0cc4950453ab30d7015585f3dfc2eaf2579c7e19 refs/pull/36/head
0308def714aeb125ec8f83cffd73d1a5c8f66410 refs/pull/43/head
04151f701ba921a3ba1e2451568601f32b896353 refs/pull/44/head
44e24547521b3acfb5d74b13b564cfb0b9d42509 refs/pull/45/head
86e9087ab572b105145cbf6f5660859edd5e79e8 refs/pull/57/head
cd4a8b41cf637c220a9fe8292a65954a3b4ca219 refs/pull/59/head
6ac60de4577a087130e8f0444a4daac06591678f refs/pull/61/head
ab19494638b1bc7ba12d6f1e214ddc5ecffe4b76 refs/pull/63/head
0ddfd0ead7c38452685322ad4bf705fe5e0dfd12 refs/pull/65/head
6195693e3ad1087330dcb41f62d8c77f9122ae8a refs/pull/66/head
6d904ea56cd5dfae668b7e810471525c7eb58cc1 refs/pull/67/head
6116a90748ec4abfc0b5b55b77c351bf2c95fd75 refs/pull/68/head
5d783ce45866bdc43ab6f6bf62b44bd1c1849ec8 refs/pull/69/head
0ed7e786b5fc6b7e1af9bdaecd97fdae087d90f1 refs/pull/72/head
2760aa4ba47a68a962edd80cec3122725b185c66 refs/pull/73/head
d875fdbd0b56f45142cc0956c23ac2e47aefaaf8 refs/pull/74/head
5931d036ab5a213164906c5a42faa487cf4af417 refs/pull/77/head
f6c2c34910a2f013283e601858a74cf4466d7b36 refs/pull/78/head
5e978d85a26d2753d73699de0bf3a30fb25ae8ca refs/pull/81/head
1b44581308d4c86fca6c098dbe2e3d6497c340a8 refs/pull/82/head
de5399615c7ba8cec63b82617db4c9e30c0dc41a refs/pull/83/head
f11ce9b248b23be98d7a79540548a42dd6c7f1de refs/pull/84/head
6997e5a142d0f53586117c00dacd04f3d1ecd822 refs/pull/85/head
b7e48c538cf0474eb9646ec2a7aaf0177dced021 refs/pull/86/head
3d637e1302ffbd5d2d727badd75d5616d04134ab refs/pull/87/head
323542cba1cc93c3e2f81e02c1aed9ff45f58ea8 refs/pull/91/head
8cbda038677e41f45c8b48a76e17682ddeca0d51 refs/pull/93/head
eda432142d465d15013ebdf487302e34544b13ea refs/pull/96/head
014ce562a48bdeb6f5dcfb63dd9257b4815d4f84 refs/pull/97/head
016cd6a2fcb2657c61f26b709bbb1ee50677047f refs/pull/99/head
1b99c547b0293650516051a53b260ce4626ca76c refs/tags/0.0.0
4329602833699f30a9affaa94ab06d1934aac46c refs/tags/0.0.1
2b63fc844eee63bc95402465513c060b9962c3d9 refs/tags/0.0.2
7ff707f6f8c7d8aaac365475632892e2da581b6a refs/tags/0.0.3
a2aa24d236f7535236806190c91a88d791212a3b refs/tags/0.0.4
5dfc460876510988560170cee3702ab01b89587a refs/tags/0.0.5
110beefe0b9a4af05b09f2d33faf52740d9229a7 refs/tags/0.0.6
f764cdff4f9761262b014ffba3cff7b2710a7872 refs/tags/0.0.7
^3d7462a834b58b10b1af4b1a1e0eeb784835681b
6b24333510e9044cf4716a07bed65eeed6bc6393 refs/tags/0.0.8
6583ac70c326c3ee080c1d42d9ca3361dca816cd refs/tags/0.1.0
1e5cbc4e2142677d6695036a748344c8edb83e5c refs/tags/1.0.0
0a23770641f65a4de61daf5425a37ae32a3fd00d refs/tags/1.0.1
0a5bc04095a675662cf24757cc0640aa2204253b refs/tags/1.0.2
e0ec0f5f3af6f3e4d5e7a19d2af26b481acb6ba8 refs/tags/1.0.3
e0ec0f5f3af6f3e4d5e7a19d2af26b481acb6ba8 refs/tags/1.0.3-prerelease