Skip to content

Commit

Permalink
cleanup
Browse files Browse the repository at this point in the history
  • Loading branch information
mrsmkl committed Jan 10, 2023
1 parent cac2490 commit 522976b
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 34 deletions.
35 changes: 8 additions & 27 deletions src/access/access.controller.ts
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,13 @@ export class AccessController {
async doNftTransfer(
@Body() transferData: TransferDto,
@Req() req: Request<unknown>,
): Promise<string> {
return this.internalTransfer(transferData, req)
}

private async internalTransfer(
@Body() transferData: TransferDto,
@Req() req: Request<unknown>,
): Promise<string> {
Logger.debug(`Transferring NFT with agreement ${transferData.agreementId}`)
const nevermined = this.nvmService.getNevermined()
Expand Down Expand Up @@ -141,33 +148,7 @@ export class AccessController {
@Body() transferData: TransferDto,
@Req() req: Request<unknown>,
): Promise<string> {
Logger.debug(`Transferring NFT with agreement ${transferData.agreementId}`)
const nevermined = this.nvmService.getNevermined()
let agreement: AgreementData
try {
agreement = await nevermined.keeper.agreementStoreManager.getAgreement(
transferData.agreementId,
)
} catch (e) {
Logger.error(`Error resolving agreement ${transferData.agreementId}`)
throw new NotFoundException(`Agreement ${transferData.agreementId} not found`)
}
if (!agreement) {
Logger.error(`Agreement ${transferData.agreementId} not found`)
throw new NotFoundException(`Agreement ${transferData.agreementId} not found`)
}
const params: ValidationParams = {
consumer_address: transferData.nftReceiver,
did: agreement.did,
agreement_id: transferData.agreementId,
nft_amount: BigNumber.from(transferData.nftAmount || '0'),
buyer: (req.user || {}).buyer,
}
console.log(params)
const plugin = nevermined.assets.servicePlugin['nft-sales']
const [from] = await nevermined.accounts.list()
await plugin.process(params, from, undefined)
return 'success'
return this.internalTransfer(transferData, req)
}

@Get('download/:index')
Expand Down
14 changes: 7 additions & 7 deletions src/auth/auth.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@ import {
zeroX,
findServiceConditionByName,
} from '@nevermined-io/nevermined-sdk-js/dist/node/utils'
import { Logger } from '@nevermined-io/nevermined-sdk-js'
import { BigNumber } from 'ethers'
import { Logger, Account } from '@nevermined-io/nevermined-sdk-js'
import BigNumber from '@nevermined-io/nevermined-sdk-js/dist/node/utils/BigNumber'

const BASE_URL = '/api/v1/node/services/'

Expand All @@ -35,8 +35,11 @@ export class AuthService {
if (!service) {
return null
}
if (service.attributes.main.ercType == 721) {
return BigNumber.from(1)
}
const holder = findServiceConditionByName(service, 'nftHolder')
if (!service) {
if (!holder) {
return BigNumber.from(1)
}
const num = holder.parameters.find((p) => p.name === '_numberNfts').value
Expand All @@ -49,10 +52,7 @@ export class AuthService {
)
if (!granted) {
const limit = await getNftAccess()
const balance = await nevermined.keeper.nftUpgradeable.balance(
consumer_address,
didZeroX(did),
)
const balance = await nevermined.nfts.balance(did, new Account(consumer_address))
if (!limit || !balance.gte(limit)) {
throw new UnauthorizedException(
`Address ${consumer_address} has no permission to access ${did}`,
Expand Down

0 comments on commit 522976b

Please sign in to comment.