| | | 1 | | using ArturRios.Heimdall.Shared.Security; |
| | | 2 | | using ArturRios.Mediator.Command; |
| | | 3 | | |
| | | 4 | | namespace ArturRios.Heimdall.Command.Input; |
| | | 5 | | |
| | | 6 | | /// <summary> |
| | | 7 | | /// Intent to end the caller's own Google-authenticated session (UC-26, FR-GO-18). Carries nothing |
| | | 8 | | /// but <see cref="ActingPersonId" />/<see cref="ActingRole" />, which the controller sets from the |
| | | 9 | | /// authenticated caller and never binds from the request. |
| | | 10 | | /// </summary> |
| | | 11 | | /// <remarks> |
| | | 12 | | /// The absence of any other field is the authorization rule, as it is for |
| | | 13 | | /// <see cref="ResendVerificationEmailCommand" />: a Google User id in the body would be a way to |
| | | 14 | | /// sign somebody else out, and UC-26 describes a Google User ending their own session. |
| | | 15 | | /// <see cref="ActingPersonId" /> holds the Google User's <c>PublicId</c> here — UC-25 issues the |
| | | 16 | | /// token claiming it in the same position a person's would occupy. |
| | | 17 | | /// </remarks> |
| | | 18 | | public class GoogleSignOutCommand : BaseCommand, IActorScoped |
| | | 19 | | { |
| | 20 | 20 | | public Guid ActingPersonId { get; set; } |
| | | 21 | | |
| | 6 | 22 | | public int ActingRole { get; set; } |
| | | 23 | | } |