Skip to content

Commit 05e6ec5

Browse files
committed
feat - autosail constarints update
1 parent 6e0ef9b commit 05e6ec5

4 files changed

+15
-27
lines changed

src/modules/auto-sail/auto-sail-constraints.service.ts

+9-14
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,7 @@
11
import { injectable } from 'inversify';
22
import { AutoSailConfigDto } from './dto/auto-sail-config.dto';
33
import { AutoSailConstraintsDto } from './dto/auto-sail-constraints.dto';
4-
import {
5-
AutoSailConstraintsMapping,
6-
AutoSailDynamicFieldsMapping,
7-
} from './mappings/auto-sail-constraints.mapping';
4+
import { AutoSailConstraintsTypeMapping } from './mappings/auto-sail-constraints.mapping';
85

96
@injectable()
107
export class AutoSailConstraintsService {
@@ -15,7 +12,7 @@ export class AutoSailConstraintsService {
1512
) {
1613
let isValid = false;
1714
for (const constraint of constraints) {
18-
const conditionTypeKey = AutoSailConstraintsMapping[constraint.type];
15+
const conditionTypeKey = AutoSailConstraintsTypeMapping[constraint.type];
1916

2017
isValid = this[`${conditionTypeKey}Validation`](
2118
constraint,
@@ -42,10 +39,7 @@ export class AutoSailConstraintsService {
4239
case 'equal':
4340
case 'notEqual': {
4441
const configValue = condition[key]?.value;
45-
const payloadValue =
46-
payload[
47-
AutoSailDynamicFieldsMapping?.[triggerEvent]?.[constraint.type]
48-
];
42+
const payloadValue = payload[constraint.type];
4943

5044
if (
5145
(key === 'equal' && configValue?.includes(payloadValue)) ||
@@ -72,11 +66,12 @@ export class AutoSailConstraintsService {
7266
case 'gt':
7367
case 'lt': {
7468
const configIsoTime = new Date(condition[key]?.value);
75-
const targetIsoTime = new Date(
76-
payload[
77-
AutoSailDynamicFieldsMapping?.[triggerEvent]?.[constraint.type]
78-
],
79-
);
69+
let targetIsoTime = new Date(payload[constraint.type]);
70+
71+
/**If value for constraint type is not available, current date is used */
72+
targetIsoTime = isNaN(targetIsoTime.getTime())
73+
? new Date()
74+
: targetIsoTime;
8075

8176
if (
8277
isNaN(configIsoTime.getTime()) ||

src/modules/auto-sail/auto-sail.service.ts

+1
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ export class AutoSailService {
1919
triggerEvent: string,
2020
autoSailConfig: AutoSailConfigDto[],
2121
) {
22+
/**Filter out configs matching the current event */
2223
const filterConfig = autoSailConfig.filter(
2324
(config) => config.triggerEvent === triggerEvent,
2425
);
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
export enum AutoSailConstraintsType {
2-
MESSAGE = 'message',
2+
PLAIN_MESSAGE = 'plainMessage',
33
CREATED_AT = 'createdAt',
44
USER_ID = 'userId',
55
}
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,9 @@
1-
export const AutoSailDynamicFieldsMapping = {
2-
messageCreate: {
3-
message: 'plainMessage',
4-
createdAt: 'createdAt',
5-
updatedAt: 'updatedAt',
6-
userId: 'userId',
7-
channelId: 'channelId',
8-
},
9-
};
10-
11-
export const AutoSailConstraintsMapping = {
12-
message: 'text',
1+
/**Mapping constraint type based on key*/
2+
export const AutoSailConstraintsTypeMapping = {
3+
plainMessage: 'text',
134
userId: 'text',
145
roleId: 'text',
156
channelId: 'text',
167
createdAt: 'date',
8+
currentDate: 'date',
179
};

0 commit comments

Comments
 (0)