Admin
db38740139
refactor(application): co-locate each command/query with its handler
...
One file per use case under the feature folder (Tracks/PlayLists/Users),
dropping the Commands/Queries/Handlers sub-folders and their namespaces.
Each file now holds the record and its handler in namespace
Musify.Application.<Feature>; external usings updated accordingly.
Build: 0 warnings, 0 errors.
2026-07-05 04:12:59 +02:00
Admin
bf3b5ceedb
refactor: replace Ardalis.Result with ErrorOr across the app
...
Ardalis Result<T> carried incoherent success sub-statuses and a clunky
generic converter; ErrorOr models success-or-errors cleanly.
- Application: all commands/queries/handlers now return ErrorOr<T>
(non-generic Result -> ErrorOr<Success>); errors via Error.NotFound/
Conflict/Validation/Unauthorized/Failure; success via value or new Success()
- Drop ResultExtensions.As<>(): error propagation is now just return .Errors
- Rewrite HTTP mapping (ErrorOrHttpExtensions) off Error.Type; success maps
to 200 (value) or 204 (Success); Created still built in the endpoints
- Endpoints/gateway middleware: !IsSuccess -> IsError
- Swap Ardalis.Result package for ErrorOr 2.1.1 (remove unused ref from Worker)
Build: 0 warnings, 0 errors.
2026-07-05 04:05:43 +02:00
Admin
3b98a05c3b
chore(backend): install AI agent skills for the .NET stack
...
Run autoskills in backend/: detects .NET/C#/ASP.NET Core/Minimal API and
installs 13 skills for universal (.agents) and claude-code (.claude) agents,
with backend/skills-lock.json. Adds ASP.NET Core, Minimal API + OpenAPI,
file-upload and containerization skills on top of the prior C#/.NET set.
Removes the stale root skills from the old layout.
2026-07-05 03:48:31 +02:00
Admin
f2933caa90
chore: group .NET into backend/ and drop non-.NET test artifacts
...
- Move all .NET (6 projects, solution, Directory.*.props, nuget.config)
into backend/ so the monorepo root can host non-.NET projects later
- Remove throwaway test artifacts: player.html, pl.json
- Trim dead Flutter rules from .gitignore
Build from backend/Musify.slnx: 0 warnings, 0 errors.
2026-07-05 03:43:52 +02:00
Admin
c7fcf2d289
refactor: central package management, shared build props, security fix
...
- Add Directory.Packages.props (CPM): all package versions centralized,
remove Version attributes from every PackageReference
- Add Directory.Build.props: shared TargetFramework/Nullable/ImplicitUsings
- Drop redundant per-project RootNamespace/AssemblyName (default = project name)
and stale NuGet metadata (PackageId/Version/Authors/RepositoryUrl)
- Bump Microsoft.OpenApi to 2.9.0 (CVE-2026-49451, was transitive 2.0.0);
add explicit reference in Musify.Api which uses it directly
- Add repo-scoped nuget.config pinning nuget.org for reproducible restore
Build: 0 warnings, 0 errors.
2026-07-05 03:40:05 +02:00
Admin
3be31a6378
refactor: standardize project names to Musify.* and flatten layout
...
- Flatten nested per-repo folders into flat Musify.* projects at root
- Rename assemblies/csproj: Domain->Musify.Domain, Application->Musify.Application,
Infrastructure->Musify.Infrastructure, WebApi->Musify.Api, Worker->Musify.Worker,
StreamingGateway->Musify.StreamingGateway
- Rename WebApi.* namespaces to Musify.Api.*
- Update all ProjectReference paths and the solution file
- Consolidate stray per-repo dotfiles; add root .gitattributes
- Move flutter client out to _archive
2026-07-05 03:32:48 +02:00
Admin
638e446bef
chore: move flutter client out of monorepo into _archive
2026-07-05 03:26:36 +02:00
Admin
7a931d2d6f
chore: bring flutter client, docs, deploy and tools into monorepo
2026-07-05 03:22:24 +02:00
Admin
fcc81e2a74
feat: add unified Musify solution spanning all projects
...
Groups Domain/Application/Infrastructure under Core and
WebApi/Worker/StreamingGateway under Hosts. Removes the per-repo
.slnx files now superseded by the single solution.
2026-07-05 03:21:32 +02:00
Admin
fa3a687cc5
chore: import Musify.StreamingGateway into monorepo (preserving history)
...
git-subtree-dir: Musify.StreamingGateway
git-subtree-mainline: 28426571e6
git-subtree-split: a8ff05892d
2026-07-05 03:20:50 +02:00
Admin
61c07c8190
chore: import Musify.Worker into monorepo (preserving history)
...
git-subtree-dir: Musify.Worker
git-subtree-mainline: c3cdd3bc0f
git-subtree-split: 868860fff9
2026-07-05 03:20:48 +02:00
Admin
fc109ca384
chore: import Musify.WebApi into monorepo (preserving history)
...
git-subtree-dir: Musify.WebApi
git-subtree-mainline: 9d433868cc
git-subtree-split: ca8750c3b4
2026-07-05 03:20:47 +02:00
Admin
882c35d2fa
chore: import MusifyBackend into monorepo (preserving history)
...
git-subtree-dir: MusifyBackend
git-subtree-mainline: 6829e769ed
git-subtree-split: ed7b00c2cc
2026-07-05 03:20:43 +02:00
Admin
d1c6e0ae0b
chore: initialize Musify monorepo
2026-07-05 03:20:11 +02:00
Admin
108e63c7c2
chore: preserve local dev config before monorepo import
2026-07-05 03:19:56 +02:00
Admin
43c5061fac
Adjust
2026-06-03 00:32:37 +02:00
Admin
c89645564d
Set Content-Type on transferred objects so .m4a is served as audio/mp4
2026-06-02 19:26:45 +02:00
Admin
48305ff052
Serve audio .m4a by range; remove DASH manifest rewriting
2026-06-02 19:05:19 +02:00
Admin
809f16530b
Point streaming config to single .m4a; drop DASH ffmpeg settings
2026-06-02 19:05:18 +02:00
Admin
c1d57098b1
Migrate audio transcoding from DASH to a single AAC (.m4a) file
2026-06-02 19:05:11 +02:00
Admin
be8fbbbcdc
Fix bugs
2026-06-01 22:48:42 +02:00
Admin
6da1e8d5cd
Simplify user sync: rely on EF change tracking instead of manual hasChanges flag
2026-06-01 22:11:48 +02:00
Admin
e70ccb8e58
Auto-set CreatedAt/UpdatedAt via EF interceptor; standardize timestamp names across entities
2026-06-01 22:04:52 +02:00
Admin
8d87d59889
Changes
2026-06-01 20:50:46 +02:00
Admin
0e30167526
Remove checks
2026-06-01 20:41:34 +02:00
Admin
06c13cf522
Link created track to its owner via UserHasTrack
2026-06-01 19:07:33 +02:00
Admin
d4eac95ced
Add endpoint to list paginated tracks of a playlist
2026-06-01 18:54:26 +02:00
Admin
e1e1c161db
Add paginated query for tracks of a playlist; make PlayListHasTrack.Track navigation non-nullable
2026-06-01 18:54:25 +02:00
Admin
42122c65fc
Extract storage key building into a shared StorageKey helper
2026-06-01 16:45:37 +02:00
Admin
9f8abb2b6c
Sync user profile (incl. picture) from token claims on validation
2026-06-01 01:47:47 +02:00
Admin
11af429ecd
Add user profile picture URL synced from the identity provider on login
2026-06-01 01:47:47 +02:00
Admin
b11e945a29
Add playlist endpoints to add and remove tracks
2026-06-01 01:20:18 +02:00
Admin
7c44e6aa73
Add and remove tracks from playlists (commands + handlers with ownership checks)
2026-06-01 01:20:17 +02:00
Admin
842b1ffd08
Cleanup
2026-06-01 00:24:41 +02:00
Admin
aba042b8b3
Initial commit: Musify.Worker background worker (MassTransit consumers for picture/audio processing)
2026-06-01 00:19:45 +02:00
Admin
539899741d
Remove unused usings
2026-05-31 19:28:08 +02:00
Admin
ceda236e9e
Allow any CORS origin in Development
2026-05-31 19:25:15 +02:00
Admin
ad9080be66
Return 400 for validation errors without identifier and enable permissive CORS in Development
2026-05-31 19:25:15 +02:00
Admin
ba9b744e5d
Fix audio DASH workflow: dispose source stream before delete and store S3 folder key as AudioFolderName
2026-05-31 19:25:15 +02:00
Admin
1e06f60a1b
Use long
2026-05-31 18:25:40 +02:00
Admin
584a8833c2
Use long
2026-05-31 18:25:39 +02:00
Admin
1bd8bb4bd6
Fixes on scalar
2026-05-30 03:44:32 +02:00
Admin
66a2ccabd5
Proxy
2026-05-30 03:30:32 +02:00
Admin
b87b4a7dd5
Proxy
2026-05-30 03:29:21 +02:00
Admin
ab86ef95c1
Use development
2026-05-30 02:30:18 +02:00
Admin
7c2fffe8ac
Remove unused using
2026-05-30 02:27:12 +02:00
Admin
79d442d957
BugFix
2026-05-30 02:26:33 +02:00
Admin
1b68ea7231
Changes
2026-05-30 02:24:55 +02:00
Admin
20c0c33cde
Add project files.
2026-05-30 02:16:39 +02:00
Admin
bbcb9e22ab
Add .gitattributes and .gitignore.
2026-05-30 02:16:37 +02:00
Admin
a5a05c1ed4
Update endpoint
2026-05-29 22:42:48 +02:00
Admin
f7969c875b
??
2026-05-29 22:37:51 +02:00
Admin
31b35bd681
Use if condition
2026-05-29 22:37:32 +02:00
Admin
8b46547b20
Use null
2026-05-29 22:36:33 +02:00
Admin
9e68e12903
Current User
2026-05-29 22:29:54 +02:00
Admin
21f4855cc6
Added auth
2026-05-29 16:02:34 +02:00
Admin
4ad6e8a20f
Remove tests
2026-05-29 15:47:38 +02:00
Admin
53067358df
Remove docs and agents
2026-05-29 15:45:53 +02:00
Admin
098f97473d
Remove tests
2026-05-29 15:45:31 +02:00
Admin
acec097773
Remove tests
2026-05-29 15:44:20 +02:00
Admin
48662d6adf
Small changes
2026-05-29 13:49:49 +02:00
Admin
51dd877a44
Added tests
2026-05-29 13:49:44 +02:00
Admin
b931958b16
Added tests
2026-05-29 13:37:34 +02:00
Admin
d387708e3a
PascalCase
2026-05-29 02:28:35 +02:00
Admin
2fa364a813
PascalCase
2026-05-29 02:26:37 +02:00
Admin
c85039ddc4
Rename
2026-05-29 01:57:28 +02:00
Admin
0d5a6df27b
Rename
2026-05-29 01:57:27 +02:00
Admin
07eaff5791
Changes
2026-05-29 01:48:48 +02:00
Admin
7894126f97
Changes
2026-05-29 01:48:46 +02:00
Admin
874b0d5a81
Remove unused usings
2026-05-29 00:25:26 +02:00
Admin
f694571e1a
Fixes and config
2026-05-28 23:49:09 +02:00
Admin
9000e563c4
Remove keycloak
2026-05-28 23:16:35 +02:00
Admin
b3879c1baa
Remove keycloak
2026-05-28 23:16:30 +02:00
Admin
49edd2b69f
Change
2026-05-28 23:14:32 +02:00
Admin
1deab7731b
Change on filter
2026-05-28 22:06:09 +02:00
Admin
76b5c0b49d
validators
2026-05-28 21:53:46 +02:00
Admin
2f7f996faf
Remove guid as is unvalid
2026-05-28 21:49:18 +02:00
Admin
258f3850ed
Update endpoints
2026-05-28 21:44:28 +02:00
Admin
d52b55bc27
Update packages
2026-05-28 21:37:46 +02:00
Admin
73d20c63f6
Add project files.
2026-05-28 21:35:31 +02:00
Admin
af75e277c4
Add .gitattributes and .gitignore.
2026-05-28 21:35:29 +02:00
Admin
59eb243540
Change on files
2026-05-28 21:07:49 +02:00
Admin
b8c2de705d
PreventOverwrite
2026-05-28 21:04:09 +02:00
Admin
d60daf6272
Update structure
2026-05-28 20:42:38 +02:00
Admin
689144eae4
Update structure
2026-05-28 20:42:35 +02:00
Admin
663495c941
Update structure
2026-05-28 20:41:03 +02:00
Admin
5c75b611f0
1
2026-05-28 18:37:54 +02:00
Admin
868af6dc49
Changes
2026-05-14 22:22:47 +02:00
Admin
e003c186b8
Compilation fixes
2026-05-14 22:15:26 +02:00
Admin
f62cf057d2
Fixes and a lot of changes
2026-05-14 22:13:22 +02:00
Admin
80f44422a0
Changes
2026-05-14 21:42:31 +02:00
Admin
91ec85760e
Generated response
2026-05-14 19:53:26 +02:00
Admin
0ac921f748
Update plans
2026-05-14 18:48:00 +02:00
Admin
a4128d0953
Update delete workflows
2026-05-14 18:24:20 +02:00
Admin
7215eebb5a
A lot of changes
2026-05-14 14:32:19 +02:00
Admin
d2b83524cf
Bump version
2026-05-14 01:32:29 +02:00
Admin
214537697e
Update migrations
2026-05-14 01:06:30 +02:00
Admin
8cda85e562
Renames
2026-05-14 01:05:07 +02:00
Admin
8ad203c974
Safe code and changes
2026-05-14 01:00:44 +02:00
Admin
7f0266d914
Remove processingStatus
2026-05-13 21:56:34 +02:00