task-svr/src/services/chain.svr.ts
CounterFire2023 7d3cd73afc reformat code
2024-01-17 11:07:48 +08:00

54 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
}