yavsc/src/Yavsc.Api/Controllers
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Paul Schneider eb560045b9 Finalize FrontOffice accept/reject: role-aware, authz, signature; drop Signature.FilePath
FrontOfficeApiController.AcceptQuery/RejectQuery now resolve the actor
(provider vs client vs admin) from the query's PerformerId/ClientId and
authorize accordingly — a non-party caller is forbidden. Either party may
accept or reject. Acceptance may carry a PostIt signature, which is staged
on the query's linked estimate (Estimate.CommandId == queryId) and sets the
estimate's ProviderValidationDate / ClientValidationDate; a signature with
no linked estimate, or a signature on a reject, returns 400. Admin bypasses
authz but cannot sign.

The shared signature-staging logic (find-or-add the Signature row by
(EstimateId, Type), write Strokes/CoordinateMax/CapturedAtUtc) is extracted
into EstimateSignaturePersister, and BillingController.Sign now calls it.
The persister owns no disk I/O and no SaveChanges — the caller persists in
its own transaction.

Signature.Strokes is now the sole source of truth: drop the FilePath
property, remove the on-disk EstimateSignatureFileHelper (and its tests),
and add the DropSignatureFilePath migration. The legacy PNG prosign/clisign
flow is independent of Signature.FilePath and is unchanged.

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-09-21 16:15:18 +01:00
..
accounting refacto site settings 2026-09-17 23:54:36 +01:00
Business Finalize FrontOffice accept/reject: role-aware, authz, signature; drop Signature.FilePath 2026-09-21 16:15:18 +01:00
HairCut using clauses cleanup 2026-08-22 03:34:48 +01:00
IT refacto API prefix + nav.back 2026-08-20 20:50:52 +01:00
Musical using clauses cleanup 2026-08-22 03:34:48 +01:00
Relationship using clauses cleanup 2026-08-22 03:34:48 +01:00
Survey refactoring for integration 2026-06-06 21:10:48 +01:00
HyperLinkApiController.cs refacto API prefix + nav.back 2026-08-20 20:50:52 +01:00
MailingTemplateApiController.cs refacto API prefix + nav.back 2026-08-20 20:50:52 +01:00
MailTemplatingApiController.cs refacto API prefix + nav.back 2026-08-20 20:50:52 +01:00
NativeConfidentialController.cs Activity protection 2026-08-10 18:12:59 +01:00
PostRateApiController.cs using clauses cleanup 2026-08-22 03:34:48 +01:00
ProfileApiController.cs using clauses cleanup 2026-08-22 03:34:48 +01:00
ServiceApiController.cs using clauses cleanup 2026-08-22 03:34:48 +01:00