@hed-hog/contact 0.0.294 → 0.0.296

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.
Files changed (57) hide show
  1. package/dist/person/dto/account.dto.d.ts +28 -0
  2. package/dist/person/dto/account.dto.d.ts.map +1 -0
  3. package/dist/person/dto/account.dto.js +123 -0
  4. package/dist/person/dto/account.dto.js.map +1 -0
  5. package/dist/person/dto/activity.dto.d.ts +15 -0
  6. package/dist/person/dto/activity.dto.d.ts.map +1 -0
  7. package/dist/person/dto/activity.dto.js +65 -0
  8. package/dist/person/dto/activity.dto.js.map +1 -0
  9. package/dist/person/dto/dashboard-query.dto.d.ts +9 -0
  10. package/dist/person/dto/dashboard-query.dto.d.ts.map +1 -0
  11. package/dist/person/dto/dashboard-query.dto.js +40 -0
  12. package/dist/person/dto/dashboard-query.dto.js.map +1 -0
  13. package/dist/person/dto/followup-query.dto.d.ts +10 -0
  14. package/dist/person/dto/followup-query.dto.d.ts.map +1 -0
  15. package/dist/person/dto/followup-query.dto.js +45 -0
  16. package/dist/person/dto/followup-query.dto.js.map +1 -0
  17. package/dist/person/dto/reports-query.dto.d.ts +8 -0
  18. package/dist/person/dto/reports-query.dto.d.ts.map +1 -0
  19. package/dist/person/dto/reports-query.dto.js +33 -0
  20. package/dist/person/dto/reports-query.dto.js.map +1 -0
  21. package/dist/person/person.controller.d.ts +266 -5
  22. package/dist/person/person.controller.d.ts.map +1 -1
  23. package/dist/person/person.controller.js +164 -6
  24. package/dist/person/person.controller.js.map +1 -1
  25. package/dist/person/person.service.d.ts +295 -5
  26. package/dist/person/person.service.d.ts.map +1 -1
  27. package/dist/person/person.service.js +1752 -27
  28. package/dist/person/person.service.js.map +1 -1
  29. package/dist/person-relation-type/person-relation-type.controller.d.ts +2 -2
  30. package/dist/person-relation-type/person-relation-type.service.d.ts +2 -2
  31. package/hedhog/data/route.yaml +68 -19
  32. package/hedhog/frontend/app/_lib/crm-sections.tsx.ejs +9 -9
  33. package/hedhog/frontend/app/accounts/_components/account-form-sheet.tsx.ejs +573 -477
  34. package/hedhog/frontend/app/accounts/_components/account-types.ts.ejs +9 -6
  35. package/hedhog/frontend/app/accounts/page.tsx.ejs +970 -892
  36. package/hedhog/frontend/app/activities/_components/activity-detail-sheet.tsx.ejs +240 -0
  37. package/hedhog/frontend/app/activities/_components/activity-types.ts.ejs +66 -0
  38. package/hedhog/frontend/app/activities/page.tsx.ejs +460 -812
  39. package/hedhog/frontend/app/dashboard/_components/dashboard-types.ts.ejs +70 -0
  40. package/hedhog/frontend/app/dashboard/page.tsx.ejs +639 -491
  41. package/hedhog/frontend/app/follow-ups/page.tsx.ejs +785 -696
  42. package/hedhog/frontend/app/person/_components/person-interaction-dialog.tsx.ejs +10 -12
  43. package/hedhog/frontend/app/reports/_components/report-types.ts.ejs +84 -0
  44. package/hedhog/frontend/app/reports/page.tsx.ejs +1196 -15
  45. package/hedhog/frontend/messages/en.json +242 -38
  46. package/hedhog/frontend/messages/pt.json +242 -38
  47. package/hedhog/table/crm_activity.yaml +68 -0
  48. package/hedhog/table/crm_stage_history.yaml +34 -0
  49. package/hedhog/table/person_company.yaml +27 -5
  50. package/package.json +9 -9
  51. package/src/person/dto/account.dto.ts +100 -0
  52. package/src/person/dto/activity.dto.ts +54 -0
  53. package/src/person/dto/dashboard-query.dto.ts +25 -0
  54. package/src/person/dto/followup-query.dto.ts +25 -0
  55. package/src/person/dto/reports-query.dto.ts +25 -0
  56. package/src/person/person.controller.ts +176 -43
  57. package/src/person/person.service.ts +4825 -2226
