task-svr/src/services/chain.svr.ts
2024-01-12 15:07:53 +08:00

53 lines
1.6 KiB
TypeScript

import { NftHolder } from "models/chain/NftHolder"
import { NftStake } from "models/chain/NftStake"
export const queryCheckInList = async (address: string, days: string | number | string[], limit: number = 0) => {
const url = process.env.CHAIN_SVR + '/task/check_in'
return fetch(url, {
method: 'POST',
headers: {"Content-Type": "application/json"},
body: JSON.stringify({
address,
days,
limit
})
}).then((res) => res.json())
}
export const queryCheckInSeq = async (address: string) =>{
const url = process.env.CHAIN_SVR + '/task/check_in/max_seq'
return fetch(url, {
method: 'POST',
headers: {"Content-Type": "application/json"},
body: JSON.stringify({
address,
})
}).then((res) => res.json())
}
export const queryBurnNftList = async (address: string, user: string, chain: number) => {
const url = process.env.CHAIN_SVR + '/task/nft/checkburn'
return fetch(url, {
method: 'POST',
headers: {"Content-Type": "application/json"},
body: JSON.stringify({
address,
user,
chain
})
}).then((res) => res.json())
}
export const checkHadGacha = async (user: string) => {
const chain = process.env.CHAIN+''
const address = process.env.GACHA_CONTRACT
const record = await NftHolder.findOne({user, chain, address})
return !!record
}
export const queryStakeList = async (userAddress: string) => {
const chain = process.env.CHAIN+''
const address = process.env.BADGE_CONTRACT
let records = await NftStake.find({chain, nft: address, user: userAddress.toLowerCase()})
return records
}