|
5 | 5 | using System.Net.Http;
|
6 | 6 | using System.Threading;
|
7 | 7 | using System.Threading.Tasks;
|
| 8 | +using AutoMapper; |
8 | 9 | using GovUk.Education.ExploreEducationStatistics.Admin.Requests.Public.Data;
|
9 | 10 | using GovUk.Education.ExploreEducationStatistics.Admin.Services.Interfaces.Public.Data;
|
10 | 11 | using GovUk.Education.ExploreEducationStatistics.Admin.Services.Interfaces.Security;
|
@@ -32,7 +33,8 @@ public class DataSetVersionService(
|
32 | 33 | PublicDataDbContext publicDataDbContext,
|
33 | 34 | IProcessorClient processorClient,
|
34 | 35 | IPublicDataApiClient publicDataApiClient,
|
35 |
| - IUserService userService) |
| 36 | + IUserService userService, |
| 37 | + IMapper mapper) |
36 | 38 | : IDataSetVersionService
|
37 | 39 | {
|
38 | 40 | public async Task<Either<ActionResult, PaginatedListViewModel<DataSetLiveVersionSummaryViewModel>>>
|
@@ -73,6 +75,31 @@ public async Task<Either<ActionResult, PaginatedListViewModel<DataSetLiveVersion
|
73 | 75 | });
|
74 | 76 | }
|
75 | 77 |
|
| 78 | + public async Task<Either<ActionResult, DataSetVersionInfoViewModel>> GetDataSetVersion( |
| 79 | + Guid dataSetVersionId, |
| 80 | + CancellationToken cancellationToken = default) |
| 81 | + { |
| 82 | + return await userService.CheckIsBauUser() |
| 83 | + .OnSuccess(async () => await GetVersion( |
| 84 | + dataSetVersionId: dataSetVersionId, |
| 85 | + cancellationToken: cancellationToken)) |
| 86 | + .OnSuccess(mapper.Map<DataSetVersionInfoViewModel>); |
| 87 | + } |
| 88 | + |
| 89 | + public async Task<Either<ActionResult, DataSetVersion>> GetDataSetVersion( |
| 90 | + Guid dataSetId, |
| 91 | + SemVersion version, |
| 92 | + CancellationToken cancellationToken = default) |
| 93 | + { |
| 94 | + return await publicDataDbContext.DataSetVersions |
| 95 | + .AsNoTracking() |
| 96 | + .Include(dsv => dsv.DataSet) |
| 97 | + .Where(dsv => dsv.DataSetId == dataSetId) |
| 98 | + .Where(dsv => dsv.VersionMajor == version.Major) |
| 99 | + .Where(dsv => dsv.VersionMinor == version.Minor) |
| 100 | + .SingleOrNotFoundAsync(cancellationToken); |
| 101 | + } |
| 102 | + |
76 | 103 | public async Task<List<DataSetVersionStatusSummary>> GetStatusesForReleaseVersion(
|
77 | 104 | Guid releaseVersionId,
|
78 | 105 | CancellationToken cancellationToken = default)
|
@@ -129,20 +156,6 @@ public async Task<Either<ActionResult, DataSetVersionSummaryViewModel>> Complete
|
129 | 156 | .OnSuccess(async dataSetVersion => await MapDraftVersionSummary(dataSetVersion, cancellationToken));
|
130 | 157 | }
|
131 | 158 |
|
132 |
| - public async Task<Either<ActionResult, DataSetVersion>> GetDataSetVersion( |
133 |
| - Guid dataSetId, |
134 |
| - SemVersion version, |
135 |
| - CancellationToken cancellationToken = default) |
136 |
| - { |
137 |
| - return await publicDataDbContext.DataSetVersions |
138 |
| - .AsNoTracking() |
139 |
| - .Include(dsv => dsv.DataSet) |
140 |
| - .Where(dsv => dsv.DataSetId == dataSetId) |
141 |
| - .Where(dsv => dsv.VersionMajor == version.Major) |
142 |
| - .Where(dsv => dsv.VersionMinor == version.Minor) |
143 |
| - .SingleOrNotFoundAsync(cancellationToken); |
144 |
| - } |
145 |
| - |
146 | 159 | public async Task<Either<ActionResult, Unit>> DeleteVersion(
|
147 | 160 | Guid dataSetVersionId,
|
148 | 161 | CancellationToken cancellationToken = default)
|
@@ -175,7 +188,7 @@ public async Task<Either<ActionResult, DataSetDraftVersionViewModel>> UpdateVers
|
175 | 188 | CancellationToken cancellationToken = default)
|
176 | 189 | {
|
177 | 190 | return await userService.CheckIsBauUser()
|
178 |
| - .OnSuccess(async () => await GetDataSetVersion( |
| 191 | + .OnSuccess(async () => await GetVersion( |
179 | 192 | dataSetVersionId: dataSetVersionId,
|
180 | 193 | cancellationToken: cancellationToken))
|
181 | 194 | .OnSuccessDo(dataSetVersion => CheckCanUpdateVersion(dataSetVersion, updateRequest))
|
@@ -267,7 +280,7 @@ private async Task<DataSetVersionSummaryViewModel> MapDraftVersionSummary(
|
267 | 280 | };
|
268 | 281 | }
|
269 | 282 |
|
270 |
| - private async Task<Either<ActionResult, DataSetVersion>> GetDataSetVersion( |
| 283 | + private async Task<Either<ActionResult, DataSetVersion>> GetVersion( |
271 | 284 | Guid dataSetVersionId,
|
272 | 285 | CancellationToken cancellationToken)
|
273 | 286 | {
|
|
0 commit comments