Refactoring
This commit is contained in:
parent
c8b6b6e44f
commit
7c7f32d9a6
32 changed files with 1125 additions and 1111 deletions
37
src/chart/hashtag.ts
Normal file
37
src/chart/hashtag.ts
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
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();
|
||||
Loading…
Add table
Add a link
Reference in a new issue