feat(02-03): implement ISiteListService and SiteListService with admin URL derivation

- SiteInfo record added to Core/Models
- ISiteListService interface with GetSitesAsync signature
- SiteListService derives admin URL via Regex, connects via SessionManager
- Filters to Active sites only, excludes OneDrive personal (-my.sharepoint.com)
- Access denied ServerException wrapped as InvalidOperationException with actionable message
- DeriveAdminUrl marked internal static for unit testability
- InternalsVisibleTo added to AssemblyInfo.cs to expose internal to test project
- 2 DeriveAdminUrl tests pass; full suite: 53 pass, 4 skip, 0 fail
This commit is contained in:
Dev
2026-04-02 13:50:35 +02:00
parent 5c10840581
commit 78b3d4f759
4 changed files with 96 additions and 0 deletions

View File

@@ -0,0 +1,3 @@
namespace SharepointToolbox.Core.Models;
public record SiteInfo(string Url, string Title);