mirror of
https://github.com/IT4Change/gradido.git
synced 2025-12-13 07:45:54 +00:00
Change the transactionList query so we can get only creation and get the list for specific users.
This commit is contained in:
parent
9bc13c39a6
commit
75cbea2321
@ -5,55 +5,40 @@
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { transactionList } from '../graphql/transactionList'
|
||||
export default {
|
||||
name: 'CreationTransactionList',
|
||||
props: {
|
||||
userId: { type: Number, required: true },
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
items: [
|
||||
{
|
||||
gdd: 700,
|
||||
date: '16.11.2021',
|
||||
memo: 'klaljk jakldasjd lajlaldjalajsd aasj asdl jaljaldj aa jda l jdla jda',
|
||||
moderator: 'Moderator Eins',
|
||||
},
|
||||
{
|
||||
gdd: 800,
|
||||
date: '23.10.2021',
|
||||
memo: 'jij ijdas ijad sa jsd a ijaojodjajd jiaojdja dij aij doa aojd ao jd',
|
||||
moderator: 'Moderator Eins',
|
||||
},
|
||||
{
|
||||
gdd: 1000,
|
||||
date: '13.09.2021',
|
||||
memo: 'asdd d adad adsdadda dsdadadasds asdadada da dadadad adadada d',
|
||||
moderator: 'Moderator Eins',
|
||||
},
|
||||
{
|
||||
gdd: 400,
|
||||
date: '03.07.2021',
|
||||
memo: 'casc acas ac acacacs cac acacac acc acac ca cacac',
|
||||
moderator: 'Moderator Zwei',
|
||||
},
|
||||
{
|
||||
gdd: 210,
|
||||
date: '04.06.2021',
|
||||
memo: 'asc dfdvdvdf vfvd vdfvdff vdvdfvd vff dvfd vdfv dfv dfvdf vdfvdfv',
|
||||
moderator: 'Moderator Eins',
|
||||
},
|
||||
{
|
||||
gdd: 890,
|
||||
date: '07.05.2021',
|
||||
memo: 'reett ttertt etet et et ertetetet et ert et ertertertet',
|
||||
moderator: 'Moderator Eins',
|
||||
},
|
||||
{
|
||||
gdd: 380,
|
||||
date: '22.04.2021',
|
||||
memo: 'bnnbnbbncvbcv bcbcbc bcb cbc bcb cvb cbccvvbcvb bvbcbcbcbc bcb cb',
|
||||
moderator: 'Moderator Zwei',
|
||||
},
|
||||
],
|
||||
items: [],
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
getTransactions() {
|
||||
this.$apollo
|
||||
.query({
|
||||
query: transactionList,
|
||||
variables: {
|
||||
currentPage: 1,
|
||||
pageSize: 25,
|
||||
order: 'DESC',
|
||||
onlyCreations: true,
|
||||
userId: parseInt(this.userId),
|
||||
},
|
||||
})
|
||||
.then((result) => {
|
||||
this.items = result.data.transactionList.transactions
|
||||
})
|
||||
.catch((error) => {
|
||||
console.log('Something went wrong', error)
|
||||
})
|
||||
},
|
||||
},
|
||||
created() {
|
||||
this.getTransactions()
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
@ -125,7 +125,10 @@
|
||||
:dateLastSend="$moment().subtract(1, 'month').format('dddd, DD.MMMM.YYYY HH:mm'),"
|
||||
/>
|
||||
|
||||
<creation-transaction-list-formular v-if="showCreationTransactionListFormular" />
|
||||
<creation-transaction-list-formular
|
||||
v-if="showCreationTransactionListFormular"
|
||||
:userId="row.item.userId"
|
||||
/>
|
||||
|
||||
<b-button size="sm" @click="row.toggleDetails">
|
||||
<b-icon
|
||||
|
||||
@ -3,6 +3,7 @@ import gql from 'graphql-tag'
|
||||
export const searchUsers = gql`
|
||||
query ($searchText: String!) {
|
||||
searchUsers(searchText: $searchText) {
|
||||
userId
|
||||
firstName
|
||||
lastName
|
||||
email
|
||||
|
||||
44
admin/src/graphql/transactionList.js
Normal file
44
admin/src/graphql/transactionList.js
Normal file
@ -0,0 +1,44 @@
|
||||
import gql from 'graphql-tag'
|
||||
|
||||
export const transactionList = gql`
|
||||
query (
|
||||
$currentPage: Int = 1
|
||||
$pageSize: Int = 25
|
||||
$order: Order = DESC
|
||||
$onlyCreations: Boolean = false
|
||||
$userId: Int = null
|
||||
) {
|
||||
transactionList(
|
||||
currentPage: $currentPage
|
||||
pageSize: $pageSize
|
||||
order: $order
|
||||
onlyCreations: $onlyCreations
|
||||
userId: $userId
|
||||
) {
|
||||
gdtSum
|
||||
count
|
||||
balance
|
||||
decay
|
||||
decayDate
|
||||
transactions {
|
||||
type
|
||||
balance
|
||||
decayStart
|
||||
decayEnd
|
||||
decayDuration
|
||||
memo
|
||||
transactionId
|
||||
name
|
||||
email
|
||||
date
|
||||
decay {
|
||||
balance
|
||||
decayStart
|
||||
decayEnd
|
||||
decayDuration
|
||||
decayStartBlock
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
`
|
||||
@ -11,4 +11,10 @@ export default class Paginated {
|
||||
|
||||
@Field(() => Order, { nullable: true })
|
||||
order?: Order
|
||||
|
||||
@Field(() => Boolean, { nullable: true })
|
||||
onlyCreations?: boolean
|
||||
|
||||
@Field(() => Int, { nullable: true })
|
||||
userId?: number
|
||||
}
|
||||
|
||||
@ -2,6 +2,9 @@ import { ObjectType, Field } from 'type-graphql'
|
||||
|
||||
@ObjectType()
|
||||
export class UserAdmin {
|
||||
@Field(() => Number)
|
||||
userId: number
|
||||
|
||||
@Field(() => String)
|
||||
email: string
|
||||
|
||||
|
||||
@ -29,6 +29,7 @@ export class AdminResolver {
|
||||
const adminUsers = await Promise.all(
|
||||
users.map(async (user) => {
|
||||
const adminUser = new UserAdmin()
|
||||
adminUser.userId = user.id
|
||||
adminUser.firstName = user.firstName
|
||||
adminUser.lastName = user.lastName
|
||||
adminUser.email = user.email
|
||||
|
||||
@ -340,6 +340,7 @@ async function listTransactions(
|
||||
pageSize: number,
|
||||
order: Order,
|
||||
user: dbUser,
|
||||
onlyCreations: boolean,
|
||||
): Promise<TransactionList> {
|
||||
let limit = pageSize
|
||||
let offset = 0
|
||||
@ -379,6 +380,14 @@ async function listTransactions(
|
||||
|
||||
const transactionList = new TransactionList()
|
||||
transactionList.count = userTransactionsCount
|
||||
if (onlyCreations) {
|
||||
console.log('before filtering', transactions)
|
||||
transactions = transactions.filter((transaction) => {
|
||||
console.log('In filter', transaction)
|
||||
return transaction.type === 'creation'
|
||||
})
|
||||
console.log('after filtering', transactions)
|
||||
}
|
||||
transactionList.transactions = transactions
|
||||
return transactionList
|
||||
}
|
||||
@ -469,14 +478,33 @@ export class TransactionResolver {
|
||||
@Authorized([RIGHTS.TRANSACTION_LIST])
|
||||
@Query(() => TransactionList)
|
||||
async transactionList(
|
||||
@Args() { currentPage = 1, pageSize = 25, order = Order.DESC }: Paginated,
|
||||
@Args()
|
||||
{
|
||||
currentPage = 1,
|
||||
pageSize = 25,
|
||||
order = Order.DESC,
|
||||
onlyCreations = false,
|
||||
userId,
|
||||
}: Paginated,
|
||||
@Ctx() context: any,
|
||||
): Promise<TransactionList> {
|
||||
// load user
|
||||
const userRepository = getCustomRepository(UserRepository)
|
||||
const userEntity = await userRepository.findByPubkeyHex(context.pubKey)
|
||||
let userEntity: dbUser | undefined
|
||||
if (userId) {
|
||||
console.log('Find by id, ', userId)
|
||||
userEntity = await userRepository.findOneOrFail({ id: userId })
|
||||
} else {
|
||||
userEntity = await userRepository.findByPubkeyHex(context.pubKey)
|
||||
}
|
||||
|
||||
const transactions = await listTransactions(currentPage, pageSize, order, userEntity)
|
||||
const transactions = await listTransactions(
|
||||
currentPage,
|
||||
pageSize,
|
||||
order,
|
||||
userEntity,
|
||||
onlyCreations,
|
||||
)
|
||||
|
||||
// get gdt sum
|
||||
const resultGDTSum = await apiPost(`${CONFIG.GDT_API_URL}/GdtEntries/sumPerEmailApi`, {
|
||||
|
||||
@ -47,8 +47,18 @@ export const logout = gql`
|
||||
`
|
||||
|
||||
export const transactionsQuery = gql`
|
||||
query($currentPage: Int = 1, $pageSize: Int = 25, $order: Order = DESC) {
|
||||
transactionList(currentPage: $currentPage, pageSize: $pageSize, order: $order) {
|
||||
query(
|
||||
$currentPage: Int = 1
|
||||
$pageSize: Int = 25
|
||||
$order: Order = DESC
|
||||
$onlyCreations: Boolean = false
|
||||
) {
|
||||
transactionList(
|
||||
currentPage: $currentPage
|
||||
pageSize: $pageSize
|
||||
order: $order
|
||||
onlyCreations: $onlyCreations
|
||||
) {
|
||||
gdtSum
|
||||
count
|
||||
balance
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user