Skip to content

Commit

Permalink
Merge pull request #101 from planetarium/feat/implement-avatar-query
Browse files Browse the repository at this point in the history
feat: introduce "avatar" query
  • Loading branch information
boscohyun authored May 30, 2024
2 parents 65ba64e + 94379d1 commit be65a91
Show file tree
Hide file tree
Showing 22 changed files with 320 additions and 194 deletions.
7 changes: 7 additions & 0 deletions Lib9c.GraphQL/Enums/PlanetName.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
namespace Lib9c.GraphQL.Enums;

public enum PlanetName
{
Odin,
Heimdall,
}
21 changes: 0 additions & 21 deletions Lib9c.GraphQL/Objects/InventoryObject.cs

This file was deleted.

15 changes: 15 additions & 0 deletions Lib9c.GraphQL/Types/FungibleItemType.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
using HotChocolate.Types;
using Nekoyume.Model.Item;

namespace Lib9c.GraphQL.Types;

public class FungibleItemType : InterfaceType<IFungibleItem>
{
protected override void Configure(IInterfaceTypeDescriptor<IFungibleItem> descriptor)
{
descriptor
.Field(t => t.FungibleId)
.Description("The fungible ID of the item.")
.Type<NonNullType<HashDigestSHA256Type>>();
}
}
31 changes: 0 additions & 31 deletions Lib9c.GraphQL/Types/InventoryType.cs

This file was deleted.

53 changes: 3 additions & 50 deletions Lib9c.GraphQL/Types/ItemType.cs
Original file line number Diff line number Diff line change
@@ -1,66 +1,19 @@
using HotChocolate.Types;
using Lib9c.GraphQL.Objects;
using Nekoyume.Model.Item;

namespace Lib9c.GraphQL.Types;

public class ItemType : ObjectType<ItemObject>
public class ItemType : InterfaceType<IItem>
{
protected override void Configure(IObjectTypeDescriptor<ItemObject> descriptor)
protected override void Configure(IInterfaceTypeDescriptor<IItem> descriptor)
{
descriptor
.Field(f => f.ItemSheetId)
.Name("itemSheetId")
.Description("The ItemSheet ID of the item.")
.Type<NonNullType<IntType>>();
descriptor
.Field(f => f.Grade)
.Name("grade")
.Description("The grade of the item.")
.Type<NonNullType<IntType>>();
descriptor
.Field(f => f.ItemType)
.Name("itemType")
.Description("The ItemType of the item.")
.Type<NonNullType<ItemTypeEnumType>>();
descriptor
.Field(f => f.ItemSubType)
.Name("itemSubType")
.Description("The ItemSubType of the item.")
.Type<NonNullType<ItemSubTypeEnumType>>();
descriptor
.Field(f => f.ElementalType)
.Name("elementalType")
.Description("The ElementalType of the item.")
.Type<NonNullType<ElementalTypeEnumType>>();
descriptor
.Field(f => f.Count)
.Name("count")
.Description("The count of the item.")
.Type<NonNullType<IntType>>();
descriptor
.Field(f => f.Level)
.Name("level")
.Description("The level of the item.")
.Type<IntType>();
descriptor
.Field(f => f.RequiredBlockIndex)
.Name("requiredBlockIndex")
.Description("The required block index of the item.")
.Type<IntType>();
descriptor
.Field(f => f.FungibleId)
.Name("fungibleId")
.Description("The Fungible ID of the item.")
.Type<HashDigestSHA256Type>();
descriptor
.Field(f => f.NonFungibleId)
.Name("nonFungibleId")
.Description("The Non-Fungible ID of the item.")
.Type<GuidType>();
descriptor
.Field(f => f.TradableId)
.Name("tradableId")
.Description("The Tradable ID of the item.")
.Type<GuidType>();
}
}
15 changes: 15 additions & 0 deletions Lib9c.GraphQL/Types/NonFungibleItemType.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
using HotChocolate.Types;
using Nekoyume.Model.Item;

namespace Lib9c.GraphQL.Types;

