mizzkey/src/chart/hashtag.ts

38 lines
709 B
TypeScript
Raw Normal View History

2018-10-22 22:36:35 +02:00
import autobind from 'autobind-decorator';
import * as mongo from 'mongodb';
import Chart, { Partial } from './';
/**
*
*/
type HashtagLog = {
/**
* 稿
*/
count: number;
};
class HashtagChart extends Chart<HashtagLog> {
constructor() {
super('hashtag', true);
}
@autobind
protected async getTemplate(init: boolean, latest?: HashtagLog): Promise<HashtagLog> {
return {
count: 0
};
}
@autobind
public async update(hashtag: string, userId: mongo.ObjectId) {
const inc: Partial<HashtagLog> = {
count: 1
};
await this.incIfUnique(inc, 'users', userId.toHexString(), hashtag);
}
}
export default new HashtagChart();