diff --git a/src/Examples/GettingStarted/Models/Book.cs b/src/Examples/GettingStarted/Models/Book.cs
index 063b2f7..eac2413 100644
--- a/src/Examples/GettingStarted/Models/Book.cs
+++ b/src/Examples/GettingStarted/Models/Book.cs
@@ -5,7 +5,7 @@
namespace GettingStarted.Models
{
[UsedImplicitly(ImplicitUseTargetFlags.Members)]
- public sealed class Book : MongoIdentifiable
+ public sealed class Book : MongoObjectIdentifiable
{
[Attr]
public string Title { get; set; }
diff --git a/src/Examples/JsonApiDotNetCoreMongoDbExample/Models/TodoItem.cs b/src/Examples/JsonApiDotNetCoreMongoDbExample/Models/TodoItem.cs
index 42962c2..d1dc2c2 100644
--- a/src/Examples/JsonApiDotNetCoreMongoDbExample/Models/TodoItem.cs
+++ b/src/Examples/JsonApiDotNetCoreMongoDbExample/Models/TodoItem.cs
@@ -6,7 +6,7 @@
namespace JsonApiDotNetCoreMongoDbExample.Models
{
[UsedImplicitly(ImplicitUseTargetFlags.Members)]
- public sealed class TodoItem : MongoIdentifiable
+ public sealed class TodoItem : MongoObjectIdentifiable
{
[Attr]
public string Description { get; set; }
diff --git a/src/JsonApiDotNetCore.MongoDb/Resources/IMongoIdentifiable.cs b/src/JsonApiDotNetCore.MongoDb/Resources/IMongoIdentifiable.cs
new file mode 100644
index 0000000..d1c110c
--- /dev/null
+++ b/src/JsonApiDotNetCore.MongoDb/Resources/IMongoIdentifiable.cs
@@ -0,0 +1,11 @@
+using JsonApiDotNetCore.Resources;
+
+namespace JsonApiDotNetCore.MongoDb.Resources
+{
+ ///
+ /// Marker interface to indicate a resource that is stored in MongoDB.
+ ///
+ public interface IMongoIdentifiable : IIdentifiable
+ {
+ }
+}
diff --git a/src/JsonApiDotNetCore.MongoDb/Resources/MongoIdentifiable.cs b/src/JsonApiDotNetCore.MongoDb/Resources/MongoObjectIdentifiable.cs
similarity index 72%
rename from src/JsonApiDotNetCore.MongoDb/Resources/MongoIdentifiable.cs
rename to src/JsonApiDotNetCore.MongoDb/Resources/MongoObjectIdentifiable.cs
index ded90d5..630b47d 100644
--- a/src/JsonApiDotNetCore.MongoDb/Resources/MongoIdentifiable.cs
+++ b/src/JsonApiDotNetCore.MongoDb/Resources/MongoObjectIdentifiable.cs
@@ -1,13 +1,12 @@
-using JsonApiDotNetCore.Resources;
using MongoDB.Bson;
using MongoDB.Bson.Serialization.Attributes;
namespace JsonApiDotNetCore.MongoDb.Resources
{
///
- /// A convenient basic implementation of for use with MongoDB models.
+ /// Basic implementation of a JSON:API resource whose Id is stored as a 12-byte hexadecimal ObjectId in MongoDB.
///
- public abstract class MongoIdentifiable : IIdentifiable
+ public abstract class MongoObjectIdentifiable : IMongoIdentifiable
{
///
[BsonId]
diff --git a/src/JsonApiDotNetCore.MongoDb/Resources/MongoStringIdentifiable.cs b/src/JsonApiDotNetCore.MongoDb/Resources/MongoStringIdentifiable.cs
new file mode 100644
index 0000000..5426c5d
--- /dev/null
+++ b/src/JsonApiDotNetCore.MongoDb/Resources/MongoStringIdentifiable.cs
@@ -0,0 +1,28 @@
+using MongoDB.Bson.Serialization.Attributes;
+using MongoDB.Bson.Serialization.IdGenerators;
+
+namespace JsonApiDotNetCore.MongoDb.Resources
+{
+ ///
+ /// Basic implementation of a JSON:API resource whose Id is stored as a free-format string in MongoDB. Intended for resources that are created using
+ /// client-generated IDs.
+ ///
+ public abstract class MongoStringIdentifiable : IMongoIdentifiable
+ {
+ ///
+ [BsonId(IdGenerator = typeof(StringObjectIdGenerator))]
+ public virtual string Id { get; set; }
+
+ ///
+ [BsonIgnore]
+ public string StringId
+ {
+ get => Id;
+ set => Id = value;
+ }
+
+ ///
+ [BsonIgnore]
+ public string LocalId { get; set; }
+ }
+}
diff --git a/src/JsonApiDotNetCore.MongoDb/Serialization/Building/IgnoreRelationshipsResponseResourceObjectBuilder.cs b/src/JsonApiDotNetCore.MongoDb/Serialization/Building/IgnoreRelationshipsResponseResourceObjectBuilder.cs
index 87171e0..4a23cf3 100644
--- a/src/JsonApiDotNetCore.MongoDb/Serialization/Building/IgnoreRelationshipsResponseResourceObjectBuilder.cs
+++ b/src/JsonApiDotNetCore.MongoDb/Serialization/Building/IgnoreRelationshipsResponseResourceObjectBuilder.cs
@@ -1,4 +1,4 @@
-using System.Collections.Generic;
+using System.Collections.Generic;
using JsonApiDotNetCore.Configuration;
using JsonApiDotNetCore.MongoDb.Resources;
using JsonApiDotNetCore.Queries;
@@ -22,7 +22,7 @@ public IgnoreRelationshipsResponseResourceObjectBuilder(ILinkBuilder linkBuilder
///
protected override RelationshipEntry GetRelationshipData(RelationshipAttribute relationship, IIdentifiable resource)
{
- if (resource is MongoIdentifiable)
+ if (resource is IMongoIdentifiable)
{
return null;
}
diff --git a/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/AtomicOperations/Creating/AtomicCreateResourceWithClientGeneratedIdTests.cs b/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/AtomicOperations/Creating/AtomicCreateResourceWithClientGeneratedIdTests.cs
index 6ef4930..92d5f17 100644
--- a/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/AtomicOperations/Creating/AtomicCreateResourceWithClientGeneratedIdTests.cs
+++ b/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/AtomicOperations/Creating/AtomicCreateResourceWithClientGeneratedIdTests.cs
@@ -32,7 +32,7 @@ public async Task Can_create_resource_with_client_generated_string_ID_having_sid
{
// Arrange
TextLanguage newLanguage = _fakers.TextLanguage.Generate();
- newLanguage.Id = "507f191e810c19729de860ea";
+ newLanguage.Id = "free-format-client-generated-id";
await _testContext.RunOnDatabaseAsync(async db =>
{
@@ -88,7 +88,7 @@ public async Task Can_create_resource_with_client_generated_string_ID_having_no_
{
// Arrange
MusicTrack newTrack = _fakers.MusicTrack.Generate();
- newTrack.Id = "5ffcc0d1d69a27c92b8c62dd";
+ newTrack.Id = "free-format-client-generated-id";
await _testContext.RunOnDatabaseAsync(async db =>
{
diff --git a/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/AtomicOperations/Lyric.cs b/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/AtomicOperations/Lyric.cs
index c9a23f4..afacade 100644
--- a/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/AtomicOperations/Lyric.cs
+++ b/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/AtomicOperations/Lyric.cs
@@ -7,7 +7,7 @@
namespace JsonApiDotNetCoreMongoDbExampleTests.IntegrationTests.AtomicOperations
{
[UsedImplicitly(ImplicitUseTargetFlags.Members)]
- public sealed class Lyric : MongoIdentifiable
+ public sealed class Lyric : MongoObjectIdentifiable
{
[Attr]
public string Format { get; set; }
diff --git a/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/AtomicOperations/MusicTrack.cs b/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/AtomicOperations/MusicTrack.cs
index 25a1b7f..8443052 100644
--- a/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/AtomicOperations/MusicTrack.cs
+++ b/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/AtomicOperations/MusicTrack.cs
@@ -9,7 +9,7 @@
namespace JsonApiDotNetCoreMongoDbExampleTests.IntegrationTests.AtomicOperations
{
[UsedImplicitly(ImplicitUseTargetFlags.Members)]
- public sealed class MusicTrack : MongoIdentifiable
+ public sealed class MusicTrack : MongoStringIdentifiable
{
[RegularExpression(@"(?im)^[{(]?[0-9A-F]{8}[-]?(?:[0-9A-F]{4}[-]?){3}[0-9A-F]{12}[)}]?$")]
public override string Id { get; set; }
diff --git a/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/AtomicOperations/Performer.cs b/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/AtomicOperations/Performer.cs
index 5d15d9c..2f17e9d 100644
--- a/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/AtomicOperations/Performer.cs
+++ b/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/AtomicOperations/Performer.cs
@@ -6,7 +6,7 @@
namespace JsonApiDotNetCoreMongoDbExampleTests.IntegrationTests.AtomicOperations
{
[UsedImplicitly(ImplicitUseTargetFlags.Members)]
- public sealed class Performer : MongoIdentifiable
+ public sealed class Performer : MongoObjectIdentifiable
{
[Attr]
public string ArtistName { get; set; }
diff --git a/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/AtomicOperations/Playlist.cs b/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/AtomicOperations/Playlist.cs
index e76652d..190ea31 100644
--- a/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/AtomicOperations/Playlist.cs
+++ b/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/AtomicOperations/Playlist.cs
@@ -8,7 +8,7 @@
namespace JsonApiDotNetCoreMongoDbExampleTests.IntegrationTests.AtomicOperations
{
[UsedImplicitly(ImplicitUseTargetFlags.Members)]
- public sealed class Playlist : MongoIdentifiable
+ public sealed class Playlist : MongoObjectIdentifiable
{
[Attr]
[Required]
diff --git a/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/AtomicOperations/RecordCompany.cs b/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/AtomicOperations/RecordCompany.cs
index 0295252..e5a4ce8 100644
--- a/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/AtomicOperations/RecordCompany.cs
+++ b/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/AtomicOperations/RecordCompany.cs
@@ -7,7 +7,7 @@
namespace JsonApiDotNetCoreMongoDbExampleTests.IntegrationTests.AtomicOperations
{
[UsedImplicitly(ImplicitUseTargetFlags.Members)]
- public sealed class RecordCompany : MongoIdentifiable
+ public sealed class RecordCompany : MongoObjectIdentifiable
{
[Attr]
public string Name { get; set; }
diff --git a/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/AtomicOperations/TextLanguage.cs b/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/AtomicOperations/TextLanguage.cs
index 84d1288..b0194a1 100644
--- a/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/AtomicOperations/TextLanguage.cs
+++ b/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/AtomicOperations/TextLanguage.cs
@@ -8,7 +8,7 @@
namespace JsonApiDotNetCoreMongoDbExampleTests.IntegrationTests.AtomicOperations
{
[UsedImplicitly(ImplicitUseTargetFlags.Members)]
- public sealed class TextLanguage : MongoIdentifiable
+ public sealed class TextLanguage : MongoStringIdentifiable
{
[Attr]
public string IsoCode { get; set; }
diff --git a/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/Meta/SupportTicket.cs b/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/Meta/SupportTicket.cs
index aaee7e8..237d02a 100644
--- a/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/Meta/SupportTicket.cs
+++ b/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/Meta/SupportTicket.cs
@@ -5,7 +5,7 @@
namespace JsonApiDotNetCoreMongoDbExampleTests.IntegrationTests.Meta
{
[UsedImplicitly(ImplicitUseTargetFlags.Members)]
- public sealed class SupportTicket : MongoIdentifiable
+ public sealed class SupportTicket : MongoObjectIdentifiable
{
[Attr]
public string Description { get; set; }
diff --git a/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/QueryStrings/AccountPreferences.cs b/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/QueryStrings/AccountPreferences.cs
index 5f3de6e..d4b552d 100644
--- a/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/QueryStrings/AccountPreferences.cs
+++ b/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/QueryStrings/AccountPreferences.cs
@@ -5,7 +5,7 @@
namespace JsonApiDotNetCoreMongoDbExampleTests.IntegrationTests.QueryStrings
{
[UsedImplicitly(ImplicitUseTargetFlags.Members)]
- public sealed class AccountPreferences : MongoIdentifiable
+ public sealed class AccountPreferences : MongoObjectIdentifiable
{
[Attr]
public bool UseDarkTheme { get; set; }
diff --git a/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/QueryStrings/Appointment.cs b/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/QueryStrings/Appointment.cs
index a9fd483..972baef 100644
--- a/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/QueryStrings/Appointment.cs
+++ b/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/QueryStrings/Appointment.cs
@@ -6,7 +6,7 @@
namespace JsonApiDotNetCoreMongoDbExampleTests.IntegrationTests.QueryStrings
{
[UsedImplicitly(ImplicitUseTargetFlags.Members)]
- public sealed class Appointment : MongoIdentifiable
+ public sealed class Appointment : MongoObjectIdentifiable
{
[Attr]
public string Title { get; set; }
diff --git a/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/QueryStrings/Blog.cs b/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/QueryStrings/Blog.cs
index 7ef49d6..135b50a 100644
--- a/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/QueryStrings/Blog.cs
+++ b/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/QueryStrings/Blog.cs
@@ -8,7 +8,7 @@
namespace JsonApiDotNetCoreMongoDbExampleTests.IntegrationTests.QueryStrings
{
[UsedImplicitly(ImplicitUseTargetFlags.Members)]
- public sealed class Blog : MongoIdentifiable
+ public sealed class Blog : MongoObjectIdentifiable
{
[Attr]
public string Title { get; set; }
diff --git a/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/QueryStrings/BlogPost.cs b/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/QueryStrings/BlogPost.cs
index 4678864..c05f458 100644
--- a/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/QueryStrings/BlogPost.cs
+++ b/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/QueryStrings/BlogPost.cs
@@ -7,7 +7,7 @@
namespace JsonApiDotNetCoreMongoDbExampleTests.IntegrationTests.QueryStrings
{
[UsedImplicitly(ImplicitUseTargetFlags.Members)]
- public sealed class BlogPost : MongoIdentifiable
+ public sealed class BlogPost : MongoObjectIdentifiable
{
[Attr]
public string Caption { get; set; }
diff --git a/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/QueryStrings/Calendar.cs b/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/QueryStrings/Calendar.cs
index 1298699..02aad93 100644
--- a/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/QueryStrings/Calendar.cs
+++ b/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/QueryStrings/Calendar.cs
@@ -7,7 +7,7 @@
namespace JsonApiDotNetCoreMongoDbExampleTests.IntegrationTests.QueryStrings
{
[UsedImplicitly(ImplicitUseTargetFlags.Members)]
- public sealed class Calendar : MongoIdentifiable
+ public sealed class Calendar : MongoObjectIdentifiable
{
[Attr]
public string TimeZone { get; set; }
diff --git a/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/QueryStrings/Comment.cs b/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/QueryStrings/Comment.cs
index a475835..594e481 100644
--- a/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/QueryStrings/Comment.cs
+++ b/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/QueryStrings/Comment.cs
@@ -7,7 +7,7 @@
namespace JsonApiDotNetCoreMongoDbExampleTests.IntegrationTests.QueryStrings
{
[UsedImplicitly(ImplicitUseTargetFlags.Members)]
- public sealed class Comment : MongoIdentifiable
+ public sealed class Comment : MongoObjectIdentifiable
{
[Attr]
public string Text { get; set; }
diff --git a/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/QueryStrings/Filtering/FilterableResource.cs b/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/QueryStrings/Filtering/FilterableResource.cs
index ad4fdb8..6c0b7f4 100644
--- a/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/QueryStrings/Filtering/FilterableResource.cs
+++ b/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/QueryStrings/Filtering/FilterableResource.cs
@@ -8,7 +8,7 @@
namespace JsonApiDotNetCoreMongoDbExampleTests.IntegrationTests.QueryStrings.Filtering
{
[UsedImplicitly(ImplicitUseTargetFlags.Members)]
- public sealed class FilterableResource : MongoIdentifiable
+ public sealed class FilterableResource : MongoObjectIdentifiable
{
[Attr]
public string SomeString { get; set; }
diff --git a/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/QueryStrings/Label.cs b/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/QueryStrings/Label.cs
index e5624b9..d631865 100644
--- a/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/QueryStrings/Label.cs
+++ b/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/QueryStrings/Label.cs
@@ -7,7 +7,7 @@
namespace JsonApiDotNetCoreMongoDbExampleTests.IntegrationTests.QueryStrings
{
[UsedImplicitly(ImplicitUseTargetFlags.Members)]
- public sealed class Label : MongoIdentifiable
+ public sealed class Label : MongoObjectIdentifiable
{
[Attr]
public string Name { get; set; }
diff --git a/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/QueryStrings/WebAccount.cs b/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/QueryStrings/WebAccount.cs
index 34cb170..3bf6471 100644
--- a/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/QueryStrings/WebAccount.cs
+++ b/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/QueryStrings/WebAccount.cs
@@ -8,7 +8,7 @@
namespace JsonApiDotNetCoreMongoDbExampleTests.IntegrationTests.QueryStrings
{
[UsedImplicitly(ImplicitUseTargetFlags.Members)]
- public sealed class WebAccount : MongoIdentifiable
+ public sealed class WebAccount : MongoObjectIdentifiable
{
[Attr]
public string UserName { get; set; }
diff --git a/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/ReadWrite/Creating/CreateResourceWithClientGeneratedIdTests.cs b/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/ReadWrite/Creating/CreateResourceWithClientGeneratedIdTests.cs
index 8193d4d..5347c61 100644
--- a/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/ReadWrite/Creating/CreateResourceWithClientGeneratedIdTests.cs
+++ b/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/ReadWrite/Creating/CreateResourceWithClientGeneratedIdTests.cs
@@ -31,7 +31,7 @@ public async Task Can_create_resource_with_client_generated_string_ID_having_no_
{
// Arrange
RgbColor newColor = _fakers.RgbColor.Generate();
- newColor.Id = "507f191e810c19729de860ea";
+ newColor.Id = "free-format-client-generated-id";
var requestBody = new
{
@@ -72,7 +72,7 @@ public async Task Can_create_resource_with_client_generated_string_ID_having_sid
{
// Arrange
WorkItemGroup newGroup = _fakers.WorkItemGroup.Generate();
- newGroup.Id = "5ffcc0d1d69a27c92b8c62dd";
+ newGroup.Id = "free-format-client-generated-id";
var requestBody = new
{
diff --git a/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/ReadWrite/RgbColor.cs b/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/ReadWrite/RgbColor.cs
index c1c8148..bb84ade 100644
--- a/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/ReadWrite/RgbColor.cs
+++ b/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/ReadWrite/RgbColor.cs
@@ -6,7 +6,7 @@
namespace JsonApiDotNetCoreMongoDbExampleTests.IntegrationTests.ReadWrite
{
[UsedImplicitly(ImplicitUseTargetFlags.Members)]
- public sealed class RgbColor : MongoIdentifiable
+ public sealed class RgbColor : MongoStringIdentifiable
{
[Attr]
public string DisplayName { get; set; }
diff --git a/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/ReadWrite/UserAccount.cs b/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/ReadWrite/UserAccount.cs
index 97f87b4..a26873f 100644
--- a/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/ReadWrite/UserAccount.cs
+++ b/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/ReadWrite/UserAccount.cs
@@ -7,7 +7,7 @@
namespace JsonApiDotNetCoreMongoDbExampleTests.IntegrationTests.ReadWrite
{
[UsedImplicitly(ImplicitUseTargetFlags.Members)]
- public sealed class UserAccount : MongoIdentifiable
+ public sealed class UserAccount : MongoObjectIdentifiable
{
[Attr]
public string FirstName { get; set; }
diff --git a/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/ReadWrite/WorkItem.cs b/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/ReadWrite/WorkItem.cs
index 1ae2ae7..16edd2d 100644
--- a/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/ReadWrite/WorkItem.cs
+++ b/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/ReadWrite/WorkItem.cs
@@ -8,7 +8,7 @@
namespace JsonApiDotNetCoreMongoDbExampleTests.IntegrationTests.ReadWrite
{
[UsedImplicitly(ImplicitUseTargetFlags.Members)]
- public sealed class WorkItem : MongoIdentifiable
+ public sealed class WorkItem : MongoObjectIdentifiable
{
[Attr]
public string Description { get; set; }
diff --git a/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/ReadWrite/WorkItemGroup.cs b/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/ReadWrite/WorkItemGroup.cs
index 0755abd..82dedba 100644
--- a/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/ReadWrite/WorkItemGroup.cs
+++ b/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/ReadWrite/WorkItemGroup.cs
@@ -8,7 +8,7 @@
namespace JsonApiDotNetCoreMongoDbExampleTests.IntegrationTests.ReadWrite
{
[UsedImplicitly(ImplicitUseTargetFlags.Members)]
- public sealed class WorkItemGroup : MongoIdentifiable
+ public sealed class WorkItemGroup : MongoStringIdentifiable
{
[Attr]
public string Name { get; set; }
diff --git a/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/ReadWrite/WorkTag.cs b/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/ReadWrite/WorkTag.cs
index 8c6f8fc..85720b8 100644
--- a/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/ReadWrite/WorkTag.cs
+++ b/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/ReadWrite/WorkTag.cs
@@ -5,7 +5,7 @@
namespace JsonApiDotNetCoreMongoDbExampleTests.IntegrationTests.ReadWrite
{
[UsedImplicitly(ImplicitUseTargetFlags.Members)]
- public sealed class WorkTag : MongoIdentifiable
+ public sealed class WorkTag : MongoObjectIdentifiable
{
[Attr]
public string Text { get; set; }
diff --git a/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/ResourceDefinitions/CallableResource.cs b/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/ResourceDefinitions/CallableResource.cs
index 8946883..6d1973d 100644
--- a/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/ResourceDefinitions/CallableResource.cs
+++ b/test/JsonApiDotNetCoreMongoDbExampleTests/IntegrationTests/ResourceDefinitions/CallableResource.cs
@@ -8,7 +8,7 @@
namespace JsonApiDotNetCoreMongoDbExampleTests.IntegrationTests.ResourceDefinitions
{
[UsedImplicitly(ImplicitUseTargetFlags.Members)]
- public sealed class CallableResource : MongoIdentifiable
+ public sealed class CallableResource : MongoObjectIdentifiable
{
[Attr]
public string Label { get; set; }
diff --git a/test/JsonApiDotNetCoreMongoDbExampleTests/TestBuildingBlocks/MongoQueryableExtensions.cs b/test/JsonApiDotNetCoreMongoDbExampleTests/TestBuildingBlocks/MongoQueryableExtensions.cs
index d7c9e58..8f85667 100644
--- a/test/JsonApiDotNetCoreMongoDbExampleTests/TestBuildingBlocks/MongoQueryableExtensions.cs
+++ b/test/JsonApiDotNetCoreMongoDbExampleTests/TestBuildingBlocks/MongoQueryableExtensions.cs
@@ -1,7 +1,7 @@
using System;
using System.Threading;
using System.Threading.Tasks;
-using JsonApiDotNetCore.Resources;
+using JsonApiDotNetCore.MongoDb.Resources;
using MongoDB.Driver.Linq;
namespace JsonApiDotNetCoreMongoDbExampleTests.TestBuildingBlocks
@@ -10,7 +10,7 @@ internal static class MongoQueryableExtensions
{
public static async Task FirstWithIdAsync(this IMongoQueryable resources, TId id,
CancellationToken cancellationToken = default)
- where TResource : IIdentifiable
+ where TResource : IMongoIdentifiable
{
TResource firstOrDefault = await resources.FirstOrDefaultAsync(resource => Equals(resource.Id, id), cancellationToken);
@@ -24,7 +24,7 @@ public static async Task FirstWithIdAsync(this IMongo
public static Task FirstWithIdOrDefaultAsync(this IMongoQueryable resources, TId id,
CancellationToken cancellationToken = default)
- where TResource : IIdentifiable
+ where TResource : IMongoIdentifiable
{
return resources.FirstOrDefaultAsync(resource => Equals(resource.Id, id), cancellationToken);
}