Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
58 commits
Select commit Hold shift + click to select a range
0094685
initial commit
Maya-Painter Oct 18, 2023
5ab7959
add more tests
Maya-Painter Oct 18, 2023
260a6fc
cleanup
Maya-Painter Oct 19, 2023
2583c8e
camel case fix
Maya-Painter Oct 19, 2023
3fe6006
fix precidence and add test
Maya-Painter Oct 19, 2023
6ebafd2
cleanup
Maya-Painter Oct 19, 2023
61082f5
cleanup
Maya-Painter Oct 26, 2023
28a08c1
Merge branch 'master' into users/mayapainter/LinqCustomSerialization
Maya-Painter Oct 26, 2023
ce9b2a8
Merge branch 'master' into users/mayapainter/LinqCustomSerialization
Maya-Painter Nov 8, 2023
3ad6110
Implement serializers
Maya-Painter Nov 8, 2023
a0da2c3
clenaup and bugfix
Maya-Painter Nov 8, 2023
656c278
cleanup constructors
Maya-Painter Nov 9, 2023
32ba80d
fix baseline
Maya-Painter Nov 9, 2023
74e2410
updates
Maya-Painter Nov 9, 2023
573b1e4
cleanup
Maya-Painter Nov 9, 2023
d6b6f9a
removed requirement to decorate enums
Maya-Painter Nov 10, 2023
0dec53d
nit PR comments
Maya-Painter Nov 13, 2023
6a2d26a
bug fix and api updates
Maya-Painter Nov 13, 2023
6821838
Merge branch 'master' into users/mayapainter/LinqCustomSerialization
Maya-Painter Nov 13, 2023
ab6be11
Pr comments
Maya-Painter Nov 13, 2023
7e9f1ea
remove datacontract and newtonsoft serializer types
Maya-Painter Nov 14, 2023
739e914
Merge branch 'master' into users/mayapainter/LinqCustomSerialization
Maya-Painter Nov 15, 2023
4e34878
Pr comments and adding tests
Maya-Painter Nov 15, 2023
36c5e67
updates
Maya-Painter Nov 16, 2023
238bcdd
Merge branch 'master' into users/mayapainter/LinqCustomSerialization
Maya-Painter Nov 16, 2023
0c2bc46
Aggregate tests and new serializer member
Maya-Painter Nov 16, 2023
e45c2a2
More tests and cleanup
Maya-Painter Nov 17, 2023
be90c91
PR comments
Maya-Painter Nov 17, 2023
3186741
Merge branch 'master' into users/mayapainter/LinqCustomSerialization
Maya-Painter Nov 28, 2023
22e05dd
PR comments
Maya-Painter Nov 29, 2023
4b52602
PR comments - internal options class
Maya-Painter Nov 30, 2023
a62eb58
Update Program.cs
Maya-Painter Nov 30, 2023
dead02e
comment fixes
Maya-Painter Nov 30, 2023
1f23678
PR comments
Maya-Painter Dec 6, 2023
436573e
Merge branch 'master' into users/mayapainter/LinqCustomSerialization
Maya-Painter Dec 6, 2023
0a3a7fc
Add preview flag
Maya-Painter Dec 6, 2023
981b56c
API changes
Maya-Painter Dec 6, 2023
c1f2737
new serialization interface
Maya-Painter Dec 12, 2023
86c4515
Update API and serializer updates
Maya-Painter Dec 12, 2023
5593fd0
API fix
Maya-Painter Dec 13, 2023
ad38065
Merge branch 'master' into users/mayapainter/LinqCustomSerialization
Maya-Painter Dec 14, 2023
125198d
cleanup
Maya-Painter Dec 14, 2023
dc0afd3
PR comments
Maya-Painter Dec 16, 2023
be43ed6
update interface
Maya-Painter Dec 18, 2023
ed82751
fix
Maya-Painter Dec 18, 2023
81e29e2
API
Maya-Painter Dec 19, 2023
6684fc8
Merge branch 'master' into users/mayapainter/LinqCustomSerialization
Maya-Painter Jan 2, 2024
7eba850
Update Microsoft.Azure.Cosmos/src/Serializer/ICosmosLinqSerializer.cs
Maya-Painter Jan 2, 2024
10ed71e
Some PR comments
Maya-Painter Jan 2, 2024
0bd4a26
adding sample code
Maya-Painter Jan 3, 2024
4153a5e
Enum rename and interfact to abstract class
Maya-Painter Jan 3, 2024
7055cf5
Merge branch 'master' into users/mayapainter/LinqCustomSerialization
Maya-Painter Jan 3, 2024
ee3afe8
PR comments
Maya-Painter Jan 3, 2024
ad1a222
PR comments
Maya-Painter Jan 4, 2024
8efedf1
Remove CosmosLinqSerializerType
Maya-Painter Jan 4, 2024
fa402f9
last one (hopefully)
Maya-Painter Jan 5, 2024
7e2bbd5
Update Microsoft.Azure.Cosmos/src/Linq/TranslationContext.cs
Maya-Painter Jan 5, 2024
090642a
Update Microsoft.Azure.Cosmos/src/Linq/TranslationContext.cs
Maya-Painter Jan 5, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Update API and serializer updates
  • Loading branch information
