Skip to content

Commit

Permalink
Add account metadata flag
Browse files Browse the repository at this point in the history
  • Loading branch information
Groxan committed Jun 14, 2020
1 parent 17a9c9b commit 8085ef2
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 10 deletions.
5 changes: 3 additions & 2 deletions Tzkt.Api/Controllers/AccountsController.cs
Original file line number Diff line number Diff line change
Expand Up @@ -118,11 +118,12 @@ public Task<int> GetCount(AccountTypeParameter type, ContractKindParameter kind)
/// Returns an account with the specified address.
/// </remarks>
/// <param name="address">Account address (starting with tz or KT)</param>
/// <param name="metadata">Include or not account metadata</param>
/// <returns></returns>
[HttpGet("{address}")]
public Task<Account> GetByAddress([Address] string address)
public Task<Account> GetByAddress([Address] string address, bool metadata = false)
{
return Accounts.Get(address);
return Accounts.Get(address, metadata);
}

/// <summary>
Expand Down
19 changes: 11 additions & 8 deletions Tzkt.Api/Repositories/AccountRepository.cs
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ public AccountRepository(AccountsCache accounts, StateCache state, TimeCache tim
Operations = operations;
}

public async Task<Account> Get(string address)
public async Task<Account> Get(string address, bool metadata)
{
var rawAccount = await Accounts.GetAsync(address);

Expand All @@ -39,15 +39,15 @@ public async Task<Account> Get(string address)
}
: null;

var metadata = Accounts.GetMetadata(rawAccount.Id);
var accMetadata = Accounts.GetMetadata(rawAccount.Id);

switch (rawAccount)
{
case RawDelegate delegat:
#region build delegate
return new Models.Delegate
{
Alias = metadata?.Alias,
Alias = accMetadata?.Alias,
Active = delegat.Staked,
Address = delegat.Address,
PublicKey = delegat.PublicKey,
Expand Down Expand Up @@ -82,6 +82,7 @@ public async Task<Account> Get(string address)
NumReveals = delegat.RevealsCount,
NumMigrations = delegat.MigrationsCount,
NumTransactions = delegat.TransactionsCount,
Metadata = metadata ? accMetadata : null
};
#endregion
case RawUser user:
Expand All @@ -94,7 +95,7 @@ public async Task<Account> Get(string address)

return new User
{
Alias = metadata?.Alias,
Alias = accMetadata?.Alias,
Address = user.Address,
Balance = user.Balance,
Counter = user.Balance > 0 ? user.Counter : State.GetCounter(),
Expand All @@ -121,7 +122,8 @@ public async Task<Account> Get(string address)
NumOriginations = user.OriginationsCount,
NumReveals = user.RevealsCount,
NumMigrations = user.MigrationsCount,
NumTransactions = user.TransactionsCount
NumTransactions = user.TransactionsCount,
Metadata = metadata ? accMetadata : null
};
#endregion
case RawContract contract:
Expand All @@ -146,7 +148,7 @@ public async Task<Account> Get(string address)

return new Contract
{
Alias = metadata?.Alias,
Alias = accMetadata?.Alias,
Address = contract.Address,
Kind = KindToString(contract.Kind),
Balance = contract.Balance,
Expand Down Expand Up @@ -183,7 +185,8 @@ public async Task<Account> Get(string address)
NumOriginations = contract.OriginationsCount,
NumReveals = contract.RevealsCount,
NumMigrations = contract.MigrationsCount,
NumTransactions = contract.TransactionsCount
NumTransactions = contract.TransactionsCount,
Metadata = metadata ? accMetadata : null
};
#endregion
default:
Expand Down Expand Up @@ -312,7 +315,7 @@ public async Task<Contract> GetContract(string address)

public async Task<Account> GetProfile(string address, HashSet<string> types, SortMode sort, int limit)
{
var account = await Get(address);
var account = await Get(address, false);

switch (account)
{
Expand Down

0 comments on commit 8085ef2

Please sign in to comment.