mirror of
https://github.com/oceanprotocol/market.git
synced 2024-06-30 05:41:41 +02:00
Restore profile header and downloads tab (#1129)
* show results * sales number displayed correctly * get downloads * use totalSales parameter * fixes * sum sales fix Co-authored-by: ClaudiaHolhos <claudia@oceanprotocol.com>
This commit is contained in:
parent
c1ab042c5e
commit
db7ae82f4a
|
@ -220,18 +220,14 @@ function ProfileProvider({
|
||||||
async (cancelToken: CancelToken) => {
|
async (cancelToken: CancelToken) => {
|
||||||
if (!accountId || !chainIds) return
|
if (!accountId || !chainIds) return
|
||||||
|
|
||||||
const didList: string[] = []
|
const dtList: string[] = []
|
||||||
const tokenOrders = await getUserTokenOrders(accountId, chainIds)
|
const tokenOrders = await getUserTokenOrders(accountId, chainIds)
|
||||||
|
|
||||||
for (let i = 0; i < tokenOrders?.length; i++) {
|
for (let i = 0; i < tokenOrders?.length; i++) {
|
||||||
const did = web3.utils
|
dtList.push(tokenOrders[i].datatoken.address)
|
||||||
.toChecksumAddress(tokenOrders[i].datatoken.address)
|
|
||||||
.replace('0x', 'did:op:')
|
|
||||||
didList.push(did)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const downloads = await getDownloadAssets(
|
const downloads = await getDownloadAssets(
|
||||||
didList,
|
dtList,
|
||||||
tokenOrders,
|
tokenOrders,
|
||||||
chainIds,
|
chainIds,
|
||||||
cancelToken
|
cancelToken
|
||||||
|
|
|
@ -332,22 +332,21 @@ export async function getPublishedAssets(
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function getDownloadAssets(
|
export async function getDownloadAssets(
|
||||||
didList: string[],
|
dtList: string[],
|
||||||
tokenOrders: OrdersData[],
|
tokenOrders: OrdersData[],
|
||||||
chainIds: number[],
|
chainIds: number[],
|
||||||
cancelToken: CancelToken
|
cancelToken: CancelToken
|
||||||
): Promise<DownloadedAsset[]> {
|
): Promise<DownloadedAsset[]> {
|
||||||
try {
|
|
||||||
const baseQueryparams = {
|
const baseQueryparams = {
|
||||||
chainIds,
|
chainIds,
|
||||||
filters: [
|
filters: [
|
||||||
getFilterTerm('_id', didList),
|
getFilterTerm('services.datatokenAddress', dtList),
|
||||||
getFilterTerm('service.type', 'access')
|
getFilterTerm('services.type', 'access')
|
||||||
]
|
]
|
||||||
} as BaseQueryParams
|
} as BaseQueryParams
|
||||||
const query = generateBaseQuery(baseQueryparams)
|
const query = generateBaseQuery(baseQueryparams)
|
||||||
|
try {
|
||||||
const result = await queryMetadata(query, cancelToken)
|
const result = await queryMetadata(query, cancelToken)
|
||||||
|
|
||||||
const downloadedAssets: DownloadedAsset[] = result.results
|
const downloadedAssets: DownloadedAsset[] = result.results
|
||||||
.map((asset) => {
|
.map((asset) => {
|
||||||
const order = tokenOrders.find(
|
const order = tokenOrders.find(
|
||||||
|
@ -367,6 +366,10 @@ export async function getDownloadAssets(
|
||||||
|
|
||||||
return downloadedAssets
|
return downloadedAssets
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
|
if (axios.isCancel(error)) {
|
||||||
|
LoggerInstance.log(error.message)
|
||||||
|
} else {
|
||||||
LoggerInstance.error(error.message)
|
LoggerInstance.error(error.message)
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,7 +12,10 @@ import {
|
||||||
PoolShares as PoolSharesList,
|
PoolShares as PoolSharesList,
|
||||||
PoolShares_poolShares as PoolShare
|
PoolShares_poolShares as PoolShare
|
||||||
} from '../@types/subgraph/PoolShares'
|
} from '../@types/subgraph/PoolShares'
|
||||||
import { OrdersData_orders as OrdersData } from '../@types/subgraph/OrdersData'
|
import {
|
||||||
|
OrdersData_orders as OrdersData,
|
||||||
|
OrdersData_orders_datatoken as OrdersDatatoken
|
||||||
|
} from '../@types/subgraph/OrdersData'
|
||||||
import { UserSalesQuery as UsersSalesList } from '../@types/subgraph/UserSalesQuery'
|
import { UserSalesQuery as UsersSalesList } from '../@types/subgraph/UserSalesQuery'
|
||||||
|
|
||||||
export interface UserLiquidity {
|
export interface UserLiquidity {
|
||||||
|
@ -141,7 +144,11 @@ const UserTokenOrders = gql`
|
||||||
orderDirection: desc
|
orderDirection: desc
|
||||||
where: { consumer: $user }
|
where: { consumer: $user }
|
||||||
) {
|
) {
|
||||||
|
consumer {
|
||||||
|
id
|
||||||
|
}
|
||||||
datatoken {
|
datatoken {
|
||||||
|
id
|
||||||
address
|
address
|
||||||
symbol
|
symbol
|
||||||
}
|
}
|
||||||
|
@ -155,14 +162,11 @@ const UserTokenOrders = gql`
|
||||||
}
|
}
|
||||||
`
|
`
|
||||||
|
|
||||||
// TODO: counting orders might be enough here to get sales for a user
|
|
||||||
const UserSalesQuery = gql`
|
const UserSalesQuery = gql`
|
||||||
query UserSalesQuery($userSalesId: ID) {
|
query UserSalesQuery($user: String!) {
|
||||||
users(where: { id: $userSalesId }) {
|
users(where: { id: $user }) {
|
||||||
id
|
id
|
||||||
orders(first: 10000) {
|
totalSales
|
||||||
id
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
`
|
`
|
||||||
|
@ -378,9 +382,8 @@ export async function getUserTokenOrders(
|
||||||
variables,
|
variables,
|
||||||
chainIds
|
chainIds
|
||||||
)
|
)
|
||||||
|
|
||||||
for (let i = 0; i < tokenOrders?.length; i++) {
|
for (let i = 0; i < tokenOrders?.length; i++) {
|
||||||
tokenOrders[i].tokenOrders.forEach((tokenOrder: OrdersData) => {
|
tokenOrders[i].orders.forEach((tokenOrder: OrdersData) => {
|
||||||
data.push(tokenOrder)
|
data.push(tokenOrder)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -395,7 +398,7 @@ export async function getUserSales(
|
||||||
accountId: string,
|
accountId: string,
|
||||||
chainIds: number[]
|
chainIds: number[]
|
||||||
): Promise<number> {
|
): Promise<number> {
|
||||||
const variables = { userSalesId: accountId?.toLowerCase() }
|
const variables = { user: accountId?.toLowerCase() }
|
||||||
try {
|
try {
|
||||||
const userSales = await fetchDataForMultipleChains(
|
const userSales = await fetchDataForMultipleChains(
|
||||||
UserSalesQuery,
|
UserSalesQuery,
|
||||||
|
@ -405,7 +408,7 @@ export async function getUserSales(
|
||||||
let salesSum = 0
|
let salesSum = 0
|
||||||
for (let i = 0; i < userSales.length; i++) {
|
for (let i = 0; i < userSales.length; i++) {
|
||||||
if (userSales[i].users.length > 0) {
|
if (userSales[i].users.length > 0) {
|
||||||
salesSum += userSales[i].users[0].nrSales
|
salesSum += parseInt(userSales[i].users[0].totalSales)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return salesSum
|
return salesSum
|
||||||
|
@ -434,7 +437,7 @@ export async function getTopAssetsPublishers(
|
||||||
if (publishersIndex === -1) {
|
if (publishersIndex === -1) {
|
||||||
const publisher: AccountTeaserVM = {
|
const publisher: AccountTeaserVM = {
|
||||||
address: fetchedUsers.data.users[i].id,
|
address: fetchedUsers.data.users[i].id,
|
||||||
nrSales: fetchedUsers.data.users[i].orders.length
|
nrSales: fetchedUsers.data.users[i].totalSales
|
||||||
}
|
}
|
||||||
publisherSales.push(publisher)
|
publisherSales.push(publisher)
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user