Commit graph

119 commits

Author SHA1 Message Date
0e95e28327
refactor(model): move BlogPost DTO from PostIt.Models to Yavsc.Blogspot
BlogPost is shared between the server (Yavsc.Server/Models/Blog/
BlogPost.cs is the EF entity) and any client that talks to the
blogs API. Keeping the client-side DTO in PostIt.Models made
sense when there was only one consumer; now that the
Yavsc.Api.Client project is about to host BlogApiClient alongside
CircleApiClient and BlogAclApiClient, the DTO has to live in a
layer both the client project and PostIt can reference without
inverting the dependency.

Yavsc.Abstract is the existing home for cross-tier interfaces
and DTOs (IBlogPost, IBlogPostPayLoad, IApplicationUser).
Yavsc.Blogspot is the sub-namespace already used by the
matching interface, so the new concrete class follows.

Why not move Circle and CircleAuthorizationToBlogPost at the
same time? Both depend on the concrete ApplicationUser class
(via the Owner and Target/Allowed navigation properties) which
lives in Yavsc.Server. Moving them would mean either dragging
ApplicationUser into the abstract layer (huge blast radius —
auth, billing, chat, etc.) or weakening the navigation
properties (breaks EF Core shaping). They're staying where
they are; the new Yavsc.Api.Client will get DTO counterparts
instead.

Updated call sites:
- 4 .cs files: replace 'using PostIt.Models;' with
  'using Yavsc.Blogspot;' where the file was actually using
  BlogPost. Files that only used SignaturePadData keep their
  'using PostIt.Models;' — that type stays put.
- 1 .axaml file: xmlns:models="using:PostIt.Models" ->
  xmlns:models="using:Yavsc.Blogspot" (one DataTemplate for
  the post list in MainPage).

