diff --git a/src/services/update-chart.ts b/src/services/update-chart.ts index f6835fb78..f7997cb77 100644 --- a/src/services/update-chart.ts +++ b/src/services/update-chart.ts @@ -1,6 +1,6 @@ import { INote } from '../models/note'; import Chart, { IChart } from '../models/chart'; -import { isLocalUser } from '../models/user'; +import { isLocalUser, IUser } from '../models/user'; async function getTodayStats(): Promise { const now = new Date(); @@ -22,7 +22,7 @@ async function getTodayStats(): Promise { // 「昨日の」と決め打ちせずに「もっとも最近の」とします const mostRecentStats = await Chart.findOne({}, { sort: { - createdAt: -1 + date: -1 } }); @@ -114,6 +114,22 @@ async function update(inc: any) { }); } +export async function updateUserStats(user: IUser, isAdditional: boolean) { + const inc = {} as any; + + const val = isAdditional ? 1 : -1; + + if (isLocalUser(user)) { + inc['users.local.total'] = val; + inc['users.local.diff'] = val; + } else { + inc['users.remote.total'] = val; + inc['users.remote.diff'] = val; + } + + await update(inc); +} + export async function updateNoteStats(note: INote, isAdditional: boolean) { const inc = {} as any;