Class AchievementPushOutcome
What a push produced: which achievements the platform accepted, and what went wrong.
Inherited Members
Namespace: Serenity.Achievements.Application.Sync
Assembly: Serenity.Achievements.Application.dll
Syntax
public sealed class AchievementPushOutcome
Remarks
AuthenticationExpired exists because that one failure has a fix an author can act on immediately (sign in again), where every other failure just needs to be read and retried — the sign-in offer this flag drives is the Copilot fallback the sync window later builds.
Constructors
AchievementPushOutcome(bool, IReadOnlyList<string>, IReadOnlyList<string>, bool, IReadOnlyList<string>, string)
Creates a push outcome.
Declaration
public AchievementPushOutcome(bool succeeded, IReadOnlyList<string> savedApiNames, IReadOnlyList<string> failureMessages, bool authenticationExpired, IReadOnlyList<string> unfinishedCreations = null, string authenticationFailureLine = null)
Parameters
| Type | Name | Description |
|---|---|---|
| bool | succeeded | Whether the push as a whole succeeded. |
| IReadOnlyList<string> | savedApiNames | The achievements the platform accepted. |
| IReadOnlyList<string> | failureMessages | What went wrong, one message per failure. |
| bool | authenticationExpired | Whether the push failed because the sign-in session expired. |
| IReadOnlyList<string> | unfinishedCreations | One line per achievement the platform created during the push but never received its real details for, so it exists there half-made and has to be finished or removed by hand. |
| string | authenticationFailureLine | What to tell the author when |
Fields
AuthenticationExpiredLine
The line to show when a push failed because the sign-in session expired.
Declaration
public const string AuthenticationExpiredLine = "Your sign-in session expired — go back to Connect and sign in again."
Field Value
| Type | Description |
|---|---|
| string |
Properties
AuthenticationExpired
Declaration
public bool AuthenticationExpired { get; }
Property Value
| Type | Description |
|---|---|
| bool | Whether the push failed because the sign-in session expired. |
AuthenticationFailureLine
Declaration
public string AuthenticationFailureLine { get; }
Property Value
| Type | Description |
|---|---|
| string | The line to show when the push needs a sign-in it does not have: AuthenticationExpiredLine when a session ran out, or the connector's own words when there never was one. Empty when AuthenticationExpired is not set. |
FailureMessages
Declaration
public IReadOnlyList<string> FailureMessages { get; }
Property Value
| Type | Description |
|---|---|
| IReadOnlyList<string> | What went wrong, one message per failure. |
SavedApiNames
Declaration
public IReadOnlyList<string> SavedApiNames { get; }
Property Value
| Type | Description |
|---|---|
| IReadOnlyList<string> | The achievements the platform accepted. |
SavedLines
Declaration
public IReadOnlyList<string> SavedLines { get; }
Property Value
| Type | Description |
|---|---|
| IReadOnlyList<string> | One line per saved achievement, worded "Saved {apiName}" — the wording shared by every place a push outcome gets logged or displayed, so it only exists once. |
Succeeded
Declaration
public bool Succeeded { get; }
Property Value
| Type | Description |
|---|---|
| bool | Whether the push as a whole succeeded. |
UnfinishedCreations
Declaration
public IReadOnlyList<string> UnfinishedCreations { get; }
Property Value
| Type | Description |
|---|---|
| IReadOnlyList<string> | The achievements the platform created during the push but never got finished, one line each — they exist on the platform half-made and need finishing or removing there. |