Maya-Painter committed Dec 12, 2023
commit 86c45153c9dc735f6027db604cd59fba1ecbaff4
17 changes: 7 additions & 10 deletions Microsoft.Azure.Cosmos/src/Serializer/CosmosQuerySerializer.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,28 +3,25 @@
//------------------------------------------------------------
namespace Microsoft.Azure.Cosmos.Serializer
{
using System;
using System.Reflection;

/// <summary>
/// This is an interface to allow a custom serializer to be used by the CosmosClient for both CRUD operations and LINQ queries.
/// This abstract class can be implemented to allow a custom serializer to be used by the CosmosClient
/// for both CRUD operations and LINQ queries.
/// </summary>
#if PREVIEW
#if PREVIEW
public
#else
#else
internal
#endif
#endif
abstract class CosmosQuerySerializer : CosmosSerializer
{
/// <summary>
/// Convert a MemberInfo to a string for use in LINQ query translation.
/// This must be implemented when using a custom serializer for LINQ queries.
/// </summary>
/// <param name="memberInfo">Any MemberInfo used in the query.</param>
/// <returns>A serialized representation of the member</returns>
public virtual string SerializeLinqMemberName(MemberInfo memberInfo)
{
throw new NotImplementedException($"{nameof(CosmosSerializer)}.{nameof(SerializeLinqMemberName)})");
}
/// <returns>A serialized representation of the member.</returns>
public abstract string SerializeLinqMemberName(MemberInfo memberInfo);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ namespace Microsoft.Azure.Cosmos
using System.IO;

/// <summary>
/// This is an interface to allow a custom serializer to be used by the CosmosClient for CRUD operations.
/// This abstract class can be implemented to allow a custom serializer to be used by the CosmosClient for CRUD operations.
/// </summary>
public abstract class CosmosSerializer
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -378,14 +378,20 @@
"NestedTypes": {}
},
"Microsoft.Azure.Cosmos.CosmosSerializer;System.Object;IsAbstract:True;IsSealed:False;IsInterface:False;IsEnum:False;IsClass:True;IsValueType:False;IsNested:False;IsGenericType:False;IsSerializable:False": {
"Subclasses": {},
"Members": {
"System.String SerializeLinqMemberName(System.Reflection.MemberInfo)": {
"Type": "Method",
"Attributes": [],
"MethodInfo": "System.String SerializeLinqMemberName(System.Reflection.MemberInfo);IsAbstract:False;IsStatic:False;IsVirtual:True;IsGenericMethod:False;IsConstructor:False;IsFinal:False;"
"Subclasses": {
"Microsoft.Azure.Cosmos.Serializer.CosmosQuerySerializer;Microsoft.Azure.Cosmos.CosmosSerializer;IsAbstract:True;IsSealed:False;IsInterface:False;IsEnum:False;IsClass:True;IsValueType:False;IsNested:False;IsGenericType:False;IsSerializable:False": {
"Subclasses": {},
"Members": {
"System.String SerializeLinqMemberName(System.Reflection.MemberInfo)": {
"Type": "Method",
"Attributes": [],
"MethodInfo": "System.String SerializeLinqMemberName(System.Reflection.MemberInfo);IsAbstract:True;IsStatic:False;IsVirtual:True;IsGenericMethod:False;IsConstructor:False;IsFinal:False;"
}
},
"NestedTypes": {}
}
},
"Members": {},
"NestedTypes": {}
},
"Microsoft.Azure.Cosmos.DedicatedGatewayRequestOptions;System.Object;IsAbstract:False;IsSealed:False;IsInterface:False;IsEnum:False;IsClass:True;IsValueType:False;IsNested:False;IsGenericType:False;IsSerializable:False": {
Expand Down Expand Up @@ -592,6 +598,17 @@
}
},
"NestedTypes": {}
},
"Microsoft.Azure.Cosmos.Serializer.CosmosQuerySerializer;Microsoft.Azure.Cosmos.CosmosSerializer;IsAbstract:True;IsSealed:False;IsInterface:False;IsEnum:False;IsClass:True;IsValueType:False;IsNested:False;IsGenericType:False;IsSerializable:False": {
"Subclasses": {},
"Members": {
"System.String SerializeLinqMemberName(System.Reflection.MemberInfo)": {
"Type": "Method",
"Attributes": [],
"MethodInfo": "System.String SerializeLinqMemberName(System.Reflection.MemberInfo);IsAbstract:True;IsStatic:False;IsVirtual:True;IsGenericMethod:False;IsConstructor:False;IsFinal:False;"
}
},
"NestedTypes": {}
}
},
"Members": {},
Expand Down