Skip to content

Commit 95dddeb

Browse files
committed
Add activity-log comment. #41
1 parent dd0e257 commit 95dddeb

File tree

6 files changed

+41
-6
lines changed

6 files changed

+41
-6
lines changed

src/controllers/user-statuses-controller.ts

+4-3
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ import {
2121
getSpecificUserStatuses,
2222
updateUserStatus
2323
} from '../data';
24-
import { Platform, UserStatusMap, Cache, Status } from '../core';
24+
import { Platform, UserStatusMap, Cache, SetUserStatus } from '../core';
2525
import { UserStatus, Pagination } from '../models';
2626

2727
const usersCache = new Cache(
@@ -128,9 +128,10 @@ export class UserStatusesController extends Controller {
128128
@Put('statuses/{id}')
129129
public async updateUser(
130130
id: number,
131-
@Body() { status }: { status: Status },
131+
@Body() setUserStatus: SetUserStatus,
132132
@Request() request: express.Request
133133
): Promise<UserStatus> {
134-
return await updateUserStatus(id, status, request.user);
134+
const { status, comment } = setUserStatus;
135+
return await updateUserStatus(id, status, request.user, comment);
135136
}
136137
}

src/core/symbols.ts

+5
Original file line numberDiff line numberDiff line change
@@ -41,3 +41,8 @@ export interface SignedInfo {
4141
adminId: number;
4242
scope: Scope;
4343
}
44+
45+
export interface SetUserStatus {
46+
status: Status;
47+
comment?: string;
48+
}

src/data/report.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ export const createNewReport = async (report: UserStatus, reporterKey: string) =
5454

5555
await saveActivity({
5656
userStatusId: userStatus.id,
57-
newStatus: status
57+
newStatus: status,
58+
comment: userStatus.description
5859
});
5960
};

src/data/user-statuses.ts

+4-2
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,8 @@ export const getSpecificUserStatuses = async (
104104
export const updateUserStatus = async (
105105
id: number,
106106
status: Status,
107-
adminId: number
107+
adminId: number,
108+
comment: string
108109
): Promise<UserStatus> => {
109110
const botRepository = getConnection().getRepository(UserStatus);
110111
const userStatus = await botRepository.findOne(id);
@@ -114,7 +115,8 @@ export const updateUserStatus = async (
114115
userStatusId: userStatus.id,
115116
oldStatus: userStatus.status,
116117
newStatus: status,
117-
adminId
118+
adminId,
119+
comment
118120
});
119121

120122
return userStatus;
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
import { MigrationInterface, QueryRunner, Table, TableColumn } from 'typeorm';
2+
3+
export class AddActivityComment1554323679399 implements MigrationInterface {
4+
public async up(queryRunner: QueryRunner): Promise<any> {
5+
await this._createColumns(queryRunner);
6+
}
7+
8+
public async down(queryRunner: QueryRunner): Promise<any> {
9+
await queryRunner.dropColumn('activity_log', 'comment');
10+
}
11+
12+
private async _createColumns(queryRunner: QueryRunner) {
13+
await queryRunner.addColumn(
14+
'activity_log',
15+
new TableColumn({
16+
name: 'comment',
17+
type: 'varchar',
18+
length: '255',
19+
isNullable: true
20+
})
21+
);
22+
}
23+
}

src/models/activity-log.model.ts

+3
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,9 @@ export class ActivityLog {
3838
@CreateDateColumn({ name: 'created_at', nullable: false })
3939
public createdAt: Date;
4040

41+
@Column({ type: 'varchar', length: 255, nullable: true })
42+
public comment?: string;
43+
4144
constructor(private activityLog?: Partial<ActivityLog>) {
4245
if (activityLog) {
4346
Object.assign(this, activityLog);

0 commit comments

Comments
 (0)