@@ -17,48 +17,50 @@ public class LayoutService : ILayoutService
1717 private static readonly Logger Logger = LogManager . GetCurrentClassLogger ( ) ;
1818
1919 private readonly string GetLayoutBody =
20- "{{\" operationName\" :\" getLayout\" ,\" variables\" :{{\" hashId\" :\" {0}\" }} ,\" query\" :\" query getLayout($hashId: String!) {{\\ n Layout(hashId: $hashId) {{\\ n ...LayoutData\\ n }}\\ n}}\\ n\\ nfragment LayoutData on Layout {{\\ n geometry\\ n hashId\\ n title\\ n tags {{\\ n id\\ n hashId\\ n name\\ n }}\\ n revisions {{\\ n ...RevisionData\\ n }}\\ n}}\\ n\\ nfragment RevisionData on Revision {{\\ n hashId\\ n model\\ n title\\ n swatch\\ n hexUrl\\ n zipUrl\\ n layers {{\\ n hashId\\ n keys\\ n position\\ n title\\ n color\\ n}}\\ n}}\\ n\" }}" ;
20+ "{{\" operationName\" :\" getLayout\" ,\" variables\" :{{\" hashId\" :\" {0}\" , \" revisionId \" : \" {1} \" }} ,\" query\" :\" query getLayout($hashId: String!, $revisionId: String! ) {{\\ n Layout(hashId: $hashId, revisionId: $revisionId ) {{\\ n ...LayoutData\\ n }}\\ n}}\\ n\\ nfragment LayoutData on Layout {{\\ n geometry\\ n hashId\\ n title\\ n tags {{\\ n id\\ n hashId\\ n name\\ n }}\\ n revision {{\\ n ...RevisionData\\ n }}\\ n}}\\ n\\ nfragment RevisionData on Revision {{\\ n hashId\\ n model\\ n title\\ n swatch\\ n hexUrl\\ n zipUrl\\ n qmkVersion \\ n qmkUptodate \\ n config \\ n layers {{\\ n hashId\\ n keys\\ n position\\ n title\\ n color\\ n}}\\ n}}\\ n\" }}" ;
2121
2222 private readonly string GetLayoutInfoRequestBody =
23- "{{\" operationName\" :\" getLayout\" ,\" variables\" :{{\" hashId\" :\" {0}\" }} ,\" query\" :\" query getLayout($hashId: String!) {{\\ n Layout(hashId: $hashId) {{\\ n ...LayoutData\\ n __typename\\ n }}\\ n}}\\ n\\ nfragment LayoutData on Layout {{\\ n geometry\\ n hashId\\ n title\\ n tags {{\\ n id\\ n hashId\\ n name\\ n }}\\ n revisions {{\\ n hashId\\ n title\\ n hexUrl\\ n model\\ n zipUrl\\ n layers {{\\ n position\\ n title\\ n }}\\ n }}\\ n __typename\\ n}}\\ n\" }}" ;
23+ "{{\" operationName\" :\" getLayout\" ,\" variables\" :{{\" hashId\" :\" {0}\" , \" revisionId \" : \" {1} \" }} ,\" query\" :\" query getLayout($hashId: String!, $revisionId: String! ) {{\\ n Layout(hashId: $hashId, revisionId: $revisionId ) {{\\ n ...LayoutData\\ n __typename\\ n }}\\ n}}\\ n\\ nfragment LayoutData on Layout {{\\ n geometry\\ n hashId\\ n title\\ n tags {{\\ n id\\ n hashId\\ n name\\ n }}\\ n revision {{\\ n hashId\\ n title\\ n hexUrl\\ n model\\ n zipUrl\\ n qmkVersion \\ n qmkUptodate \\ n layers {{\\ n position\\ n title\\ n }}\\ n }}\\ n __typename\\ n}}\\ n\" }}" ;
2424
2525 private const string GetLayoutRequestUri = "https://oryx.ergodox-ez.com/graphql" ;
2626
2727 #region ILayoutService implementation
2828
2929 /// <inheritdoc />
30- public async Task < ErgodoxLayout > GetLayoutInfo ( string layoutHashId )
30+ public async Task < ErgodoxLayout > GetLayoutInfo ( string layoutHashId , string layoutRevisionId )
3131 {
3232 Logger . TraceMethod ( ) ;
3333 Logger . DebugInputParam ( nameof ( layoutHashId ) , layoutHashId ) ;
34+ Logger . DebugInputParam ( nameof ( layoutRevisionId ) , layoutRevisionId ) ;
3435
3536 ValidateLayoutHashId ( layoutHashId ) ;
3637
37- var info = await QueryData ( layoutHashId , GetLayoutInfoRequestBody ) ;
38+ var info = await QueryData ( layoutHashId , layoutRevisionId , GetLayoutInfoRequestBody ) ;
3839
3940 return info ;
4041 }
4142
4243 /// <inheritdoc />
43- public async Task < ErgodoxLayout > GetErgodoxLayout ( string layoutHashId )
44+ public async Task < ErgodoxLayout > GetErgodoxLayout ( string layoutHashId , string layoutRevisionId )
4445 {
4546 Logger . TraceMethod ( ) ;
4647 Logger . DebugInputParam ( nameof ( layoutHashId ) , layoutHashId ) ;
48+ Logger . DebugInputParam ( nameof ( layoutRevisionId ) , layoutRevisionId ) ;
4749
4850 ValidateLayoutHashId ( layoutHashId ) ;
4951
50- var layout = await QueryData ( layoutHashId , GetLayoutBody ) ;
52+ var layout = await QueryData ( layoutHashId , layoutRevisionId , GetLayoutBody ) ;
5153
5254 return layout ;
5355 }
5456
5557 /// <inheritdoc />
56- public EZLayout PrepareEZLayout ( ErgodoxLayout ergodoxLayout , string layoutRevisionId )
58+ public EZLayout PrepareEZLayout ( ErgodoxLayout ergodoxLayout )
5759 {
5860 Logger . TraceMethod ( ) ;
5961
6062 var ezLayoutMaker = new EZLayoutMaker ( ) ;
61- EZLayout ezLayout = ezLayoutMaker . PrepareEZLayout ( ergodoxLayout , layoutRevisionId ) ;
63+ EZLayout ezLayout = ezLayoutMaker . PrepareEZLayout ( ergodoxLayout ) ;
6264
6365 return ezLayout ;
6466 }
@@ -77,9 +79,9 @@ public async Task<IEnumerable<KeyTemplate>> GetLayoutTemplate()
7779
7880 #region Private methods
7981
80- private async Task < ErgodoxLayout > QueryData ( string layoutHashId , string graphQlQuery )
82+ private async Task < ErgodoxLayout > QueryData ( string layoutHashId , string layoutRevisionId , string graphQlQuery )
8183 {
82- var requestBody = string . Format ( graphQlQuery , layoutHashId ) ;
84+ var requestBody = string . Format ( graphQlQuery , layoutHashId , layoutRevisionId ) ;
8385
8486 var layout = await HttpClientCall ( requestBody ) ;
8587
0 commit comments