From 348607d585b153f495f2ff08a198025183c3a7b8 Mon Sep 17 00:00:00 2001 From: paidge <paidge_cs@hotmail.com> Date: Mon, 3 Jan 2022 02:06:23 +0100 Subject: [PATCH] cache customisation for apollo --- graphql/index.js | 14 +++++++++++++- pages/index.vue | 22 ++++++++++++++-------- 2 files changed, 27 insertions(+), 9 deletions(-) diff --git a/graphql/index.js b/graphql/index.js index c0498f9..630319e 100644 --- a/graphql/index.js +++ b/graphql/index.js @@ -16,7 +16,19 @@ export default ctx => { }) const link = from([ssrMiddleware, httpLink]) - const cache = new InMemoryCache({addTypename:false}) + const cache = new InMemoryCache({ + typePolicies: { + Event: { + keyFields: ['block',['bct']] + }, + EventId: { + keyFields: ['member',['hash'],'inOut'] + }, + Identity: { + keyFields: ['hash'] + } + } + }) return { link, diff --git a/pages/index.vue b/pages/index.vue index a328af1..5b568a8 100644 --- a/pages/index.vue +++ b/pages/index.vue @@ -45,7 +45,7 @@ export default { query: gql`query LastEvents($start: Int64, $end: Int64) { membersCount(start: $start, end: $end) { idList { - id { + member : id { pubkey uid status @@ -56,23 +56,29 @@ export default { } } inOut + }, + block { + bct } } } `, variables(){return {start:today-86400*2,end:today}}, update (data) { + console.log(data) let result = {'entrees':[],'sorties':[]} for (let i = 0; i < data.membersCount.length; i++) { - let member = data.membersCount[i].idList[0] - member.id.inOut = member.inOut + for (let j =0; j < data.membersCount[i].idList.length; j++) { + let member = data.membersCount[i].idList[j] + member.member.inOut = member.inOut - if (member.inOut || member.id.status=='MEMBER') { - if (result['entrees'].filter(function(e) { return e.hash === member.id.hash; }).length == 0) { - result['entrees'].push(member.id) + if (member.inOut || member.member.status=='MEMBER') { + if (result['entrees'].filter(function(e) { return e.hash === member.member.hash; }).length == 0) { + result['entrees'].push(member.member) + } + } else { + result['sorties'].push(member.member) } - } else { - result['sorties'].push(member.id) } } -- GitLab