public class NonFungibleItemType : InterfaceType<INonFungibleItem>
{
protected override void Configure(IInterfaceTypeDescriptor<INonFungibleItem> descriptor)
{
descriptor
.Field(f => f.NonFungibleId)
.Description("The non-fungible ID of the item.")
.Type<NonNullType<GuidType>>();
}
}
20 changes: 2 additions & 18 deletions Lib9c.GraphQL/Types/PlanetNameEnumType.cs
Original file line number Diff line number Diff line change
@@ -1,24 +1,8 @@
using HotChocolate.Types;
using Lib9c.GraphQL.Enums;

namespace Lib9c.GraphQL.Types;

public class PlanetNameEnumType : EnumType<string>
public class PlanetNameEnumType : EnumType<PlanetName>
{
protected override void Configure(IEnumTypeDescriptor<string> descriptor)
{
descriptor
.Name("PlanetName")
.Description("The name of the planet.\n" +
"See https://planets.nine-chronicles.com/planets/ or" +
" https://planets-internal.nine-chronicles.com/planets/ for more information.")
.BindValuesExplicitly();
descriptor
.Value("odin")
.Name("ODIN")
.Description("The name of the planet odin.");
descriptor
.Value("heimdall")
.Name("HEIMDALL")
.Description("The name of the planet heimdall.");
}
}
16 changes: 16 additions & 0 deletions Lib9c.GraphQL/Types/TradableItemType.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
using HotChocolate.Types;
using Nekoyume.Model.Item;

namespace Lib9c.GraphQL.Types;

public class TradableItemType : InterfaceType<ITradableItem>
{
protected override void Configure(IInterfaceTypeDescriptor<ITradableItem> descriptor)
{
descriptor.Field(t => t.TradableId)
.Type<NonNullType<UuidType>>();

descriptor.Field(t => t.RequiredBlockIndex)
.Type<NonNullType<LongType>>();
}
}
20 changes: 0 additions & 20 deletions Mimir/GraphQL/Factories/InventoryObjectFactory.cs

This file was deleted.

2 changes: 1 addition & 1 deletion Mimir/GraphQL/Factories/ItemObjectFactory.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using Lib9c.GraphQL.Objects;
using Mimir.GraphQL.Objects;
using Mimir.Models.Items;

namespace Mimir.GraphQL.Factories;
Expand Down
5 changes: 5 additions & 0 deletions Mimir/GraphQL/Objects/AvatarObject.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
namespace Mimir.GraphQL.Objects;

public class AvatarObject
{
}
5 changes: 5 additions & 0 deletions Mimir/GraphQL/Objects/InventoryObject.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
namespace Mimir.GraphQL.Objects;

public class InventoryObject
{
}
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
using System;
using System.Security.Cryptography;
using Libplanet.Common;
using Nekoyume.Model.Elemental;
using Nekoyume.Model.Item;

namespace Lib9c.GraphQL.Objects;
namespace Mimir.GraphQL.Objects;

public class ItemObject
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
namespace Lib9c.GraphQL.Objects;
namespace Mimir.GraphQL.Objects;

public class SheetObject
{
Expand Down
46 changes: 0 additions & 46 deletions Mimir/GraphQL/TypeExtensions/InventoryTypeExtension.cs

This file was deleted.

8 changes: 6 additions & 2 deletions Mimir/GraphQL/TypeExtensions/SheetQueryTypeExtension.cs
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
using System.Text;
using Lib9c.GraphQL.Objects;
using Lib9c.GraphQL.Types;
using Mimir.Enums;
using Mimir.GraphQL.Objects;
using Mimir.GraphQL.Queries;
using Mimir.GraphQL.Types;
using Mimir.Repositories;

namespace Mimir.GraphQL.TypeExtensions;
Expand Down Expand Up @@ -30,7 +31,10 @@ private static async Task<SheetObject> GetSheet(
bool encodeAsBase64,
[Service] TableSheetsRepository tableSheetsRepository)
{
var csv = await tableSheetsRepository.GetSheet(planetName, sheetName, SheetFormat.Csv);
var csv = await tableSheetsRepository.GetSheet(
planetName,
sheetName,
SheetFormat.Csv);
if (encodeAsBase64)
{
csv = Convert.ToBase64String(Encoding.UTF8.GetBytes(csv));
Expand Down
Loading

0 comments on commit be65a91

Please sign in to comment.