Skip to content

Commit 7b7bab4

Browse files
committed
booking_reference removal from cosmosDB seeder and add creation if not exists on first use in an env
1 parent 8822fd4 commit 7b7bab4

8 files changed

Lines changed: 21 additions & 39 deletions

File tree

data/CosmosDbSeeder/items/dev/core_data/booking_reference.json

Lines changed: 0 additions & 5 deletions
This file was deleted.

data/CosmosDbSeeder/items/int/core_data/booking_reference.json

Lines changed: 0 additions & 5 deletions
This file was deleted.

data/CosmosDbSeeder/items/local/core_data/booking_reference.json

Lines changed: 0 additions & 5 deletions
This file was deleted.

data/CosmosDbSeeder/items/pen/core_data/booking_reference.json

Lines changed: 0 additions & 5 deletions
This file was deleted.

data/CosmosDbSeeder/items/perf/core_data/booking_reference.json

Lines changed: 0 additions & 5 deletions
This file was deleted.

data/CosmosDbSeeder/items/prod/core_data/booking_reference.json

Lines changed: 0 additions & 5 deletions
This file was deleted.

data/CosmosDbSeeder/items/stag/core_data/booking_reference.json

Lines changed: 0 additions & 5 deletions
This file was deleted.

src/api/Nhs.Appointments.Persistance/Reference/BookingReferenceCosmosDocumentStore.cs

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,27 @@ public class BookingReferenceCosmosDocumentStore(ITypedDocumentCosmosStore<Booki
1111

1212
public async Task<int> GetNextSequenceNumber()
1313
{
14-
var incrementSequencePatch = PatchOperation.Increment("/sequence", 1);
15-
var docType = cosmosStore.GetDocumentType();
16-
var referenceGroupDocument = await cosmosStore.PatchDocument(docType, DocumentId, incrementSequencePatch);
17-
return referenceGroupDocument.Sequence;
14+
BookingReferenceDocument bookingReferenceDocument;
15+
16+
try
17+
{
18+
var incrementSequencePatch = PatchOperation.Increment("/sequence", 1);
19+
var docType = cosmosStore.GetDocumentType();
20+
bookingReferenceDocument = await cosmosStore.PatchDocument(docType, DocumentId, incrementSequencePatch);
21+
}
22+
catch(CosmosException ex) when (ex.StatusCode == System.Net.HttpStatusCode.NotFound)
23+
{
24+
bookingReferenceDocument = new BookingReferenceDocument
25+
{
26+
DocumentType = cosmosStore.GetDocumentType(),
27+
Id = DocumentId,
28+
Sequence = 0
29+
};
30+
31+
await cosmosStore.WriteAsync(bookingReferenceDocument);
32+
}
33+
34+
return bookingReferenceDocument.Sequence;
1835
}
1936
}
2037
}

0 commit comments

Comments
 (0)