Add SaveEpisodes controller

This commit is contained in:
2020-02-29 16:25:45 +01:00
parent db14f9d2b7
commit af4883784b
6 changed files with 94 additions and 42 deletions

View File

@@ -22,5 +22,12 @@ namespace EstusShots.Shared.Interfaces
/// <param name="parameter">Parameter object for loading a single episode</param>
/// <returns>The GetEpisode response object</returns>
Task<ApiResponse<GetEpisodeResponse>> GetEpisode(GetEpisodeParameter parameter);
/// <summary>
/// Creates or updates an episode object
/// </summary>
/// <param name="parameter">The parameter object</param>
/// <returns>The response object</returns>
Task<ApiResponse<SaveEpisodeResponse>> SaveEpisode(SaveEpisodeParameter parameter);
}
}

View File

@@ -92,4 +92,48 @@ namespace EstusShots.Shared.Models.Parameters
}
}
// SaveEpisode
/// <summary>
/// Parameter class for creating or updating episode objects
/// </summary>
public class SaveEpisodeParameter : IApiParameter
{
/// <summary>
/// The new or updated episode
/// </summary>
public Episode Episode { get; set; }
public SaveEpisodeParameter(Episode episode)
{
Episode = episode;
}
public SaveEpisodeParameter()
{
Episode = new Episode();
}
}
/// <summary>
/// Parameter class returned from the API after creating or updating an episode
/// </summary>
public class SaveEpisodeResponse : IApiResponse
{
/// <summary>
/// ID of the created or updated episode
/// </summary>
public Guid EpisodeId { get; set; }
public SaveEpisodeResponse(Guid episodeId)
{
EpisodeId = episodeId;
}
public SaveEpisodeResponse()
{
}
}
}