@boarteam/boar-pack-users-backend 5.3.0 → 5.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@boarteam/boar-pack-users-backend",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.4.0",
|
|
4
4
|
"description": "NestJS Users module including permissions system, authentication strategies etc",
|
|
5
5
|
"main": "src/index",
|
|
6
6
|
"files": [
|
|
@@ -60,5 +60,5 @@
|
|
|
60
60
|
"yalc:push": "yalc push",
|
|
61
61
|
"gen-types": "SWAGGER=true JWT_SECRET=swagger nest start"
|
|
62
62
|
},
|
|
63
|
-
"gitHead": "
|
|
63
|
+
"gitHead": "acc7ba1cd1fa8a4972efed9ece60a50740370396"
|
|
64
64
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Column, CreateDateColumn, Entity, ManyToOne, PrimaryGeneratedColumn, UpdateDateColumn, } from 'typeorm';
|
|
1
|
+
import { Column, CreateDateColumn, Entity, Index, ManyToOne, PrimaryGeneratedColumn, UpdateDateColumn, } from 'typeorm';
|
|
2
2
|
import { User } from "../../users";
|
|
3
3
|
|
|
4
4
|
export enum LogType {
|
|
@@ -113,6 +113,7 @@ export class EventLog {
|
|
|
113
113
|
})
|
|
114
114
|
statusCode: number | null;
|
|
115
115
|
|
|
116
|
+
@Index()
|
|
116
117
|
@Column({
|
|
117
118
|
default: 'main'
|
|
118
119
|
})
|
|
@@ -65,4 +65,16 @@ export class EventLogsController implements CrudController<EventLog>{
|
|
|
65
65
|
const end = query.endTime ? new Date(query.endTime) : undefined;
|
|
66
66
|
return this.service.getTimeline(start, end, query.timezone);
|
|
67
67
|
}
|
|
68
|
+
|
|
69
|
+
@CheckPolicies(new ViewEventLogsPolicy())
|
|
70
|
+
@Get('service-names')
|
|
71
|
+
@ApiOkResponse({
|
|
72
|
+
schema: {
|
|
73
|
+
type: 'array',
|
|
74
|
+
items: { type: 'string' },
|
|
75
|
+
},
|
|
76
|
+
})
|
|
77
|
+
async getServiceNames(): Promise<string[]> {
|
|
78
|
+
return this.service.getServiceNames();
|
|
79
|
+
}
|
|
68
80
|
}
|
|
@@ -98,7 +98,8 @@ export class EventLogsService extends TypeOrmCrudService<EventLog> {
|
|
|
98
98
|
return request?.[EventLogsService.requestHandled];
|
|
99
99
|
}
|
|
100
100
|
|
|
101
|
-
|
|
101
|
+
// TODO: Remove async in the next major version (breaking change)
|
|
102
|
+
async operationalLog(eventLog: Partial<EventLog>): Promise<void> {
|
|
102
103
|
this.logsStore.push({
|
|
103
104
|
logLevel: LogLevel.INFO,
|
|
104
105
|
userRole: UserRole.SYSTEM,
|
|
@@ -162,6 +163,15 @@ export class EventLogsService extends TypeOrmCrudService<EventLog> {
|
|
|
162
163
|
]);
|
|
163
164
|
}
|
|
164
165
|
|
|
166
|
+
async getServiceNames(): Promise<string[]> {
|
|
167
|
+
const result = await this.repo
|
|
168
|
+
.createQueryBuilder('event_logs')
|
|
169
|
+
.select('event_logs.service')
|
|
170
|
+
.distinctOn(['service'])
|
|
171
|
+
.getMany();
|
|
172
|
+
return result.map((data) => data.service);
|
|
173
|
+
}
|
|
174
|
+
|
|
165
175
|
private async getOldestLogDate(): Promise<Date> {
|
|
166
176
|
const oldestLog = await this.repo.createQueryBuilder('event_log')
|
|
167
177
|
.select('MIN(event_log.createdAt)', 'min')
|