@@ -0,0 +1,28 @@
1
+ import { PersonStatus } from './create.dto';
2
+ export declare const ACCOUNT_LIFECYCLE_STAGES: readonly ["prospect", "customer", "churned", "inactive"];
3
+ export type AccountLifecycleStage = (typeof ACCOUNT_LIFECYCLE_STAGES)[number];
4
+ export declare class AccountListQueryDTO {
5
+ search?: string;
6
+ status?: 'all' | PersonStatus;
7
+ lifecycle_stage?: 'all' | AccountLifecycleStage;
8
+ sortField?: 'name' | 'created_at';
9
+ sortOrder?: 'asc' | 'desc';
10
+ }
11
+ export declare class CreateAccountDTO {
12
+ name: string;
13
+ trade_name?: string | null;
14
+ status: PersonStatus;
15
+ industry?: string | null;
16
+ website?: string | null;
17
+ email?: string | null;
18
+ phone?: string | null;
19
+ owner_user_id?: number | null;
20
+ annual_revenue?: number | null;
21
+ employee_count?: number | null;
22
+ lifecycle_stage?: AccountLifecycleStage | null;
23
+ city?: string | null;
24
+ state?: string | null;
25
+ }
26
+ export declare class UpdateAccountDTO extends CreateAccountDTO {
27
+ }
28
+ //# sourceMappingURL=account.dto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account.dto.d.ts","sourceRoot":"","sources":["../../../src/person/dto/account.dto.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,eAAO,MAAM,wBAAwB,0DAK3B,CAAC;AAEX,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9E,qBAAa,mBAAmB;IAG9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAIhB,MAAM,CAAC,EAAE,KAAK,GAAG,YAAY,CAAC;IAI9B,eAAe,CAAC,EAAE,KAAK,GAAG,qBAAqB,CAAC;IAIhD,SAAS,CAAC,EAAE,MAAM,GAAG,YAAY,CAAC;IAIlC,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;CAC5B;AAED,qBAAa,gBAAgB;IAE3B,IAAI,EAAE,MAAM,CAAC;IAIb,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAG3B,MAAM,EAAE,YAAY,CAAC;IAIrB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAIzB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAIxB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAItB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAKtB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAK9B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAK/B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAI/B,eAAe,CAAC,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAI/C,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAKrB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,qBAAa,gBAAiB,SAAQ,gBAAgB;CAAG"}
@@ -0,0 +1,123 @@
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.UpdateAccountDTO = exports.CreateAccountDTO = exports.AccountListQueryDTO = exports.ACCOUNT_LIFECYCLE_STAGES = void 0;
13
+ const class_transformer_1 = require("class-transformer");
14
+ const class_validator_1 = require("class-validator");
15
+ const create_dto_1 = require("./create.dto");
16
+ exports.ACCOUNT_LIFECYCLE_STAGES = [
17
+ 'prospect',
18
+ 'customer',
19
+ 'churned',
20
+ 'inactive',
21
+ ];
22
+ class AccountListQueryDTO {
23
+ }
24
+ exports.AccountListQueryDTO = AccountListQueryDTO;
25
+ __decorate([
26
+ (0, class_validator_1.IsOptional)(),
27
+ (0, class_validator_1.IsString)(),
28
+ __metadata("design:type", String)
29
+ ], AccountListQueryDTO.prototype, "search", void 0);
30
+ __decorate([
31
+ (0, class_validator_1.IsOptional)(),
32
+ (0, class_validator_1.IsIn)(['all', create_dto_1.PersonStatus.ACTIVE, create_dto_1.PersonStatus.INACTIVE]),
33
+ __metadata("design:type", String)
34
+ ], AccountListQueryDTO.prototype, "status", void 0);
35
+ __decorate([
36
+ (0, class_validator_1.IsOptional)(),
37
+ (0, class_validator_1.IsIn)(['all', ...exports.ACCOUNT_LIFECYCLE_STAGES]),
38
+ __metadata("design:type", String)
39
+ ], AccountListQueryDTO.prototype, "lifecycle_stage", void 0);
40
+ __decorate([
41
+ (0, class_validator_1.IsOptional)(),
42
+ (0, class_validator_1.IsIn)(['name', 'created_at']),
43
+ __metadata("design:type", String)
44
+ ], AccountListQueryDTO.prototype, "sortField", void 0);
45
+ __decorate([
46
+ (0, class_validator_1.IsOptional)(),
47
+ (0, class_validator_1.IsIn)(['asc', 'desc']),
48
+ __metadata("design:type", String)
49
+ ], AccountListQueryDTO.prototype, "sortOrder", void 0);
50
+ class CreateAccountDTO {
51
+ }
52
+ exports.CreateAccountDTO = CreateAccountDTO;
53
+ __decorate([
54
+ (0, class_validator_1.IsString)(),
55
+ __metadata("design:type", String)
56
+ ], CreateAccountDTO.prototype, "name", void 0);
57
+ __decorate([
58
+ (0, class_validator_1.IsOptional)(),
59
+ (0, class_validator_1.IsString)(),
60
+ __metadata("design:type", String)
61
+ ], CreateAccountDTO.prototype, "trade_name", void 0);
62
+ __decorate([
63
+ (0, class_validator_1.IsIn)([create_dto_1.PersonStatus.ACTIVE, create_dto_1.PersonStatus.INACTIVE]),
64
+ __metadata("design:type", String)
65
+ ], CreateAccountDTO.prototype, "status", void 0);
66
+ __decorate([
67
+ (0, class_validator_1.IsOptional)(),
68
+ (0, class_validator_1.IsString)(),
69
+ __metadata("design:type", String)
70
+ ], CreateAccountDTO.prototype, "industry", void 0);
71
+ __decorate([
72
+ (0, class_validator_1.IsOptional)(),
73
+ (0, class_validator_1.IsString)(),
74
+ __metadata("design:type", String)
75
+ ], CreateAccountDTO.prototype, "website", void 0);
76
+ __decorate([
77
+ (0, class_validator_1.IsOptional)(),
78
+ (0, class_validator_1.IsEmail)(),
79
+ __metadata("design:type", String)
80
+ ], CreateAccountDTO.prototype, "email", void 0);
81
+ __decorate([
82
+ (0, class_validator_1.IsOptional)(),
83
+ (0, class_validator_1.IsString)(),
84
+ __metadata("design:type", String)
85
+ ], CreateAccountDTO.prototype, "phone", void 0);
86
+ __decorate([
87
+ (0, class_validator_1.IsOptional)(),
88
+ (0, class_transformer_1.Type)(() => Number),
89
+ (0, class_validator_1.IsInt)(),
90
+ __metadata("design:type", Number)
91
+ ], CreateAccountDTO.prototype, "owner_user_id", void 0);
92
+ __decorate([
93
+ (0, class_validator_1.IsOptional)(),
94
+ (0, class_transformer_1.Type)(() => Number),
95
+ (0, class_validator_1.IsNumber)(),
96
+ __metadata("design:type", Number)
97
+ ], CreateAccountDTO.prototype, "annual_revenue", void 0);
98
+ __decorate([
99
+ (0, class_validator_1.IsOptional)(),
100
+ (0, class_transformer_1.Type)(() => Number),
101
+ (0, class_validator_1.IsInt)(),
102
+ __metadata("design:type", Number)
103
+ ], CreateAccountDTO.prototype, "employee_count", void 0);
104
+ __decorate([
105
+ (0, class_validator_1.IsOptional)(),
106
+ (0, class_validator_1.IsIn)(exports.ACCOUNT_LIFECYCLE_STAGES),
107
+ __metadata("design:type", String)
108
+ ], CreateAccountDTO.prototype, "lifecycle_stage", void 0);
109
+ __decorate([
110
+ (0, class_validator_1.IsOptional)(),
111
+ (0, class_validator_1.IsString)(),
112
+ __metadata("design:type", String)
113
+ ], CreateAccountDTO.prototype, "city", void 0);
114
+ __decorate([
115
+ (0, class_validator_1.IsOptional)(),
116
+ (0, class_validator_1.IsString)(),
117
+ (0, class_validator_1.MaxLength)(2),
118
+ __metadata("design:type", String)
119
+ ], CreateAccountDTO.prototype, "state", void 0);
120
+ class UpdateAccountDTO extends CreateAccountDTO {
121
+ }
122
+ exports.UpdateAccountDTO = UpdateAccountDTO;
123
+ //# sourceMappingURL=account.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account.dto.js","sourceRoot":"","sources":["../../../src/person/dto/account.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yDAAyC;AACzC,qDAQyB;AACzB,6CAA4C;AAE/B,QAAA,wBAAwB,GAAG;IACtC,UAAU;IACV,UAAU;IACV,SAAS;IACT,UAAU;CACF,CAAC;AAIX,MAAa,mBAAmB;CAoB/B;AApBD,kDAoBC;AAjBC;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;mDACK;AAIhB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,sBAAI,EAAC,CAAC,KAAK,EAAE,yBAAY,CAAC,MAAM,EAAE,yBAAY,CAAC,QAAQ,CAAC,CAAC;;mDAC5B;AAI9B;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,sBAAI,EAAC,CAAC,KAAK,EAAE,GAAG,gCAAwB,CAAC,CAAC;;4DACK;AAIhD;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,sBAAI,EAAC,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;;sDACK;AAIlC;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,sBAAI,EAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;;sDACK;AAG7B,MAAa,gBAAgB;CAsD5B;AAtDD,4CAsDC;AApDC;IADC,IAAA,0BAAQ,GAAE;;8CACE;AAIb;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;oDACgB;AAG3B;IADC,IAAA,sBAAI,EAAC,CAAC,yBAAY,CAAC,MAAM,EAAE,yBAAY,CAAC,QAAQ,CAAC,CAAC;;gDAC9B;AAIrB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;kDACc;AAIzB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;iDACa;AAIxB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,yBAAO,GAAE;;+CACY;AAItB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;+CACW;AAKtB;IAHC,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC;IAClB,IAAA,uBAAK,GAAE;;uDACsB;AAK9B;IAHC,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC;IAClB,IAAA,0BAAQ,GAAE;;wDACoB;AAK/B;IAHC,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC;IAClB,IAAA,uBAAK,GAAE;;wDACuB;AAI/B;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,sBAAI,EAAC,gCAAwB,CAAC;;yDACgB;AAI/C;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;8CACU;AAKrB;IAHC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,CAAC,CAAC;;+CACS;AAGxB,MAAa,gBAAiB,SAAQ,gBAAgB;CAAG;AAAzD,4CAAyD"}
@@ -0,0 +1,15 @@
1
+ export declare const CRM_ACTIVITY_TYPES: readonly ["call", "email", "meeting", "whatsapp", "task", "note"];
2
+ export declare const CRM_ACTIVITY_PRIORITIES: readonly ["high", "medium", "low"];
3
+ export declare const CRM_ACTIVITY_STATUSES: readonly ["pending", "overdue", "completed"];
4
+ export declare const CRM_ACTIVITY_SOURCE_KINDS: readonly ["manual", "followup", "interaction"];
5
+ export type CrmActivityType = (typeof CRM_ACTIVITY_TYPES)[number];
6
+ export type CrmActivityPriority = (typeof CRM_ACTIVITY_PRIORITIES)[number];
7
+ export type CrmActivityStatus = (typeof CRM_ACTIVITY_STATUSES)[number];
8
+ export type CrmActivitySourceKind = (typeof CRM_ACTIVITY_SOURCE_KINDS)[number];
9
+ export declare class ActivityListQueryDTO {
10
+ search?: string;
11
+ status?: 'all' | CrmActivityStatus;
12
+ type?: 'all' | CrmActivityType;
13
+ priority?: 'all' | CrmActivityPriority;
14
+ }
15
+ //# sourceMappingURL=activity.dto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activity.dto.d.ts","sourceRoot":"","sources":["../../../src/person/dto/activity.dto.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,kBAAkB,mEAOrB,CAAC;AAEX,eAAO,MAAM,uBAAuB,oCAAqC,CAAC;AAC1E,eAAO,MAAM,qBAAqB,8CAIxB,CAAC;AACX,eAAO,MAAM,yBAAyB,gDAI5B,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAClE,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC;AAC3E,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAC;AACvE,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,yBAAyB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE/E,qBAAa,oBAAoB;IAK/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAMhB,MAAM,CAAC,EAAE,KAAK,GAAG,iBAAiB,CAAC;IAMnC,IAAI,CAAC,EAAE,KAAK,GAAG,eAAe,CAAC;IAM/B,QAAQ,CAAC,EAAE,KAAK,GAAG,mBAAmB,CAAC;CACxC"}
@@ -0,0 +1,65 @@
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.ActivityListQueryDTO = exports.CRM_ACTIVITY_SOURCE_KINDS = exports.CRM_ACTIVITY_STATUSES = exports.CRM_ACTIVITY_PRIORITIES = exports.CRM_ACTIVITY_TYPES = void 0;
13
+ const api_locale_1 = require("@hed-hog/api-locale");
14
+ const class_validator_1 = require("class-validator");
15
+ exports.CRM_ACTIVITY_TYPES = [
16
+ 'call',
17
+ 'email',
18
+ 'meeting',
19
+ 'whatsapp',
20
+ 'task',
21
+ 'note',
22
+ ];
23
+ exports.CRM_ACTIVITY_PRIORITIES = ['high', 'medium', 'low'];
24
+ exports.CRM_ACTIVITY_STATUSES = [
25
+ 'pending',
26
+ 'overdue',
27
+ 'completed',
28
+ ];
29
+ exports.CRM_ACTIVITY_SOURCE_KINDS = [
30
+ 'manual',
31
+ 'followup',
32
+ 'interaction',
33
+ ];
34
+ class ActivityListQueryDTO {
35
+ }
36
+ exports.ActivityListQueryDTO = ActivityListQueryDTO;
37
+ __decorate([
38
+ (0, class_validator_1.IsOptional)(),
39
+ (0, class_validator_1.IsString)({
40
+ message: (args) => (0, api_locale_1.getLocaleText)('validation.stringRequired', args.value),
41
+ }),
42
+ __metadata("design:type", String)
43
+ ], ActivityListQueryDTO.prototype, "search", void 0);
44
+ __decorate([
45
+ (0, class_validator_1.IsOptional)(),
46
+ (0, class_validator_1.IsIn)(['all', ...exports.CRM_ACTIVITY_STATUSES], {
47
+ message: (args) => (0, api_locale_1.getLocaleText)('validation.typeMustBeEnum', args.value),
48
+ }),
49
+ __metadata("design:type", String)
50
+ ], ActivityListQueryDTO.prototype, "status", void 0);
51
+ __decorate([
52
+ (0, class_validator_1.IsOptional)(),
53
+ (0, class_validator_1.IsIn)(['all', ...exports.CRM_ACTIVITY_TYPES], {
54
+ message: (args) => (0, api_locale_1.getLocaleText)('validation.typeMustBeEnum', args.value),
55
+ }),
56
+ __metadata("design:type", String)
57
+ ], ActivityListQueryDTO.prototype, "type", void 0);
58
+ __decorate([
59
+ (0, class_validator_1.IsOptional)(),
60
+ (0, class_validator_1.IsIn)(['all', ...exports.CRM_ACTIVITY_PRIORITIES], {
61
+ message: (args) => (0, api_locale_1.getLocaleText)('validation.typeMustBeEnum', args.value),
62
+ }),
63
+ __metadata("design:type", String)
64
+ ], ActivityListQueryDTO.prototype, "priority", void 0);
65
+ //# sourceMappingURL=activity.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activity.dto.js","sourceRoot":"","sources":["../../../src/person/dto/activity.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAAoD;AACpD,qDAA6D;AAEhD,QAAA,kBAAkB,GAAG;IAChC,MAAM;IACN,OAAO;IACP,SAAS;IACT,UAAU;IACV,MAAM;IACN,MAAM;CACE,CAAC;AAEE,QAAA,uBAAuB,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAU,CAAC;AAC7D,QAAA,qBAAqB,GAAG;IACnC,SAAS;IACT,SAAS;IACT,WAAW;CACH,CAAC;AACE,QAAA,yBAAyB,GAAG;IACvC,QAAQ;IACR,UAAU;IACV,aAAa;CACL,CAAC;AAOX,MAAa,oBAAoB;CAwBhC;AAxBD,oDAwBC;AAnBC;IAJC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,EAAC;QACR,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,0BAAa,EAAC,2BAA2B,EAAE,IAAI,CAAC,KAAK,CAAC;KAC1E,CAAC;;oDACc;AAMhB;IAJC,IAAA,4BAAU,GAAE;IACZ,IAAA,sBAAI,EAAC,CAAC,KAAK,EAAE,GAAG,6BAAqB,CAAC,EAAE;QACvC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,0BAAa,EAAC,2BAA2B,EAAE,IAAI,CAAC,KAAK,CAAC;KAC1E,CAAC;;oDACiC;AAMnC;IAJC,IAAA,4BAAU,GAAE;IACZ,IAAA,sBAAI,EAAC,CAAC,KAAK,EAAE,GAAG,0BAAkB,CAAC,EAAE;QACpC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,0BAAa,EAAC,2BAA2B,EAAE,IAAI,CAAC,KAAK,CAAC;KAC1E,CAAC;;kDAC6B;AAM/B;IAJC,IAAA,4BAAU,GAAE;IACZ,IAAA,sBAAI,EAAC,CAAC,KAAK,EAAE,GAAG,+BAAuB,CAAC,EAAE;QACzC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,0BAAa,EAAC,2BAA2B,EAAE,IAAI,CAAC,KAAK,CAAC;KAC1E,CAAC;;sDACqC"}
@@ -0,0 +1,9 @@
1
+ export declare const CRM_DASHBOARD_PERIODS: readonly ["7d", "30d", "90d", "custom"];
2
+ export type CrmDashboardPeriod = (typeof CRM_DASHBOARD_PERIODS)[number];
3
+ export declare class DashboardQueryDTO {
4
+ owner_user_id?: number;
5
+ period?: CrmDashboardPeriod;
6
+ date_from?: string;
7
+ date_to?: string;
8
+ }
9
+ //# sourceMappingURL=dashboard-query.dto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboard-query.dto.d.ts","sourceRoot":"","sources":["../../../src/person/dto/dashboard-query.dto.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,qBAAqB,yCAA0C,CAAC;AAE7E,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAC;AAExE,qBAAa,iBAAiB;IAI5B,aAAa,CAAC,EAAE,MAAM,CAAC;IAIvB,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAI5B,SAAS,CAAC,EAAE,MAAM,CAAC;IAInB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB"}
@@ -0,0 +1,40 @@
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.DashboardQueryDTO = exports.CRM_DASHBOARD_PERIODS = void 0;
13
+ const class_transformer_1 = require("class-transformer");
14
+ const class_validator_1 = require("class-validator");
15
+ exports.CRM_DASHBOARD_PERIODS = ['7d', '30d', '90d', 'custom'];
16
+ class DashboardQueryDTO {
17
+ }
18
+ exports.DashboardQueryDTO = DashboardQueryDTO;
19
+ __decorate([
20
+ (0, class_validator_1.IsOptional)(),
21
+ (0, class_transformer_1.Type)(() => Number),
22
+ (0, class_validator_1.IsInt)(),
23
+ __metadata("design:type", Number)
24
+ ], DashboardQueryDTO.prototype, "owner_user_id", void 0);
25
+ __decorate([
26
+ (0, class_validator_1.IsOptional)(),
27
+ (0, class_validator_1.IsIn)(exports.CRM_DASHBOARD_PERIODS),
28
+ __metadata("design:type", String)
29
+ ], DashboardQueryDTO.prototype, "period", void 0);
30
+ __decorate([
31
+ (0, class_validator_1.IsOptional)(),
32
+ (0, class_validator_1.IsDateString)(),
33
+ __metadata("design:type", String)
34
+ ], DashboardQueryDTO.prototype, "date_from", void 0);
35
+ __decorate([
36
+ (0, class_validator_1.IsOptional)(),
37
+ (0, class_validator_1.IsDateString)(),
38
+ __metadata("design:type", String)
39
+ ], DashboardQueryDTO.prototype, "date_to", void 0);
40
+ //# sourceMappingURL=dashboard-query.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboard-query.dto.js","sourceRoot":"","sources":["../../../src/person/dto/dashboard-query.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yDAAyC;AACzC,qDAAwE;AAE3D,QAAA,qBAAqB,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAU,CAAC;AAI7E,MAAa,iBAAiB;CAiB7B;AAjBD,8CAiBC;AAbC;IAHC,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC;IAClB,IAAA,uBAAK,GAAE;;wDACe;AAIvB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,sBAAI,EAAC,6BAAqB,CAAC;;iDACA;AAI5B;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,8BAAY,GAAE;;oDACI;AAInB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,8BAAY,GAAE;;kDACE"}
@@ -0,0 +1,10 @@
1
+ export declare class FollowupListQueryDTO {
2
+ search?: string;
3
+ status?: 'all' | 'today' | 'upcoming' | 'overdue';
4
+ date_from?: string;
5
+ date_to?: string;
6
+ }
7
+ export declare class FollowupStatsQueryDTO {
8
+ search?: string;
9
+ }
10
+ //# sourceMappingURL=followup-query.dto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"followup-query.dto.d.ts","sourceRoot":"","sources":["../../../src/person/dto/followup-query.dto.ts"],"names":[],"mappings":"AAEA,qBAAa,oBAAoB;IAG/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAIhB,MAAM,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,UAAU,GAAG,SAAS,CAAC;IAIlD,SAAS,CAAC,EAAE,MAAM,CAAC;IAInB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,qBAAqB;IAGhC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
@@ -0,0 +1,45 @@
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.FollowupStatsQueryDTO = exports.FollowupListQueryDTO = void 0;
13
+ const class_validator_1 = require("class-validator");
14
+ class FollowupListQueryDTO {
15
+ }
16
+ exports.FollowupListQueryDTO = FollowupListQueryDTO;
17
+ __decorate([
18
+ (0, class_validator_1.IsOptional)(),
19
+ (0, class_validator_1.IsString)(),
20
+ __metadata("design:type", String)
21
+ ], FollowupListQueryDTO.prototype, "search", void 0);
22
+ __decorate([
23
+ (0, class_validator_1.IsOptional)(),
24
+ (0, class_validator_1.IsIn)(['all', 'today', 'upcoming', 'overdue']),
25
+ __metadata("design:type", String)
26
+ ], FollowupListQueryDTO.prototype, "status", void 0);
27
+ __decorate([
28
+ (0, class_validator_1.IsOptional)(),
29
+ (0, class_validator_1.Matches)(/^\d{4}-\d{2}-\d{2}$/),
30
+ __metadata("design:type", String)
31
+ ], FollowupListQueryDTO.prototype, "date_from", void 0);
32
+ __decorate([
33
+ (0, class_validator_1.IsOptional)(),
34
+ (0, class_validator_1.Matches)(/^\d{4}-\d{2}-\d{2}$/),
35
+ __metadata("design:type", String)
36
+ ], FollowupListQueryDTO.prototype, "date_to", void 0);
37
+ class FollowupStatsQueryDTO {
38
+ }
39
+ exports.FollowupStatsQueryDTO = FollowupStatsQueryDTO;
40
+ __decorate([
41
+ (0, class_validator_1.IsOptional)(),
42
+ (0, class_validator_1.IsString)(),
43
+ __metadata("design:type", String)
44
+ ], FollowupStatsQueryDTO.prototype, "search", void 0);
45
+ //# sourceMappingURL=followup-query.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"followup-query.dto.js","sourceRoot":"","sources":["../../../src/person/dto/followup-query.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAsE;AAEtE,MAAa,oBAAoB;CAgBhC;AAhBD,oDAgBC;AAbC;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;oDACK;AAIhB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,sBAAI,EAAC,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;;oDACI;AAIlD;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,yBAAO,EAAC,qBAAqB,CAAC;;uDACZ;AAInB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,yBAAO,EAAC,qBAAqB,CAAC;;qDACd;AAGnB,MAAa,qBAAqB;CAIjC;AAJD,sDAIC;AADC;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;qDACK"}
@@ -0,0 +1,8 @@
1
+ export declare const CRM_REPORT_GROUP_BY: readonly ["day", "week", "month", "year"];
2
+ export type CrmReportGroupBy = (typeof CRM_REPORT_GROUP_BY)[number];
3
+ export declare class ReportsQueryDTO {
4
+ date_from: string;
5
+ date_to: string;
6
+ group_by: CrmReportGroupBy;
7
+ }
8
+ //# sourceMappingURL=reports-query.dto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reports-query.dto.d.ts","sourceRoot":"","sources":["../../../src/person/dto/reports-query.dto.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,mBAAmB,2CAA4C,CAAC;AAE7E,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEpE,qBAAa,eAAe;IAK1B,SAAS,EAAE,MAAM,CAAC;IAMlB,OAAO,EAAE,MAAM,CAAC;IAKhB,QAAQ,EAAE,gBAAgB,CAAC;CAC5B"}
@@ -0,0 +1,33 @@
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.ReportsQueryDTO = exports.CRM_REPORT_GROUP_BY = void 0;
13
+ const api_locale_1 = require("@hed-hog/api-locale");
14
+ const class_validator_1 = require("class-validator");
15
+ exports.CRM_REPORT_GROUP_BY = ['day', 'week', 'month', 'year'];
16
+ class ReportsQueryDTO {
17
+ }
18
+ exports.ReportsQueryDTO = ReportsQueryDTO;
19
+ __decorate([
20
+ (0, class_validator_1.IsDateString)({}, { message: (args) => (0, api_locale_1.getLocaleText)('validation.dateMustBeString', args.value) }),
21
+ __metadata("design:type", String)
22
+ ], ReportsQueryDTO.prototype, "date_from", void 0);
23
+ __decorate([
24
+ (0, class_validator_1.IsDateString)({}, { message: (args) => (0, api_locale_1.getLocaleText)('validation.dateMustBeString', args.value) }),
25
+ __metadata("design:type", String)
26
+ ], ReportsQueryDTO.prototype, "date_to", void 0);
27
+ __decorate([
28
+ (0, class_validator_1.IsIn)(exports.CRM_REPORT_GROUP_BY, {
29
+ message: (args) => (0, api_locale_1.getLocaleText)('validation.typeMustBeEnum', args.value),
30
+ }),
31
+ __metadata("design:type", String)
32
+ ], ReportsQueryDTO.prototype, "group_by", void 0);
33
+ //# sourceMappingURL=reports-query.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reports-query.dto.js","sourceRoot":"","sources":["../../../src/person/dto/reports-query.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAAoD;AACpD,qDAAqD;AAExC,QAAA,mBAAmB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAU,CAAC;AAI7E,MAAa,eAAe;CAiB3B;AAjBD,0CAiBC;AAZC;IAJC,IAAA,8BAAY,EACX,EAAE,EACF,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,0BAAa,EAAC,6BAA6B,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAChF;;kDACiB;AAMlB;IAJC,IAAA,8BAAY,EACX,EAAE,EACF,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,0BAAa,EAAC,6BAA6B,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAChF;;gDACe;AAKhB;IAHC,IAAA,sBAAI,EAAC,2BAAmB,EAAE;QACzB,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,0BAAa,EAAC,2BAA2B,EAAE,IAAI,CAAC,KAAK,CAAC;KAC1E,CAAC;;iDACyB"}