Build + tests green (51/51).
2026-08-17 23:45:45 +01:00
cd03b04755
re-refacto BlogPost serialization
Some checks failed
Dotnet build and test / build (push) Has been cancelled
Dotnet build and test / log-the-inputs (push) Has been cancelled
2026-08-05 21:11:22 +01:00
64547840e4
refacto BlogPost serialization
Some checks failed
Dotnet build and test / log-the-inputs (push) Has been cancelled
Dotnet build and test / build (push) Has been cancelled
2026-08-05 21:05:14 +01:00
b25e0e842e
refacto blogPost
Some checks failed
Dotnet build and test / log-the-inputs (push) Has been cancelled
Dotnet build and test / build (push) Has been cancelled
2026-08-03 01:36:12 +01:00
f3bb039d2f WIP audiences 2026-07-12 02:42:13 +01:00
Lum
bbdcc7f2ad Blog: render user avatar through a null-safe helper
GET /BlogSpot/Details/1 retournait 500 (avec un 500-sur-500 sur
la page d'erreur elle-même) parce que DisplayTemplates
/ApplicationUser.cshtml faisait `var avuri = "/Avatars/" +
Model.UserName + ".s.png"` : avec <Nullable>enable</Nullable>,
Razor émet un null-check implicite sur Model.UserName et lève
NullReferenceException quand l'auteur n'a pas de UserName
posé (donnée héritée, user partiellement initialisé).

- UserDisplayHelpers.AvatarSrc : helper statique pur dans
  Yavsc.Abstract.Identity qui retourne
  YavscConstants.DefaultAvatar pour user null / UserName vide
  ou whitespace, et un path /avatars/<name>.s.png sinon.
- ApplicationUser.cshtml : utilise le helper.
- Tests : 4 cas (null, vide, whitespace, valide) dans
  Yavsc.Org.Tests/NonRegression.

Bonus : le path d'avatar passe de "/Avatars/" (S majuscule,
ne résolvait pas dans le middleware de fichiers statiques) à
YavscConstants.AvatarsPath ("/avatars" minuscule), pour fermer
l'autre trou que centraliser le calcul permettait de fixer
proprement.
2026-07-11 19:41:09 +01:00
6ac264fa2c tests 2026-07-06 00:47:35 +01:00
7b3a236bcc refacto query status 2026-07-04 22:35:53 +01:00
ee6cb34c23 renaming Reviewed 2026-07-04 22:25:59 +01:00
90dfe9c13f drop the deigner.cs 2026-07-04 16:06:02 +01:00
1d26cbdf3d refacto chathub 2026-07-04 15:28:07 +01:00
0cc82fec5d bug fix IUserSettings 2026-06-30 23:55:43 +01:00
1751145be8 Exploiting GitVersion 2026-06-28 14:11:26 +01:00
c1f4d19975 fices the UI 2026-06-15 02:55:22 +01:00
bdc974b29b érrance 2026-06-12 12:47:04 +01:00
bba719c8c1 doc : Architecute 2026-06-12 12:34:30 +01:00
e98bba4247 refacts and PostIt Nav 2026-06-11 20:02:32 +01:00
80144bf9fc refacts, and launching Blogs 2026-06-04 22:04:20 +01:00
e24208e77b refact 2026-05-30 19:34:22 +01:00
1aafb7cc7d IModerationService 2026-05-30 18:20:17 +01:00
a90cdc08b8 docker composes 2026-05-30 15:41:59 +01:00
95dec3636a Use InMemory db driver at testing 2026-05-28 22:18:26 +01:00
3b4376a5f0 repo refs 2026-05-24 20:55:29 +01:00
5620213cf5 better 2026-04-19 20:36:03 +01:00
Paul Schneider
e042e34bf7 refact and login 2026-03-09 02:07:42 +00:00
Paul Schneider
cbd5822fa2 diable nullable 2026-03-01 17:25:25 +00:00
Paul Schneider
40e8e08690 reorg 2026-02-28 21:17:54 +00:00
Paul Schneider
45514010f2 REORG 2026-02-14 16:54:27 +00:00
Paul Schneider
bcadc733bb refacts 2025-11-16 15:53:13 +00:00
Paul Schneider
44cbaefa9c User list 2025-08-19 21:32:17 +01:00
Paul Schneider
997c39703a Authorizations 2025-08-18 11:27:13 +01:00
Paul Schneider
5c046dfa88 build cli 2025-07-16 00:47:50 +01:00
Paul Schneider
8fc1153e59 testing 2025-07-14 20:35:13 +01:00
Paul Schneider
253a2919f3 misc 2025-07-07 07:49:18 +01:00
Paul Schneider
21cd878839 fixies the refact of blog spot index 2025-06-29 19:53:56 +01:00
Paul Schneider
9b7a6c0125 refact 2025-06-29 18:44:35 +01:00
Paul Schneider
39788f46f9 migration net9.0 2025-06-16 02:30:32 +01:00
Paul Schneider
03b098f37e a description ? 2025-06-08 15:23:46 +01:00
Paul Schneider
5998c474af bump sdk to net-9 2025-06-08 14:41:50 +01:00
Paul Schneider
380f2314dc Code cleanup 2025-03-04 18:05:21 +00:00
Paul Schneider
b9ba97f5e8 User settings 2025-02-24 23:29:48 +00:00
Paul Schneider
71262647b3 permission handling 2025-02-23 20:23:34 +00:00
Paul Schneider
9e6a4f7d13 Get User Id from Web API 2025-02-17 23:57:12 +00:00
Paul Schneider
f2e54953c0 references cleanup 2025-02-16 18:43:32 +00:00
Paul Schneider
29303d5aea custom ProfileService 2025-02-15 20:06:07 +00:00
Paul Schneider
8e8f4d3896 refactoring 2025-02-14 22:44:33 +00:00
Paul Schneider
a16188338a IdentityServer8 2025-02-08 20:06:24 +00:00
Paul Schneider
fdf5ee915e Fogo 2024-12-14 20:21:41 +00:00
Paul Schneider
277dff7d61 Login registration 2024-11-23 14:23:47 +00:00
Paul Schneider
8132db37d0 Local Passwords validation 2024-11-06 13:00:34 +00:00