Jemin Kothari
10/22/2021, 7:29 AMList
and Activity
model List {
id Int @id @default(autoincrement())
Activity Activity[]
@@map("list")
}
model Activity {
id Int @id @default(autoincrement())
status String
list_id Int
List List @relation(fields: [list_id], references: [ID])
@@map("activity")
}
Jemin Kothari
10/22/2021, 7:31 AMexport const ListDoneActivity = extendType({
type: 'List',
definition(t) {
t.field('listDoneActivity', {
type: nonNull('Int'),
args: {
filter: intArg(),
},
async resolve(parent: any, args, ctx: Context) {
console.log('parent', parent)
console.log('args', args)
return parent.Activity.filter(
(item) => item?.status === 'Done')?.length
},
})
},
})
Jemin Kothari
10/22/2021, 7:31 AMlistDoneActivity
> 2Jemin Kothari
10/22/2021, 7:31 AMJemin Kothari
10/22/2021, 9:11 AMAhmed
10/22/2021, 10:51 AMAhmed
10/22/2021, 10:53 AMActivity
to default fields because maybe frontend asking for the other one extends on this one put not this one this mean will get an errorJemin Kothari
10/22/2021, 10:53 AMJemin Kothari
10/22/2021, 10:54 AMlistDoneActivity
> 2Ahmed
10/22/2021, 10:57 AMargs.filter
and you can use easily here
parent.Activity.filter(
(item) => item?.status === 'Done')?.length
Jemin Kothari
10/22/2021, 10:59 AMlet doneCount = parent.Activity.filter(
(item) => item?.status === 'Done')?.length
return doneCount > args.filter ? doneCount : null