@@ -99,6 +99,10 @@ private static SDataResource ReadResource(IDictionary<string, object> obj)
9999 {
100100 resource . SyncState = ContentHelper . Deserialize < SyncState > ( value ) ;
101101 }
102+ if ( obj . TryGetValue ( "$permissions" , out value ) )
103+ {
104+ resource . Permissions = ContentHelper . Deserialize < IList < SDataPermission > > ( value , NamingScheme . CamelCase ) ;
105+ }
102106
103107 foreach ( var item in obj . Where ( item => ! item . Key . StartsWith ( "$" , StringComparison . Ordinal ) ) )
104108 {
@@ -384,16 +388,19 @@ private static IDictionary<string, object> WriteResource(IDictionary<string, obj
384388 WriteLinks ( obj , info . Links ) ;
385389 WriteProtocolValue ( obj , "isDeleted" , info . IsDeleted ) ;
386390
387- var diagnoses = info . Diagnoses ;
388- if ( diagnoses != null && diagnoses . Count > 0 )
391+ if ( info . Diagnoses != null && info . Diagnoses . Count > 0 )
392+ {
393+ obj [ "$diagnoses" ] = ContentHelper . Serialize ( info . Diagnoses ) ;
394+ }
395+
396+ if ( info . SyncState != null )
389397 {
390- obj [ "$diagnoses " ] = ContentHelper . Serialize ( diagnoses , namingScheme ) ;
398+ obj [ "$syncState " ] = ContentHelper . Serialize ( info . SyncState ) ;
391399 }
392400
393- var syncState = info . SyncState ;
394- if ( syncState != null )
401+ if ( info . Permissions != null )
395402 {
396- obj [ "$syncState " ] = ContentHelper . Serialize ( syncState , namingScheme ) ;
403+ obj [ "$permissions " ] = ContentHelper . Serialize ( info . Permissions , NamingScheme . CamelCase ) ;
397404 }
398405 }
399406
@@ -427,13 +434,13 @@ private static IDictionary<string, object> WriteResourceCollection(IEnumerable<I
427434 var diagnoses = info . Diagnoses ;
428435 if ( diagnoses != null && diagnoses . Count > 0 )
429436 {
430- obj [ "$diagnoses" ] = ContentHelper . Serialize ( diagnoses , namingScheme ) ;
437+ obj [ "$diagnoses" ] = ContentHelper . Serialize ( diagnoses ) ;
431438 }
432439
433440 var syncDigest = info . SyncDigest ;
434441 if ( syncDigest != null )
435442 {
436- obj [ "$digest" ] = ContentHelper . Serialize ( syncDigest , namingScheme ) ;
443+ obj [ "$digest" ] = ContentHelper . Serialize ( syncDigest ) ;
437444 }
438445 }
439446
0 commit comments