@venturialstd/slack 0.1.4 → 0.1.5
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/dist/auth/constants/role.constant.d.ts +6 -0
- package/dist/auth/constants/role.constant.d.ts.map +1 -0
- package/dist/auth/constants/role.constant.js +10 -0
- package/dist/auth/constants/role.constant.js.map +1 -0
- package/dist/auth/constants/strategy.constant.d.ts +6 -0
- package/dist/auth/constants/strategy.constant.d.ts.map +1 -0
- package/dist/auth/constants/strategy.constant.js +9 -0
- package/dist/auth/constants/strategy.constant.js.map +1 -0
- package/dist/auth/decorators/role.decorator.d.ts +5 -0
- package/dist/auth/decorators/role.decorator.d.ts.map +1 -0
- package/dist/auth/decorators/role.decorator.js +8 -0
- package/dist/auth/decorators/role.decorator.js.map +1 -0
- package/dist/auth/guards/auth0.guard.d.ts +9 -0
- package/dist/auth/guards/auth0.guard.d.ts.map +1 -0
- package/dist/auth/guards/auth0.guard.js +28 -0
- package/dist/auth/guards/auth0.guard.js.map +1 -0
- package/dist/auth/guards/roles.guard.d.ts +8 -0
- package/dist/auth/guards/roles.guard.d.ts.map +1 -0
- package/dist/auth/guards/roles.guard.js +40 -0
- package/dist/auth/guards/roles.guard.js.map +1 -0
- package/dist/settings/constants/settings.constant.d.ts +12 -0
- package/dist/settings/constants/settings.constant.d.ts.map +1 -0
- package/dist/settings/constants/settings.constant.js +16 -0
- package/dist/settings/constants/settings.constant.js.map +1 -0
- package/dist/settings/controllers/admin/settings.admin.controller.d.ts +12 -0
- package/dist/settings/controllers/admin/settings.admin.controller.d.ts.map +1 -0
- package/dist/settings/controllers/admin/settings.admin.controller.js +75 -0
- package/dist/settings/controllers/admin/settings.admin.controller.js.map +1 -0
- package/dist/settings/entities/settings.entity.d.ts +17 -0
- package/dist/settings/entities/settings.entity.d.ts.map +1 -0
- package/dist/settings/entities/settings.entity.js +103 -0
- package/dist/settings/entities/settings.entity.js.map +1 -0
- package/dist/settings/services/settings.service.d.ts +13 -0
- package/dist/settings/services/settings.service.d.ts.map +1 -0
- package/dist/settings/services/settings.service.js +150 -0
- package/dist/settings/services/settings.service.js.map +1 -0
- package/dist/settings/settings.module.d.ts +3 -0
- package/dist/settings/settings.module.d.ts.map +1 -0
- package/dist/settings/settings.module.js +26 -0
- package/dist/settings/settings.module.js.map +1 -0
- package/dist/shared/constants/crud.d.ts +83 -0
- package/dist/shared/constants/crud.d.ts.map +1 -0
- package/dist/shared/constants/crud.js +132 -0
- package/dist/shared/constants/crud.js.map +1 -0
- package/dist/shared/logger/logger.service.d.ts +13 -0
- package/dist/shared/logger/logger.service.d.ts.map +1 -0
- package/dist/shared/logger/logger.service.js +75 -0
- package/dist/shared/logger/logger.service.js.map +1 -0
- package/dist/slack/clients/slack.client.d.ts.map +1 -0
- package/dist/slack/constants/slack.constants.d.ts.map +1 -0
- package/dist/slack/constants/slack.event.constant.d.ts.map +1 -0
- package/dist/slack/controllers/slack.webhook.controller.d.ts +13 -0
- package/dist/slack/controllers/slack.webhook.controller.d.ts.map +1 -0
- package/dist/slack/controllers/slack.webhook.controller.js +61 -0
- package/dist/slack/controllers/slack.webhook.controller.js.map +1 -0
- package/dist/slack/dtos/slack-webhook-event.dto.d.ts.map +1 -0
- package/dist/slack/index.d.ts.map +1 -0
- package/dist/slack/index.js.map +1 -1
- package/dist/slack/interfaces/logger.interface.js.map +1 -1
- package/dist/slack/services/slack-channel.service.d.ts +11 -0
- package/dist/slack/services/slack-channel.service.d.ts.map +1 -0
- package/dist/slack/services/slack-channel.service.js +57 -0
- package/dist/slack/services/slack-channel.service.js.map +1 -0
- package/dist/slack/services/slack-message.service.d.ts +10 -0
- package/dist/slack/services/slack-message.service.d.ts.map +1 -0
- package/dist/slack/services/slack-message.service.js +48 -0
- package/dist/slack/services/slack-message.service.js.map +1 -0
- package/dist/slack/settings/slack.settings.d.ts +3 -0
- package/dist/slack/settings/slack.settings.d.ts.map +1 -0
- package/dist/slack/settings/slack.settings.js +19 -0
- package/dist/slack/settings/slack.settings.js.map +1 -0
- package/dist/slack/slack.module.d.ts.map +1 -0
- package/dist/slack/tsconfig.build.tsbuildinfo +1 -1
- package/dist/slack/types/slack.event.type.d.ts.map +1 -0
- package/package.json +3 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"settings.service.js","sourceRoot":"","sources":["../../../../settings/services/settings.service.ts"],"names":[],"mappings":"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","sourcesContent":["import { CrudRequest } from '@dataui/crud';\r\nimport { TypeOrmCrudService } from '@dataui/crud-typeorm';\r\nimport { Injectable } from '@nestjs/common';\r\nimport { InjectRepository } from '@nestjs/typeorm';\r\nimport * as glob from 'glob';\r\nimport * as path from 'path';\r\nimport { DeepPartial, Repository } from 'typeorm';\r\n\r\nimport { Settings } from '../entities/settings.entity';\r\n\r\n@Injectable()\r\nexport class SettingsService extends TypeOrmCrudService<Settings> {\r\n constructor(@InjectRepository(Settings) repo: Repository<Settings>) {\r\n super(repo);\r\n }\r\n\r\n async getModulesSettings() {\r\n const pattern = path.join(__dirname, '../../../src/*/settings/*.settings.js');\r\n const files = glob.sync(pattern);\r\n\r\n const allSettings = [];\r\n for (const file of files) {\r\n try {\r\n const mod = await import(file);\r\n if (mod.SETTINGS) {\r\n allSettings.push(...mod.SETTINGS);\r\n }\r\n } catch (e) {\r\n console.error(`Error loading settings from ${file}:`, e);\r\n }\r\n }\r\n return allSettings;\r\n }\r\n\r\n async getAllWithDefaults(req: CrudRequest) {\r\n const dbConfigs = (await this.getMany(req)) as Settings[];\r\n\r\n // Create a map to override defaults with database entries\r\n const dbConfigMap = new Map<string, Settings>(\r\n dbConfigs.map((config) => [\r\n `${config.scope}:${config.module}:${config.section}:${config.key}`,\r\n config,\r\n ]),\r\n );\r\n\r\n const SETTINGS_DEFAULT = await this.getModulesSettings();\r\n\r\n // Merge defaults with database entries\r\n const mergedConfigs = SETTINGS_DEFAULT.map((defaultConfig) => {\r\n const key = `${defaultConfig.scope}:${defaultConfig.module}:${defaultConfig.section}:${defaultConfig.key}`;\r\n return dbConfigMap.get(key) || defaultConfig;\r\n });\r\n\r\n // Include any additional database entries not in defaults\r\n const additionalDbConfigs = dbConfigs.filter(\r\n (dbConfig) =>\r\n !SETTINGS_DEFAULT.some(\r\n (defaultConfig) =>\r\n dbConfig.scope === defaultConfig.scope &&\r\n defaultConfig.module === dbConfig.module &&\r\n defaultConfig.section === dbConfig.section &&\r\n defaultConfig.key === dbConfig.key,\r\n ),\r\n );\r\n\r\n return [...mergedConfigs, ...additionalDbConfigs];\r\n }\r\n\r\n async createOneOverride(req: CrudRequest, dto: DeepPartial<Settings>): Promise<Settings> {\r\n const existingConfig = await this.repo.findOne({\r\n where: {\r\n module: dto.module,\r\n section: dto.section,\r\n key: dto.key,\r\n },\r\n });\r\n\r\n if (existingConfig) {\r\n return this.repo.save({ ...existingConfig, ...dto });\r\n }\r\n\r\n return this.repo.save(dto);\r\n }\r\n\r\n async get(key: string): Promise<string | undefined> {\r\n const keyParts = key.split(':');\r\n if (keyParts.length !== 4) {\r\n throw new Error('Invalid key format. Expected format: module:section:key');\r\n }\r\n const [scope, module, section, configKey] = keyParts;\r\n\r\n const config = await this.repo.findOne({\r\n where: {\r\n scope,\r\n module,\r\n section,\r\n key: configKey,\r\n },\r\n });\r\n\r\n const SETTINGS_DEFAULT = await this.getModulesSettings();\r\n\r\n const defaultConfig = SETTINGS_DEFAULT.find(\r\n (config) =>\r\n config.module === module && config.section === section && config.key === configKey,\r\n );\r\n\r\n if (config) {\r\n return config.value;\r\n } else if (defaultConfig) {\r\n return defaultConfig.value;\r\n } else {\r\n return undefined;\r\n }\r\n }\r\n\r\n async getManyWithDefaults(keys: string[]): Promise<Record<string, string>> {\r\n const results: Record<string, string> = {};\r\n for (const key of keys) {\r\n const value = await this.get(key);\r\n if (value !== undefined) {\r\n results[key] = value;\r\n }\r\n }\r\n return results;\r\n }\r\n}\r\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"settings.module.d.ts","sourceRoot":"","sources":["../../../settings/settings.module.ts"],"names":[],"mappings":"AAOA,qBAMa,cAAc;CAAG"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.SettingsModule = void 0;
|
|
10
|
+
const common_1 = require("@nestjs/common");
|
|
11
|
+
const typeorm_1 = require("@nestjs/typeorm");
|
|
12
|
+
const settings_admin_controller_1 = require("./controllers/admin/settings.admin.controller");
|
|
13
|
+
const settings_entity_1 = require("./entities/settings.entity");
|
|
14
|
+
const settings_service_1 = require("./services/settings.service");
|
|
15
|
+
let SettingsModule = class SettingsModule {
|
|
16
|
+
};
|
|
17
|
+
exports.SettingsModule = SettingsModule;
|
|
18
|
+
exports.SettingsModule = SettingsModule = __decorate([
|
|
19
|
+
(0, common_1.Module)({
|
|
20
|
+
imports: [typeorm_1.TypeOrmModule.forFeature([settings_entity_1.Settings])],
|
|
21
|
+
providers: [settings_service_1.SettingsService],
|
|
22
|
+
controllers: [settings_admin_controller_1.SettingsAdminController],
|
|
23
|
+
exports: [settings_service_1.SettingsService],
|
|
24
|
+
})
|
|
25
|
+
], SettingsModule);
|
|
26
|
+
//# sourceMappingURL=settings.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"settings.module.js","sourceRoot":"","sources":["../../../settings/settings.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,6CAAgD;AAEhD,6FAAwF;AACxF,gEAAsD;AACtD,kEAA8D;AAQvD,IAAM,cAAc,GAApB,MAAM,cAAc;CAAG,CAAA;AAAjB,wCAAc;yBAAd,cAAc;IAN1B,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,uBAAa,CAAC,UAAU,CAAC,CAAC,0BAAQ,CAAC,CAAC,CAAC;QAC/C,SAAS,EAAE,CAAC,kCAAe,CAAC;QAC5B,WAAW,EAAE,CAAC,mDAAuB,CAAC;QACtC,OAAO,EAAE,CAAC,kCAAe,CAAC;KAC3B,CAAC;GACW,cAAc,CAAG","sourcesContent":["import { Module } from '@nestjs/common';\r\nimport { TypeOrmModule } from '@nestjs/typeorm';\r\n\r\nimport { SettingsAdminController } from './controllers/admin/settings.admin.controller';\r\nimport { Settings } from './entities/settings.entity';\r\nimport { SettingsService } from './services/settings.service';\r\n\r\n@Module({\r\n imports: [TypeOrmModule.forFeature([Settings])],\r\n providers: [SettingsService],\r\n controllers: [SettingsAdminController],\r\n exports: [SettingsService],\r\n})\r\nexport class SettingsModule {}\r\n"]}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { BaseRouteName, CrudRequest } from '@dataui/crud';
|
|
2
|
+
import { ParamsOptions } from '@dataui/crud-request';
|
|
3
|
+
import { ClassSerializerInterceptor } from '@nestjs/common';
|
|
4
|
+
export declare const BASE_DECORATORS: (MethodDecorator & ClassDecorator)[];
|
|
5
|
+
export declare const BASE_INTERCEPTORS: (typeof ClassSerializerInterceptor)[];
|
|
6
|
+
export declare const BASE_ADMIN_DECORATORS: (MethodDecorator & ClassDecorator)[];
|
|
7
|
+
export declare const CRUD_ALL_ROUTES: BaseRouteName[];
|
|
8
|
+
export declare const CRUD_BASE_CONFIG: {
|
|
9
|
+
params: ParamsOptions;
|
|
10
|
+
routes: {
|
|
11
|
+
getManyBase: {
|
|
12
|
+
decorators: (MethodDecorator & ClassDecorator)[];
|
|
13
|
+
interceptors: (typeof ClassSerializerInterceptor)[];
|
|
14
|
+
};
|
|
15
|
+
getOneBase: {
|
|
16
|
+
decorators: (MethodDecorator & ClassDecorator)[];
|
|
17
|
+
interceptors: (typeof ClassSerializerInterceptor)[];
|
|
18
|
+
};
|
|
19
|
+
createOneBase: {
|
|
20
|
+
decorators: (MethodDecorator & ClassDecorator)[];
|
|
21
|
+
interceptors: (typeof ClassSerializerInterceptor)[];
|
|
22
|
+
};
|
|
23
|
+
createManyBase: {
|
|
24
|
+
decorators: (MethodDecorator & ClassDecorator)[];
|
|
25
|
+
interceptors: (typeof ClassSerializerInterceptor)[];
|
|
26
|
+
};
|
|
27
|
+
updateOneBase: {
|
|
28
|
+
decorators: (MethodDecorator & ClassDecorator)[];
|
|
29
|
+
interceptors: (typeof ClassSerializerInterceptor)[];
|
|
30
|
+
};
|
|
31
|
+
replaceOneBase: {
|
|
32
|
+
decorators: (MethodDecorator & ClassDecorator)[];
|
|
33
|
+
interceptors: (typeof ClassSerializerInterceptor)[];
|
|
34
|
+
};
|
|
35
|
+
deleteOneBase: {
|
|
36
|
+
decorators: (MethodDecorator & ClassDecorator)[];
|
|
37
|
+
interceptors: (typeof ClassSerializerInterceptor)[];
|
|
38
|
+
returnDeleted: boolean;
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
};
|
|
42
|
+
export declare const CRUD_ADMIN_BASE_CONFIG: {
|
|
43
|
+
params: {
|
|
44
|
+
id: {
|
|
45
|
+
field: string;
|
|
46
|
+
type: string;
|
|
47
|
+
primary: boolean;
|
|
48
|
+
};
|
|
49
|
+
};
|
|
50
|
+
routes: {
|
|
51
|
+
getManyBase: {
|
|
52
|
+
decorators: (MethodDecorator & ClassDecorator)[];
|
|
53
|
+
interceptors: (typeof ClassSerializerInterceptor)[];
|
|
54
|
+
};
|
|
55
|
+
getOneBase: {
|
|
56
|
+
decorators: (MethodDecorator & ClassDecorator)[];
|
|
57
|
+
interceptors: (typeof ClassSerializerInterceptor)[];
|
|
58
|
+
};
|
|
59
|
+
createOneBase: {
|
|
60
|
+
decorators: (MethodDecorator & ClassDecorator)[];
|
|
61
|
+
interceptors: (typeof ClassSerializerInterceptor)[];
|
|
62
|
+
};
|
|
63
|
+
createManyBase: {
|
|
64
|
+
decorators: (MethodDecorator & ClassDecorator)[];
|
|
65
|
+
interceptors: (typeof ClassSerializerInterceptor)[];
|
|
66
|
+
};
|
|
67
|
+
updateOneBase: {
|
|
68
|
+
decorators: (MethodDecorator & ClassDecorator)[];
|
|
69
|
+
interceptors: (typeof ClassSerializerInterceptor)[];
|
|
70
|
+
};
|
|
71
|
+
replaceOneBase: {
|
|
72
|
+
decorators: (MethodDecorator & ClassDecorator)[];
|
|
73
|
+
interceptors: (typeof ClassSerializerInterceptor)[];
|
|
74
|
+
};
|
|
75
|
+
deleteOneBase: {
|
|
76
|
+
decorators: (MethodDecorator & ClassDecorator)[];
|
|
77
|
+
interceptors: (typeof ClassSerializerInterceptor)[];
|
|
78
|
+
returnDeleted: boolean;
|
|
79
|
+
};
|
|
80
|
+
};
|
|
81
|
+
};
|
|
82
|
+
export declare const cleanCrudRequest: CrudRequest;
|
|
83
|
+
//# sourceMappingURL=crud.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crud.d.ts","sourceRoot":"","sources":["../../../../shared/constants/crud.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,0BAA0B,EAAa,MAAM,gBAAgB,CAAC;AAQvE,eAAO,MAAM,eAAe,sCAAuD,CAAC;AACpF,eAAO,MAAM,iBAAiB,uCAA+B,CAAC;AAC9D,eAAO,MAAM,qBAAqB,sCAA0C,CAAC;AAC7E,eAAO,MAAM,eAAe,EAAE,aAAa,EAQ1C,CAAC;AAEF,eAAO,MAAM,gBAAgB;YAOtB,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgCnB,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuClC,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,WA6B9B,CAAC"}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.cleanCrudRequest = exports.CRUD_ADMIN_BASE_CONFIG = exports.CRUD_BASE_CONFIG = exports.CRUD_ALL_ROUTES = exports.BASE_ADMIN_DECORATORS = exports.BASE_INTERCEPTORS = exports.BASE_DECORATORS = void 0;
|
|
4
|
+
const common_1 = require("@nestjs/common");
|
|
5
|
+
const swagger_1 = require("@nestjs/swagger");
|
|
6
|
+
const role_constant_1 = require("../../auth/constants/role.constant");
|
|
7
|
+
const role_decorator_1 = require("../../auth/decorators/role.decorator");
|
|
8
|
+
const auth0_guard_1 = require("../../auth/guards/auth0.guard");
|
|
9
|
+
const roles_guard_1 = require("../../auth/guards/roles.guard");
|
|
10
|
+
exports.BASE_DECORATORS = [(0, common_1.UseGuards)(auth0_guard_1.Auth0Guard, roles_guard_1.RolesGuard), (0, swagger_1.ApiBearerAuth)()];
|
|
11
|
+
exports.BASE_INTERCEPTORS = [common_1.ClassSerializerInterceptor];
|
|
12
|
+
exports.BASE_ADMIN_DECORATORS = [...exports.BASE_DECORATORS, (0, role_decorator_1.Roles)(role_constant_1.ROLE.ADMIN)];
|
|
13
|
+
exports.CRUD_ALL_ROUTES = [
|
|
14
|
+
'getManyBase',
|
|
15
|
+
'getOneBase',
|
|
16
|
+
'createOneBase',
|
|
17
|
+
'createManyBase',
|
|
18
|
+
'updateOneBase',
|
|
19
|
+
'replaceOneBase',
|
|
20
|
+
'deleteOneBase',
|
|
21
|
+
];
|
|
22
|
+
exports.CRUD_BASE_CONFIG = {
|
|
23
|
+
params: {
|
|
24
|
+
id: {
|
|
25
|
+
field: 'id',
|
|
26
|
+
type: 'uuid',
|
|
27
|
+
primary: true,
|
|
28
|
+
},
|
|
29
|
+
},
|
|
30
|
+
routes: {
|
|
31
|
+
getManyBase: {
|
|
32
|
+
decorators: exports.BASE_DECORATORS,
|
|
33
|
+
interceptors: exports.BASE_INTERCEPTORS,
|
|
34
|
+
},
|
|
35
|
+
getOneBase: {
|
|
36
|
+
decorators: exports.BASE_DECORATORS,
|
|
37
|
+
interceptors: exports.BASE_INTERCEPTORS,
|
|
38
|
+
},
|
|
39
|
+
createOneBase: {
|
|
40
|
+
decorators: exports.BASE_DECORATORS,
|
|
41
|
+
interceptors: exports.BASE_INTERCEPTORS,
|
|
42
|
+
},
|
|
43
|
+
createManyBase: {
|
|
44
|
+
decorators: exports.BASE_DECORATORS,
|
|
45
|
+
interceptors: exports.BASE_INTERCEPTORS,
|
|
46
|
+
},
|
|
47
|
+
updateOneBase: {
|
|
48
|
+
decorators: exports.BASE_DECORATORS,
|
|
49
|
+
interceptors: exports.BASE_INTERCEPTORS,
|
|
50
|
+
},
|
|
51
|
+
replaceOneBase: {
|
|
52
|
+
decorators: exports.BASE_DECORATORS,
|
|
53
|
+
interceptors: exports.BASE_INTERCEPTORS,
|
|
54
|
+
},
|
|
55
|
+
deleteOneBase: {
|
|
56
|
+
decorators: exports.BASE_DECORATORS,
|
|
57
|
+
interceptors: exports.BASE_INTERCEPTORS,
|
|
58
|
+
returnDeleted: true,
|
|
59
|
+
},
|
|
60
|
+
},
|
|
61
|
+
};
|
|
62
|
+
exports.CRUD_ADMIN_BASE_CONFIG = {
|
|
63
|
+
params: {
|
|
64
|
+
id: {
|
|
65
|
+
field: 'id',
|
|
66
|
+
type: 'uuid',
|
|
67
|
+
primary: true,
|
|
68
|
+
},
|
|
69
|
+
},
|
|
70
|
+
routes: {
|
|
71
|
+
getManyBase: {
|
|
72
|
+
decorators: exports.BASE_ADMIN_DECORATORS,
|
|
73
|
+
interceptors: exports.BASE_INTERCEPTORS,
|
|
74
|
+
},
|
|
75
|
+
getOneBase: {
|
|
76
|
+
decorators: exports.BASE_ADMIN_DECORATORS,
|
|
77
|
+
interceptors: exports.BASE_INTERCEPTORS,
|
|
78
|
+
},
|
|
79
|
+
createOneBase: {
|
|
80
|
+
decorators: exports.BASE_ADMIN_DECORATORS,
|
|
81
|
+
interceptors: exports.BASE_INTERCEPTORS,
|
|
82
|
+
},
|
|
83
|
+
createManyBase: {
|
|
84
|
+
decorators: exports.BASE_ADMIN_DECORATORS,
|
|
85
|
+
interceptors: exports.BASE_INTERCEPTORS,
|
|
86
|
+
},
|
|
87
|
+
updateOneBase: {
|
|
88
|
+
decorators: exports.BASE_ADMIN_DECORATORS,
|
|
89
|
+
interceptors: exports.BASE_INTERCEPTORS,
|
|
90
|
+
},
|
|
91
|
+
replaceOneBase: {
|
|
92
|
+
decorators: exports.BASE_ADMIN_DECORATORS,
|
|
93
|
+
interceptors: exports.BASE_INTERCEPTORS,
|
|
94
|
+
},
|
|
95
|
+
deleteOneBase: {
|
|
96
|
+
decorators: exports.BASE_ADMIN_DECORATORS,
|
|
97
|
+
interceptors: exports.BASE_INTERCEPTORS,
|
|
98
|
+
returnDeleted: true,
|
|
99
|
+
},
|
|
100
|
+
},
|
|
101
|
+
};
|
|
102
|
+
exports.cleanCrudRequest = {
|
|
103
|
+
parsed: {
|
|
104
|
+
fields: [],
|
|
105
|
+
paramsFilter: [],
|
|
106
|
+
filter: [],
|
|
107
|
+
or: [],
|
|
108
|
+
join: [],
|
|
109
|
+
sort: [],
|
|
110
|
+
limit: 1000,
|
|
111
|
+
offset: 0,
|
|
112
|
+
authPersist: {},
|
|
113
|
+
classTransformOptions: {},
|
|
114
|
+
search: {},
|
|
115
|
+
page: 0,
|
|
116
|
+
cache: 0,
|
|
117
|
+
includeDeleted: 0,
|
|
118
|
+
},
|
|
119
|
+
options: {
|
|
120
|
+
params: exports.CRUD_BASE_CONFIG.params,
|
|
121
|
+
query: {
|
|
122
|
+
filter: [],
|
|
123
|
+
exclude: [],
|
|
124
|
+
},
|
|
125
|
+
routes: {
|
|
126
|
+
exclude: [],
|
|
127
|
+
only: exports.CRUD_ALL_ROUTES,
|
|
128
|
+
...exports.CRUD_BASE_CONFIG.routes,
|
|
129
|
+
},
|
|
130
|
+
},
|
|
131
|
+
};
|
|
132
|
+
//# sourceMappingURL=crud.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crud.js","sourceRoot":"","sources":["../../../../shared/constants/crud.ts"],"names":[],"mappings":"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","sourcesContent":["import { BaseRouteName, CrudRequest } from '@dataui/crud';\r\nimport { ParamsOptions } from '@dataui/crud-request';\r\nimport { ClassSerializerInterceptor, UseGuards } from '@nestjs/common';\r\nimport { ApiBearerAuth } from '@nestjs/swagger';\r\n\r\nimport { ROLE } from '../../auth/constants/role.constant';\r\nimport { Roles } from '../../auth/decorators/role.decorator';\r\nimport { Auth0Guard } from '../../auth/guards/auth0.guard';\r\nimport { RolesGuard } from '../../auth/guards/roles.guard';\r\n\r\nexport const BASE_DECORATORS = [UseGuards(Auth0Guard, RolesGuard), ApiBearerAuth()];\r\nexport const BASE_INTERCEPTORS = [ClassSerializerInterceptor];\r\nexport const BASE_ADMIN_DECORATORS = [...BASE_DECORATORS, Roles(ROLE.ADMIN)];\r\nexport const CRUD_ALL_ROUTES: BaseRouteName[] = [\r\n 'getManyBase',\r\n 'getOneBase',\r\n 'createOneBase',\r\n 'createManyBase',\r\n 'updateOneBase',\r\n 'replaceOneBase',\r\n 'deleteOneBase',\r\n];\r\n\r\nexport const CRUD_BASE_CONFIG = {\r\n params: {\r\n id: {\r\n field: 'id',\r\n type: 'uuid',\r\n primary: true,\r\n },\r\n } as ParamsOptions,\r\n routes: {\r\n getManyBase: {\r\n decorators: BASE_DECORATORS,\r\n interceptors: BASE_INTERCEPTORS,\r\n },\r\n getOneBase: {\r\n decorators: BASE_DECORATORS,\r\n interceptors: BASE_INTERCEPTORS,\r\n },\r\n createOneBase: {\r\n decorators: BASE_DECORATORS,\r\n interceptors: BASE_INTERCEPTORS,\r\n },\r\n createManyBase: {\r\n decorators: BASE_DECORATORS,\r\n interceptors: BASE_INTERCEPTORS,\r\n },\r\n updateOneBase: {\r\n decorators: BASE_DECORATORS,\r\n interceptors: BASE_INTERCEPTORS,\r\n },\r\n replaceOneBase: {\r\n decorators: BASE_DECORATORS,\r\n interceptors: BASE_INTERCEPTORS,\r\n },\r\n deleteOneBase: {\r\n decorators: BASE_DECORATORS,\r\n interceptors: BASE_INTERCEPTORS,\r\n returnDeleted: true,\r\n },\r\n },\r\n};\r\n\r\nexport const CRUD_ADMIN_BASE_CONFIG = {\r\n params: {\r\n id: {\r\n field: 'id',\r\n type: 'uuid',\r\n primary: true,\r\n },\r\n },\r\n routes: {\r\n getManyBase: {\r\n decorators: BASE_ADMIN_DECORATORS,\r\n interceptors: BASE_INTERCEPTORS,\r\n },\r\n getOneBase: {\r\n decorators: BASE_ADMIN_DECORATORS,\r\n interceptors: BASE_INTERCEPTORS,\r\n },\r\n createOneBase: {\r\n decorators: BASE_ADMIN_DECORATORS,\r\n interceptors: BASE_INTERCEPTORS,\r\n },\r\n createManyBase: {\r\n decorators: BASE_ADMIN_DECORATORS,\r\n interceptors: BASE_INTERCEPTORS,\r\n },\r\n updateOneBase: {\r\n decorators: BASE_ADMIN_DECORATORS,\r\n interceptors: BASE_INTERCEPTORS,\r\n },\r\n replaceOneBase: {\r\n decorators: BASE_ADMIN_DECORATORS,\r\n interceptors: BASE_INTERCEPTORS,\r\n },\r\n deleteOneBase: {\r\n decorators: BASE_ADMIN_DECORATORS,\r\n interceptors: BASE_INTERCEPTORS,\r\n returnDeleted: true,\r\n },\r\n },\r\n};\r\n\r\nexport const cleanCrudRequest: CrudRequest = {\r\n parsed: {\r\n fields: [],\r\n paramsFilter: [],\r\n filter: [],\r\n or: [],\r\n join: [],\r\n sort: [],\r\n limit: 1000,\r\n offset: 0,\r\n authPersist: {},\r\n classTransformOptions: {},\r\n search: {},\r\n page: 0,\r\n cache: 0,\r\n includeDeleted: 0,\r\n },\r\n options: {\r\n params: CRUD_BASE_CONFIG.params as ParamsOptions,\r\n query: {\r\n filter: [],\r\n exclude: [],\r\n },\r\n routes: {\r\n exclude: [],\r\n only: CRUD_ALL_ROUTES,\r\n ...CRUD_BASE_CONFIG.routes,\r\n },\r\n },\r\n};\r\n"]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Logger } from 'winston';
|
|
2
|
+
export declare class AppLogger {
|
|
3
|
+
private context?;
|
|
4
|
+
private logger;
|
|
5
|
+
setContext(context: string): void;
|
|
6
|
+
constructor();
|
|
7
|
+
error(message: string, meta?: Record<string, any>): Logger;
|
|
8
|
+
warn(message: string, meta?: Record<string, any>): Logger;
|
|
9
|
+
debug(message: string, meta?: Record<string, any>): Logger;
|
|
10
|
+
verbose(message: string, meta?: Record<string, any>): Logger;
|
|
11
|
+
log(message: string, meta?: Record<string, any>): Logger;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=logger.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.service.d.ts","sourceRoot":"","sources":["../../../../shared/logger/logger.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,MAAM,EAAc,MAAM,SAAS,CAAC;AAE3D,qBACa,SAAS;IACpB,OAAO,CAAC,OAAO,CAAC,CAAS;IACzB,OAAO,CAAC,MAAM,CAAS;IAEhB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;;IAWxC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM;IAY1D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM;IAYzD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM;IAY1D,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM;IAY5D,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM;CAUzD"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.AppLogger = void 0;
|
|
13
|
+
const common_1 = require("@nestjs/common");
|
|
14
|
+
const winston_1 = require("winston");
|
|
15
|
+
let AppLogger = class AppLogger {
|
|
16
|
+
setContext(context) {
|
|
17
|
+
this.context = context;
|
|
18
|
+
}
|
|
19
|
+
constructor() {
|
|
20
|
+
this.logger = (0, winston_1.createLogger)({
|
|
21
|
+
transports: [new winston_1.transports.Console()],
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
error(message, meta) {
|
|
25
|
+
const timestamp = new Date().toISOString();
|
|
26
|
+
return this.logger.error({
|
|
27
|
+
message,
|
|
28
|
+
contextName: this.context,
|
|
29
|
+
timestamp,
|
|
30
|
+
...meta,
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
warn(message, meta) {
|
|
34
|
+
const timestamp = new Date().toISOString();
|
|
35
|
+
return this.logger.warn({
|
|
36
|
+
message,
|
|
37
|
+
contextName: this.context,
|
|
38
|
+
timestamp,
|
|
39
|
+
...meta,
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
debug(message, meta) {
|
|
43
|
+
const timestamp = new Date().toISOString();
|
|
44
|
+
return this.logger.debug({
|
|
45
|
+
message,
|
|
46
|
+
contextName: this.context,
|
|
47
|
+
timestamp,
|
|
48
|
+
...meta,
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
verbose(message, meta) {
|
|
52
|
+
const timestamp = new Date().toISOString();
|
|
53
|
+
return this.logger.verbose({
|
|
54
|
+
message,
|
|
55
|
+
contextName: this.context,
|
|
56
|
+
timestamp,
|
|
57
|
+
...meta,
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
log(message, meta) {
|
|
61
|
+
const timestamp = new Date().toISOString();
|
|
62
|
+
return this.logger.info({
|
|
63
|
+
message,
|
|
64
|
+
contextName: this.context,
|
|
65
|
+
timestamp,
|
|
66
|
+
...meta,
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
exports.AppLogger = AppLogger;
|
|
71
|
+
exports.AppLogger = AppLogger = __decorate([
|
|
72
|
+
(0, common_1.Injectable)({ scope: common_1.Scope.TRANSIENT }),
|
|
73
|
+
__metadata("design:paramtypes", [])
|
|
74
|
+
], AppLogger);
|
|
75
|
+
//# sourceMappingURL=logger.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.service.js","sourceRoot":"","sources":["../../../../shared/logger/logger.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAmD;AACnD,qCAA2D;AAGpD,IAAM,SAAS,GAAf,MAAM,SAAS;IAIb,UAAU,CAAC,OAAe;QAC/B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED;QACE,IAAI,CAAC,MAAM,GAAG,IAAA,sBAAY,EAAC;YACzB,UAAU,EAAE,CAAC,IAAI,oBAAU,CAAC,OAAO,EAAE,CAAC;SACvC,CAAC,CAAC;IACL,CAAC;IAGD,KAAK,CAAC,OAAe,EAAE,IAA0B;QAC/C,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAE3C,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;YACvB,OAAO;YACP,WAAW,EAAE,IAAI,CAAC,OAAO;YACzB,SAAS;YACT,GAAG,IAAI;SACR,CAAC,CAAC;IACL,CAAC;IAGD,IAAI,CAAC,OAAe,EAAE,IAA0B;QAC9C,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAE3C,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACtB,OAAO;YACP,WAAW,EAAE,IAAI,CAAC,OAAO;YACzB,SAAS;YACT,GAAG,IAAI;SACR,CAAC,CAAC;IACL,CAAC;IAGD,KAAK,CAAC,OAAe,EAAE,IAA0B;QAC/C,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAE3C,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;YACvB,OAAO;YACP,WAAW,EAAE,IAAI,CAAC,OAAO;YACzB,SAAS;YACT,GAAG,IAAI;SACR,CAAC,CAAC;IACL,CAAC;IAGD,OAAO,CAAC,OAAe,EAAE,IAA0B;QACjD,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAE3C,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;YACzB,OAAO;YACP,WAAW,EAAE,IAAI,CAAC,OAAO;YACzB,SAAS;YACT,GAAG,IAAI;SACR,CAAC,CAAC;IACL,CAAC;IAGD,GAAG,CAAC,OAAe,EAAE,IAA0B;QAC7C,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAE3C,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACtB,OAAO;YACP,WAAW,EAAE,IAAI,CAAC,OAAO;YACzB,SAAS;YACT,GAAG,IAAI;SACR,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AAzEY,8BAAS;oBAAT,SAAS;IADrB,IAAA,mBAAU,EAAC,EAAE,KAAK,EAAE,cAAK,CAAC,SAAS,EAAE,CAAC;;GAC1B,SAAS,CAyErB","sourcesContent":["import { Injectable, Scope } from '@nestjs/common';\r\nimport { createLogger, Logger, transports } from 'winston';\r\n\r\n@Injectable({ scope: Scope.TRANSIENT })\r\nexport class AppLogger {\r\n private context?: string;\r\n private logger: Logger;\r\n\r\n public setContext(context: string): void {\r\n this.context = context;\r\n }\r\n\r\n constructor() {\r\n this.logger = createLogger({\r\n transports: [new transports.Console()],\r\n });\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n error(message: string, meta?: Record<string, any>): Logger {\r\n const timestamp = new Date().toISOString();\r\n\r\n return this.logger.error({\r\n message,\r\n contextName: this.context,\r\n timestamp,\r\n ...meta,\r\n });\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n warn(message: string, meta?: Record<string, any>): Logger {\r\n const timestamp = new Date().toISOString();\r\n\r\n return this.logger.warn({\r\n message,\r\n contextName: this.context,\r\n timestamp,\r\n ...meta,\r\n });\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n debug(message: string, meta?: Record<string, any>): Logger {\r\n const timestamp = new Date().toISOString();\r\n\r\n return this.logger.debug({\r\n message,\r\n contextName: this.context,\r\n timestamp,\r\n ...meta,\r\n });\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n verbose(message: string, meta?: Record<string, any>): Logger {\r\n const timestamp = new Date().toISOString();\r\n\r\n return this.logger.verbose({\r\n message,\r\n contextName: this.context,\r\n timestamp,\r\n ...meta,\r\n });\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n log(message: string, meta?: Record<string, any>): Logger {\r\n const timestamp = new Date().toISOString();\r\n\r\n return this.logger.info({\r\n message,\r\n contextName: this.context,\r\n timestamp,\r\n ...meta,\r\n });\r\n }\r\n}\r\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slack.client.d.ts","sourceRoot":"","sources":["../../../clients/slack.client.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAE7D,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAG3E,qBACa,WAAW;IAEpB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,eAAe,EAAE,eAAe,EAChC,MAAM,EAAE,SAAS;YAKtB,gBAAgB;IAmBxB,YAAY;IAOZ,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAQ3C,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAS/D,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IASlE,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW;IAQvD,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;CAO3D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slack.constants.d.ts","sourceRoot":"","sources":["../../../constants/slack.constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;CAE9B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slack.event.constant.d.ts","sourceRoot":"","sources":["../../../constants/slack.event.constant.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,0BAA0B;;CAE7B,CAAC;AAEX,eAAO,MAAM,YAAY;;;CAGxB,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { EventEmitter2 } from '@nestjs/event-emitter';
|
|
2
|
+
import { AppLogger } from '../../shared/logger/logger.service';
|
|
3
|
+
import { SlackWebhookEventDto } from '../dtos/slack-webhook-event.dto';
|
|
4
|
+
import { SlackChallengeResponse, SlackOkResponse } from '../types/slack.event.type';
|
|
5
|
+
type SlackWebhookResponse = SlackChallengeResponse | SlackOkResponse;
|
|
6
|
+
export declare class SlackWebhookController {
|
|
7
|
+
private readonly eventEmitter;
|
|
8
|
+
private readonly logger;
|
|
9
|
+
constructor(eventEmitter: EventEmitter2, logger: AppLogger);
|
|
10
|
+
handleWebhook(data: SlackWebhookEventDto): Promise<SlackWebhookResponse>;
|
|
11
|
+
}
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=slack.webhook.controller.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slack.webhook.controller.d.ts","sourceRoot":"","sources":["../../../controllers/slack.webhook.controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAGtD,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAE/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAEpF,KAAK,oBAAoB,GAAG,sBAAsB,GAAG,eAAe,CAAC;AACrE,qBAEa,sBAAsB;IAE/B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,YAAY,EAAE,aAAa,EAC3B,MAAM,EAAE,SAAS;IAQ9B,aAAa,CAAS,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC;CAwBvF"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
var SlackWebhookController_1;
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.SlackWebhookController = void 0;
|
|
17
|
+
const common_1 = require("@nestjs/common");
|
|
18
|
+
const event_emitter_1 = require("@nestjs/event-emitter");
|
|
19
|
+
const swagger_1 = require("@nestjs/swagger");
|
|
20
|
+
const logger_service_1 = require("../../shared/logger/logger.service");
|
|
21
|
+
const slack_event_constant_1 = require("../constants/slack.event.constant");
|
|
22
|
+
const slack_webhook_event_dto_1 = require("../dtos/slack-webhook-event.dto");
|
|
23
|
+
let SlackWebhookController = SlackWebhookController_1 = class SlackWebhookController {
|
|
24
|
+
constructor(eventEmitter, logger) {
|
|
25
|
+
this.eventEmitter = eventEmitter;
|
|
26
|
+
this.logger = logger;
|
|
27
|
+
this.logger.setContext(SlackWebhookController_1.name);
|
|
28
|
+
}
|
|
29
|
+
async handleWebhook(data) {
|
|
30
|
+
this.logger.log(`Webhook ${data.type}`);
|
|
31
|
+
if (data.type === slack_event_constant_1.SLACK_EVENTS.URL_VERIFICATION) {
|
|
32
|
+
this.logger.log(`Webhook ${data.type}`);
|
|
33
|
+
return { challenge: data.challenge };
|
|
34
|
+
}
|
|
35
|
+
if (data.type === slack_event_constant_1.SLACK_EVENTS.EVENT_CALLBACK && data.event) {
|
|
36
|
+
const eventType = data.event.type;
|
|
37
|
+
this.logger.log(`Event received: ${eventType} from user ${data.event.user}`);
|
|
38
|
+
this.eventEmitter.emit(slack_event_constant_1.EVENT_EMITTER_SLACK_EVENTS.WEBHOOK_INCOMING_MESSAGE, { data: data.event }, { async: true });
|
|
39
|
+
return { ok: true };
|
|
40
|
+
}
|
|
41
|
+
this.logger.warn(`Type of event is not supported: ${data.type}`);
|
|
42
|
+
return { ok: true };
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
exports.SlackWebhookController = SlackWebhookController;
|
|
46
|
+
__decorate([
|
|
47
|
+
(0, common_1.Post)(),
|
|
48
|
+
(0, common_1.HttpCode)(200),
|
|
49
|
+
(0, swagger_1.ApiOperation)({ summary: 'Receive webhooks from Slack' }),
|
|
50
|
+
__param(0, (0, common_1.Body)()),
|
|
51
|
+
__metadata("design:type", Function),
|
|
52
|
+
__metadata("design:paramtypes", [slack_webhook_event_dto_1.SlackWebhookEventDto]),
|
|
53
|
+
__metadata("design:returntype", Promise)
|
|
54
|
+
], SlackWebhookController.prototype, "handleWebhook", null);
|
|
55
|
+
exports.SlackWebhookController = SlackWebhookController = SlackWebhookController_1 = __decorate([
|
|
56
|
+
(0, swagger_1.ApiTags)('general/slack/webhook'),
|
|
57
|
+
(0, common_1.Controller)('general/slack/webhook'),
|
|
58
|
+
__metadata("design:paramtypes", [event_emitter_1.EventEmitter2,
|
|
59
|
+
logger_service_1.AppLogger])
|
|
60
|
+
], SlackWebhookController);
|
|
61
|
+
//# sourceMappingURL=slack.webhook.controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slack.webhook.controller.js","sourceRoot":"","sources":["../../../controllers/slack.webhook.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAkE;AAClE,yDAAsD;AACtD,6CAAwD;AAExD,uEAA+D;AAC/D,4EAA6F;AAC7F,6EAAuE;AAMhE,IAAM,sBAAsB,8BAA5B,MAAM,sBAAsB;IACjC,YACmB,YAA2B,EAC3B,MAAiB;QADjB,iBAAY,GAAZ,YAAY,CAAe;QAC3B,WAAM,GAAN,MAAM,CAAW;QAElC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,wBAAsB,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC;IAKK,AAAN,KAAK,CAAC,aAAa,CAAS,IAA0B;QACpD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAExC,IAAI,IAAI,CAAC,IAAI,KAAK,mCAAY,CAAC,gBAAgB,EAAE,CAAC;YAChD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YACxC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,SAAU,EAAE,CAAC;QACxC,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,KAAK,mCAAY,CAAC,cAAc,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC5D,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;YAClC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,SAAS,cAAc,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YAE7E,IAAI,CAAC,YAAY,CAAC,IAAI,CACpB,iDAA0B,CAAC,wBAAwB,EACnD,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,EACpB,EAAE,KAAK,EAAE,IAAI,EAAE,CAChB,CAAC;YAEF,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;QACtB,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mCAAmC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACjE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IACtB,CAAC;CACF,CAAA;AAnCY,wDAAsB;AAW3B;IAHL,IAAA,aAAI,GAAE;IACN,IAAA,iBAAQ,EAAC,GAAG,CAAC;IACb,IAAA,sBAAY,EAAC,EAAE,OAAO,EAAE,6BAA6B,EAAE,CAAC;IACpC,WAAA,IAAA,aAAI,GAAE,CAAA;;qCAAO,8CAAoB;;2DAuBrD;iCAlCU,sBAAsB;IAFlC,IAAA,iBAAO,EAAC,uBAAuB,CAAC;IAChC,IAAA,mBAAU,EAAC,uBAAuB,CAAC;qCAGD,6BAAa;QACnB,0BAAS;GAHzB,sBAAsB,CAmClC","sourcesContent":["import { Body, Controller, HttpCode, Post } from '@nestjs/common';\r\nimport { EventEmitter2 } from '@nestjs/event-emitter';\r\nimport { ApiOperation, ApiTags } from '@nestjs/swagger';\r\n\r\nimport { AppLogger } from '../../shared/logger/logger.service';\r\nimport { EVENT_EMITTER_SLACK_EVENTS, SLACK_EVENTS } from '../constants/slack.event.constant';\r\nimport { SlackWebhookEventDto } from '../dtos/slack-webhook-event.dto';\r\nimport { SlackChallengeResponse, SlackOkResponse } from '../types/slack.event.type';\r\n\r\ntype SlackWebhookResponse = SlackChallengeResponse | SlackOkResponse;\r\n@ApiTags('general/slack/webhook')\r\n@Controller('general/slack/webhook')\r\nexport class SlackWebhookController {\r\n constructor(\r\n private readonly eventEmitter: EventEmitter2,\r\n private readonly logger: AppLogger,\r\n ) {\r\n this.logger.setContext(SlackWebhookController.name);\r\n }\r\n\r\n @Post()\r\n @HttpCode(200)\r\n @ApiOperation({ summary: 'Receive webhooks from Slack' })\r\n async handleWebhook(@Body() data: SlackWebhookEventDto): Promise<SlackWebhookResponse> {\r\n this.logger.log(`Webhook ${data.type}`);\r\n\r\n if (data.type === SLACK_EVENTS.URL_VERIFICATION) {\r\n this.logger.log(`Webhook ${data.type}`);\r\n return { challenge: data.challenge! };\r\n }\r\n\r\n if (data.type === SLACK_EVENTS.EVENT_CALLBACK && data.event) {\r\n const eventType = data.event.type;\r\n this.logger.log(`Event received: ${eventType} from user ${data.event.user}`);\r\n\r\n this.eventEmitter.emit(\r\n EVENT_EMITTER_SLACK_EVENTS.WEBHOOK_INCOMING_MESSAGE,\r\n { data: data.event },\r\n { async: true },\r\n );\r\n\r\n return { ok: true };\r\n }\r\n\r\n this.logger.warn(`Type of event is not supported: ${data.type}`);\r\n return { ok: true };\r\n }\r\n}\r\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slack-webhook-event.dto.d.ts","sourceRoot":"","sources":["../../../dtos/slack-webhook-event.dto.ts"],"names":[],"mappings":"AAIA,qBAAa,aAAa;IAGxB,IAAI,EAAE,MAAM,CAAC;IAKb,IAAI,CAAC,EAAE,MAAM,CAAC;IAKd,IAAI,CAAC,EAAE,MAAM,CAAC;IAId,OAAO,EAAE,MAAM,CAAC;IAIhB,EAAE,EAAE,MAAM,CAAC;IAKX,SAAS,CAAC,EAAE,MAAM,CAAC;IAKnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAKhB,aAAa,CAAC,EAAE,MAAM,CAAC;IAKvB,IAAI,CAAC,EAAE,MAAM,CAAC;IAKd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAKlB,YAAY,CAAC,EAAE,MAAM,CAAC;IAKtB,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC;CACpB;AAED,qBAAa,oBAAoB;IAG/B,IAAI,EAAE,MAAM,CAAC;IAKb,SAAS,CAAC,EAAE,MAAM,CAAC;IAKnB,KAAK,CAAC,EAAE,MAAM,CAAC;IAKf,OAAO,CAAC,EAAE,MAAM,CAAC;IAOjB,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,cAAc,wCAAwC,CAAC;AACvD,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,gBAAgB,CAAC"}
|
package/dist/slack/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":";;;AAAA,uDAAqD;AAA5C,2GAAA,WAAW,OAAA;AAEpB,+CAA6C;AAApC,2GAAA,WAAW,OAAA","sourcesContent":["export { SlackClient } from './clients/slack.client';\nexport { ILogger } from './interfaces/logger.interface';\nexport { SlackModule } from './slack.module';\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":";;;AAAA,uDAAqD;AAA5C,2GAAA,WAAW,OAAA;AAEpB,+CAA6C;AAApC,2GAAA,WAAW,OAAA","sourcesContent":["export { SlackClient } from './clients/slack.client';\r\nexport { ILogger } from './interfaces/logger.interface';\r\nexport { SlackModule } from './slack.module';\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.interface.js","sourceRoot":"","sources":["../../../interfaces/logger.interface.ts"],"names":[],"mappings":"","sourcesContent":["export interface ILogger {\n setContext(context: string): void;\n error(message: string, meta?: Record<string, any>): any;\n warn(message: string, meta?: Record<string, any>): any;\n debug(message: string, meta?: Record<string, any>): any;\n verbose(message: string, meta?: Record<string, any>): any;\n log(message: string, meta?: Record<string, any>): any;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"logger.interface.js","sourceRoot":"","sources":["../../../interfaces/logger.interface.ts"],"names":[],"mappings":"","sourcesContent":["export interface ILogger {\r\n setContext(context: string): void;\r\n error(message: string, meta?: Record<string, any>): any;\r\n warn(message: string, meta?: Record<string, any>): any;\r\n debug(message: string, meta?: Record<string, any>): any;\r\n verbose(message: string, meta?: Record<string, any>): any;\r\n log(message: string, meta?: Record<string, any>): any;\r\n}\r\n"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { AppLogger } from '../../shared/logger/logger.service';
|
|
2
|
+
import { SlackClient } from '../clients/slack.client';
|
|
3
|
+
export declare class SlackChannelService {
|
|
4
|
+
private readonly slackClient;
|
|
5
|
+
private readonly logger;
|
|
6
|
+
constructor(slackClient: SlackClient, logger: AppLogger);
|
|
7
|
+
listChannels(): Promise<import("@slack/web-api").ConversationsListResponse>;
|
|
8
|
+
getChannelHistory(channelId: string, limit?: number): Promise<import("@slack/web-api").ConversationsHistoryResponse>;
|
|
9
|
+
getThreadReplies(channelId: string, threadTs: string): Promise<import("@slack/web-api").ConversationsRepliesResponse>;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=slack-channel.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slack-channel.service.d.ts","sourceRoot":"","sources":["../../../services/slack-channel.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,qBACa,mBAAmB;IAE5B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,SAAS;IAK9B,YAAY;IAQZ,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW;IASvD,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;CAQ3D"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var SlackChannelService_1;
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.SlackChannelService = void 0;
|
|
14
|
+
const common_1 = require("@nestjs/common");
|
|
15
|
+
const logger_service_1 = require("../../shared/logger/logger.service");
|
|
16
|
+
const slack_client_1 = require("../clients/slack.client");
|
|
17
|
+
let SlackChannelService = SlackChannelService_1 = class SlackChannelService {
|
|
18
|
+
constructor(slackClient, logger) {
|
|
19
|
+
this.slackClient = slackClient;
|
|
20
|
+
this.logger = logger;
|
|
21
|
+
this.logger.setContext(SlackChannelService_1.name);
|
|
22
|
+
}
|
|
23
|
+
async listChannels() {
|
|
24
|
+
try {
|
|
25
|
+
return await this.slackClient.listChannels();
|
|
26
|
+
}
|
|
27
|
+
catch (error) {
|
|
28
|
+
this.logger.error('Error listing Slack channels', error);
|
|
29
|
+
throw error;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
async getChannelHistory(channelId, limit = 10) {
|
|
33
|
+
try {
|
|
34
|
+
return await this.slackClient.getChannelHistory(channelId, limit);
|
|
35
|
+
}
|
|
36
|
+
catch (error) {
|
|
37
|
+
this.logger.error('Error getting Slack channel history', error);
|
|
38
|
+
throw error;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
async getThreadReplies(channelId, threadTs) {
|
|
42
|
+
try {
|
|
43
|
+
return await this.slackClient.getThreadReplies(channelId, threadTs);
|
|
44
|
+
}
|
|
45
|
+
catch (error) {
|
|
46
|
+
this.logger.error('Error getting Slack thread replies', error);
|
|
47
|
+
throw error;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
exports.SlackChannelService = SlackChannelService;
|
|
52
|
+
exports.SlackChannelService = SlackChannelService = SlackChannelService_1 = __decorate([
|
|
53
|
+
(0, common_1.Injectable)(),
|
|
54
|
+
__metadata("design:paramtypes", [slack_client_1.SlackClient,
|
|
55
|
+
logger_service_1.AppLogger])
|
|
56
|
+
], SlackChannelService);
|
|
57
|
+
//# sourceMappingURL=slack-channel.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slack-channel.service.js","sourceRoot":"","sources":["../../../services/slack-channel.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAA4C;AAE5C,uEAA+D;AAC/D,0DAAsD;AAG/C,IAAM,mBAAmB,2BAAzB,MAAM,mBAAmB;IAC9B,YACmB,WAAwB,EACxB,MAAiB;QADjB,gBAAW,GAAX,WAAW,CAAa;QACxB,WAAM,GAAN,MAAM,CAAW;QAElC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,qBAAmB,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;QAC/C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAc,CAAC,CAAC;YAClE,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IACD,KAAK,CAAC,iBAAiB,CAAC,SAAiB,EAAE,QAAgB,EAAE;QAC3D,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACpE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qCAAqC,EAAE,KAAc,CAAC,CAAC;YACzE,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,SAAiB,EAAE,QAAgB;QACxD,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACtE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,EAAE,KAAc,CAAC,CAAC;YACxE,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;CACF,CAAA;AAjCY,kDAAmB;8BAAnB,mBAAmB;IAD/B,IAAA,mBAAU,GAAE;qCAGqB,0BAAW;QAChB,0BAAS;GAHzB,mBAAmB,CAiC/B","sourcesContent":["import { Injectable } from '@nestjs/common';\r\n\r\nimport { AppLogger } from '../../shared/logger/logger.service';\r\nimport { SlackClient } from '../clients/slack.client';\r\n\r\n@Injectable()\r\nexport class SlackChannelService {\r\n constructor(\r\n private readonly slackClient: SlackClient,\r\n private readonly logger: AppLogger,\r\n ) {\r\n this.logger.setContext(SlackChannelService.name);\r\n }\r\n\r\n async listChannels() {\r\n try {\r\n return await this.slackClient.listChannels();\r\n } catch (error) {\r\n this.logger.error('Error listing Slack channels', error as Error);\r\n throw error;\r\n }\r\n }\r\n async getChannelHistory(channelId: string, limit: number = 10) {\r\n try {\r\n return await this.slackClient.getChannelHistory(channelId, limit);\r\n } catch (error) {\r\n this.logger.error('Error getting Slack channel history', error as Error);\r\n throw error;\r\n }\r\n }\r\n\r\n async getThreadReplies(channelId: string, threadTs: string) {\r\n try {\r\n return await this.slackClient.getThreadReplies(channelId, threadTs);\r\n } catch (error) {\r\n this.logger.error('Error getting Slack thread replies', error as Error);\r\n throw error;\r\n }\r\n }\r\n}\r\n"]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { AppLogger } from '../../shared/logger/logger.service';
|
|
2
|
+
import { SlackClient } from '../clients/slack.client';
|
|
3
|
+
export declare class SlackMessageService {
|
|
4
|
+
private readonly slackClient;
|
|
5
|
+
private readonly logger;
|
|
6
|
+
constructor(slackClient: SlackClient, logger: AppLogger);
|
|
7
|
+
sendMessage(channelId: string, text: string): Promise<import("@slack/web-api").ChatPostMessageResponse>;
|
|
8
|
+
replyToThread(channelId: string, threadTs: string, text: string): Promise<import("@slack/web-api").ChatPostMessageResponse>;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=slack-message.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slack-message.service.d.ts","sourceRoot":"","sources":["../../../services/slack-message.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,qBACa,mBAAmB;IAE5B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,SAAS;IAK9B,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAS3C,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;CAQtE"}
|