Skip to content
This repository was archived by the owner on Nov 25, 2023. It is now read-only.

Commit 6d99ee8

Browse files
committed
Update ILayoutService implementation
1 parent a4f1b27 commit 6d99ee8

File tree

2 files changed

+15
-13
lines changed

2 files changed

+15
-13
lines changed

src/InvvardDev.EZLayoutDisplay.Desktop/Service/Design/LayoutService.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ namespace InvvardDev.EZLayoutDisplay.Desktop.Service.Design
88
{
99
public class LayoutService : ILayoutService
1010
{
11-
public async Task<ErgodoxLayout> GetLayoutInfo(string layoutHashId)
11+
public async Task<ErgodoxLayout> GetLayoutInfo(string layoutHashId, string layoutRevisionId)
1212
{
1313
Debug.WriteLine("Layout retrieved.");
1414

@@ -19,15 +19,15 @@ public async Task<ErgodoxLayout> GetLayoutInfo(string layoutHashId)
1919
}
2020

2121
/// <inheritdoc />
22-
public async Task<ErgodoxLayout> GetErgodoxLayout(string layoutHashId)
22+
public async Task<ErgodoxLayout> GetErgodoxLayout(string layoutHashId, string layoutRevisionId)
2323
{
2424
Debug.WriteLine("Layout retrieved.");
2525

2626
return await new Task<ErgodoxLayout>(() => new ErgodoxLayout());
2727
}
2828

2929
/// <inheritdoc />
30-
public EZLayout PrepareEZLayout(ErgodoxLayout ergodoxLayout, string layoutRevisionIds)
30+
public EZLayout PrepareEZLayout(ErgodoxLayout ergodoxLayouts)
3131
{
3232
Debug.WriteLine("Layout prepared");
3333

src/InvvardDev.EZLayoutDisplay.Desktop/Service/Implementation/LayoutService.cs

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -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}\",\"revisionId\":\"latest\"}},\"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\"}}";
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}\",\"revisionId\":\"latest\"}},\"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\"}}";
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

Comments
 (0)