@grapadigital/shared-schemas 1.0.217 → 1.0.218
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/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/schemas/action.schema.d.ts +1 -29
- package/dist/schemas/action.schema.js +4 -34
- package/dist/schemas/assignment.schema.d.ts +2 -1
- package/dist/schemas/assignment.schema.js +5 -4
- package/dist/schemas/client.schema.d.ts +8 -5
- package/dist/schemas/client.schema.js +13 -17
- package/dist/schemas/content-capture-process.schema.d.ts +2 -28
- package/dist/schemas/content-capture-process.schema.js +4 -35
- package/dist/schemas/prospect.schema.d.ts +2 -14
- package/dist/schemas/prospect.schema.js +6 -20
- package/dist/schemas/responsible.schema.d.ts +45 -0
- package/dist/schemas/responsible.schema.js +45 -0
- package/dist/schemas/sale.schema.d.ts +16 -15
- package/dist/schemas/sale.schema.js +14 -33
- package/package.json +1 -1
- package/src/index.ts +1 -0
- package/src/schemas/action.schema.ts +1 -25
- package/src/schemas/assignment.schema.ts +5 -4
- package/src/schemas/client.schema.ts +12 -14
- package/src/schemas/content-capture-process.schema.ts +3 -33
- package/src/schemas/prospect.schema.ts +5 -15
- package/src/schemas/responsible.schema.ts +27 -0
- package/src/schemas/sale.schema.ts +15 -45
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -15,6 +15,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
exports.NoteMentionSchema = exports.NoteMention = exports.NoteSchema = exports.Note = void 0;
|
|
18
|
+
__exportStar(require("./schemas/responsible.schema"), exports);
|
|
18
19
|
__exportStar(require("./schemas/action.schema"), exports);
|
|
19
20
|
__exportStar(require("./schemas/prospect.schema"), exports);
|
|
20
21
|
__exportStar(require("./schemas/client.schema"), exports);
|
|
@@ -30,36 +30,8 @@ import { Client } from './client.schema';
|
|
|
30
30
|
import { Sale } from './sale.schema';
|
|
31
31
|
import { Campaign } from './campaign.schema';
|
|
32
32
|
import { Note } from './note.schema';
|
|
33
|
+
import { Responsible } from './responsible.schema';
|
|
33
34
|
export type ActionDocument = HydratedDocument<Action>;
|
|
34
|
-
export declare class Responsible {
|
|
35
|
-
name: string;
|
|
36
|
-
team: string;
|
|
37
|
-
email: string;
|
|
38
|
-
}
|
|
39
|
-
export declare const ResponsibleSchema: MongooseSchema<Responsible, import("mongoose").Model<Responsible, any, any, any, import("mongoose").Document<unknown, any, Responsible, any, {}> & Responsible & {
|
|
40
|
-
_id: Types.ObjectId;
|
|
41
|
-
} & {
|
|
42
|
-
__v: number;
|
|
43
|
-
}, any>, {}, {}, {}, {}, import("mongoose").DefaultSchemaOptions, Responsible, import("mongoose").Document<unknown, {}, import("mongoose").FlatRecord<Responsible>, {}, import("mongoose").ResolveSchemaOptions<import("mongoose").DefaultSchemaOptions>> & import("mongoose").FlatRecord<Responsible> & {
|
|
44
|
-
_id: Types.ObjectId;
|
|
45
|
-
} & {
|
|
46
|
-
__v: number;
|
|
47
|
-
}>;
|
|
48
|
-
/**
|
|
49
|
-
* @deprecated Use `Responsible` or `Responsible[]` on Action.responsible
|
|
50
|
-
*/
|
|
51
|
-
export declare class ActionResponsible extends Responsible {
|
|
52
|
-
}
|
|
53
|
-
export declare const ActionResponsibleSchema: MongooseSchema<ActionResponsible, import("mongoose").Model<ActionResponsible, any, any, any, import("mongoose").Document<unknown, any, ActionResponsible, any, {}> & ActionResponsible & {
|
|
54
|
-
_id: Types.ObjectId;
|
|
55
|
-
} & {
|
|
56
|
-
__v: number;
|
|
57
|
-
}, any>, {}, {}, {}, {}, import("mongoose").DefaultSchemaOptions, ActionResponsible, import("mongoose").Document<unknown, {}, import("mongoose").FlatRecord<ActionResponsible>, {}, import("mongoose").ResolveSchemaOptions<import("mongoose").DefaultSchemaOptions>> & import("mongoose").FlatRecord<ActionResponsible> & {
|
|
58
|
-
_id: Types.ObjectId;
|
|
59
|
-
} & {
|
|
60
|
-
__v: number;
|
|
61
|
-
}>;
|
|
62
|
-
export { ActionResponsible as Responsibles, ActionResponsibleSchema as ResponsiblesSchema };
|
|
63
35
|
export declare const ACTION_BUSINESS_UNIT_VALUES: readonly ["service", "comercial", "squad_a", "squad_b"];
|
|
64
36
|
export type ActionBusinessUnit = (typeof ACTION_BUSINESS_UNIT_VALUES)[number];
|
|
65
37
|
export declare class ActionPromptConfig {
|
|
@@ -9,7 +9,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
9
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.ActionModel = exports.ActionSchema = exports.Action = exports.ACTION_STATUS_VALUES = exports.ActionPromptConfigSchema = exports.ActionPromptConfig = exports.ACTION_BUSINESS_UNIT_VALUES =
|
|
12
|
+
exports.ActionModel = exports.ActionSchema = exports.Action = exports.ACTION_STATUS_VALUES = exports.ActionPromptConfigSchema = exports.ActionPromptConfig = exports.ACTION_BUSINESS_UNIT_VALUES = void 0;
|
|
13
13
|
const mongoose_1 = require("@nestjs/mongoose");
|
|
14
14
|
const swagger_1 = require("@nestjs/swagger");
|
|
15
15
|
const mongoose_2 = require("mongoose");
|
|
@@ -19,37 +19,7 @@ const client_schema_1 = require("./client.schema");
|
|
|
19
19
|
const sale_schema_1 = require("./sale.schema");
|
|
20
20
|
const campaign_schema_1 = require("./campaign.schema");
|
|
21
21
|
const note_schema_1 = require("./note.schema");
|
|
22
|
-
|
|
23
|
-
};
|
|
24
|
-
__decorate([
|
|
25
|
-
(0, swagger_1.ApiProperty)({ example: 'Maria Oliveira' }),
|
|
26
|
-
(0, mongoose_1.Prop)(),
|
|
27
|
-
__metadata("design:type", String)
|
|
28
|
-
], Responsible.prototype, "name", void 0);
|
|
29
|
-
__decorate([
|
|
30
|
-
(0, swagger_1.ApiProperty)({ example: 'Comercial' }),
|
|
31
|
-
(0, mongoose_1.Prop)(),
|
|
32
|
-
__metadata("design:type", String)
|
|
33
|
-
], Responsible.prototype, "team", void 0);
|
|
34
|
-
__decorate([
|
|
35
|
-
(0, swagger_1.ApiProperty)({ example: 'maria@empresa.com' }),
|
|
36
|
-
(0, mongoose_1.Prop)(),
|
|
37
|
-
__metadata("design:type", String)
|
|
38
|
-
], Responsible.prototype, "email", void 0);
|
|
39
|
-
Responsible = __decorate([
|
|
40
|
-
(0, mongoose_1.Schema)({ _id: false })
|
|
41
|
-
], Responsible);
|
|
42
|
-
exports.Responsible = Responsible;
|
|
43
|
-
exports.ResponsibleSchema = mongoose_1.SchemaFactory.createForClass(Responsible);
|
|
44
|
-
/**
|
|
45
|
-
* @deprecated Use `Responsible` or `Responsible[]` on Action.responsible
|
|
46
|
-
*/
|
|
47
|
-
class ActionResponsible extends Responsible {
|
|
48
|
-
}
|
|
49
|
-
exports.ActionResponsible = ActionResponsible;
|
|
50
|
-
exports.Responsibles = ActionResponsible;
|
|
51
|
-
exports.ActionResponsibleSchema = mongoose_1.SchemaFactory.createForClass(ActionResponsible);
|
|
52
|
-
exports.ResponsiblesSchema = exports.ActionResponsibleSchema;
|
|
22
|
+
const responsible_schema_1 = require("./responsible.schema");
|
|
53
23
|
exports.ACTION_BUSINESS_UNIT_VALUES = [
|
|
54
24
|
'service',
|
|
55
25
|
'comercial',
|
|
@@ -234,8 +204,8 @@ __decorate([
|
|
|
234
204
|
__metadata("design:type", mongoose_2.Types.ObjectId)
|
|
235
205
|
], Action.prototype, "organization", void 0);
|
|
236
206
|
__decorate([
|
|
237
|
-
(0, swagger_1.ApiProperty)({ type: () => [Responsible] }),
|
|
238
|
-
(0, mongoose_1.Prop)({ type: [
|
|
207
|
+
(0, swagger_1.ApiProperty)({ type: () => [responsible_schema_1.Responsible] }),
|
|
208
|
+
(0, mongoose_1.Prop)({ type: [responsible_schema_1.ResponsibleSchema], required: true }),
|
|
239
209
|
__metadata("design:type", Array)
|
|
240
210
|
], Action.prototype, "responsible", void 0);
|
|
241
211
|
__decorate([
|
|
@@ -25,6 +25,7 @@
|
|
|
25
25
|
/// <reference types="mongoose/types/inferrawdoctype" />
|
|
26
26
|
import { HydratedDocument, Schema as MongooseSchema, Types } from 'mongoose';
|
|
27
27
|
import { Action } from './action.schema';
|
|
28
|
+
import { Responsible } from './responsible.schema';
|
|
28
29
|
export type AssignmentDocument = HydratedDocument<Assignment>;
|
|
29
30
|
export declare const ASSIGNMENT_TYPE_VALUES: readonly ["report", "curation", "opt-in", "metrics-monitoring", "data-update", "study"];
|
|
30
31
|
export type AssignmentType = (typeof ASSIGNMENT_TYPE_VALUES)[number];
|
|
@@ -54,7 +55,7 @@ export declare class Assignment {
|
|
|
54
55
|
organization: Types.ObjectId;
|
|
55
56
|
type: AssignmentType;
|
|
56
57
|
title: string;
|
|
57
|
-
responsible?:
|
|
58
|
+
responsible?: Responsible[];
|
|
58
59
|
startDate?: Date | null;
|
|
59
60
|
dueDate?: Date | null;
|
|
60
61
|
status: AssignmentStatus;
|
|
@@ -13,6 +13,7 @@ exports.AssignmentModel = exports.AssignmentSchema = exports.Assignment = export
|
|
|
13
13
|
const mongoose_1 = require("@nestjs/mongoose");
|
|
14
14
|
const swagger_1 = require("@nestjs/swagger");
|
|
15
15
|
const mongoose_2 = require("mongoose");
|
|
16
|
+
const responsible_schema_1 = require("./responsible.schema");
|
|
16
17
|
exports.ASSIGNMENT_TYPE_VALUES = [
|
|
17
18
|
'report',
|
|
18
19
|
'curation',
|
|
@@ -105,9 +106,9 @@ __decorate([
|
|
|
105
106
|
__metadata("design:type", String)
|
|
106
107
|
], Assignment.prototype, "title", void 0);
|
|
107
108
|
__decorate([
|
|
108
|
-
(0, swagger_1.ApiProperty)({
|
|
109
|
-
(0, mongoose_1.Prop)({ type:
|
|
110
|
-
__metadata("design:type",
|
|
109
|
+
(0, swagger_1.ApiProperty)({ type: () => [responsible_schema_1.Responsible], required: false }),
|
|
110
|
+
(0, mongoose_1.Prop)({ type: [responsible_schema_1.ResponsibleSchema], required: false, default: [] }),
|
|
111
|
+
__metadata("design:type", Array)
|
|
111
112
|
], Assignment.prototype, "responsible", void 0);
|
|
112
113
|
__decorate([
|
|
113
114
|
(0, swagger_1.ApiProperty)({ example: '2026-08-25T00:00:00.000Z', required: false }),
|
|
@@ -163,5 +164,5 @@ exports.AssignmentSchema.index({ action: 1 });
|
|
|
163
164
|
exports.AssignmentSchema.index({ organization: 1, status: 1 });
|
|
164
165
|
exports.AssignmentSchema.index({ organization: 1, dueDate: 1 });
|
|
165
166
|
exports.AssignmentSchema.index({ seriesId: 1 });
|
|
166
|
-
exports.AssignmentSchema.index({ responsible: 1, dueDate: 1 });
|
|
167
|
+
exports.AssignmentSchema.index({ 'responsible.email': 1, dueDate: 1 });
|
|
167
168
|
exports.AssignmentModel = (0, mongoose_2.model)('Assignment', exports.AssignmentSchema);
|
|
@@ -26,6 +26,7 @@
|
|
|
26
26
|
import { HydratedDocument, Schema as MongooseSchema, Types } from 'mongoose';
|
|
27
27
|
import { Party } from './party.schema';
|
|
28
28
|
import { Profile } from './profile.schema';
|
|
29
|
+
import { Responsible } from './responsible.schema';
|
|
29
30
|
export type ClientDocument = HydratedDocument<Client>;
|
|
30
31
|
/**
|
|
31
32
|
* Personalizações de cliente: ligam telas e regras que valem só para ele.
|
|
@@ -101,10 +102,13 @@ export declare const NicheItemSchema: MongooseSchema<NicheItem, import("mongoose
|
|
|
101
102
|
} & {
|
|
102
103
|
__v: number;
|
|
103
104
|
}>;
|
|
105
|
+
/**
|
|
106
|
+
* Responsáveis do cliente: `report` são usuários da plataforma que cuidam dos
|
|
107
|
+
* relatórios; `brand` é o contato do lado da marca (texto livre, não é usuário).
|
|
108
|
+
*/
|
|
104
109
|
export declare class ClientResponsible {
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
email: string;
|
|
110
|
+
report?: Responsible[];
|
|
111
|
+
brand?: string;
|
|
108
112
|
}
|
|
109
113
|
export declare const ClientResponsibleSchema: MongooseSchema<ClientResponsible, import("mongoose").Model<ClientResponsible, any, any, any, import("mongoose").Document<unknown, any, ClientResponsible, any, {}> & ClientResponsible & {
|
|
110
114
|
_id: Types.ObjectId;
|
|
@@ -153,8 +157,7 @@ export declare class Client extends Party {
|
|
|
153
157
|
* ou `Action.hasGenIAAnalysis`.
|
|
154
158
|
*/
|
|
155
159
|
organization?: Types.ObjectId;
|
|
156
|
-
|
|
157
|
-
brandResponsible?: string;
|
|
160
|
+
responsible?: ClientResponsible;
|
|
158
161
|
profiles?: Types.ObjectId[] | Profile[];
|
|
159
162
|
}
|
|
160
163
|
export declare const ClientSchema: MongooseSchema<Client, import("mongoose").Model<Client, any, any, any, import("mongoose").Document<unknown, any, Client, any, {}> & Client & Required<{
|
|
@@ -14,6 +14,7 @@ const mongoose_1 = require("@nestjs/mongoose");
|
|
|
14
14
|
const swagger_1 = require("@nestjs/swagger");
|
|
15
15
|
const mongoose_2 = require("mongoose");
|
|
16
16
|
const party_schema_1 = require("./party.schema");
|
|
17
|
+
const responsible_schema_1 = require("./responsible.schema");
|
|
17
18
|
/**
|
|
18
19
|
* Personalizações de cliente: ligam telas e regras que valem só para ele.
|
|
19
20
|
* Ver GD-683.
|
|
@@ -106,23 +107,22 @@ NicheItem = __decorate([
|
|
|
106
107
|
], NicheItem);
|
|
107
108
|
exports.NicheItem = NicheItem;
|
|
108
109
|
exports.NicheItemSchema = mongoose_1.SchemaFactory.createForClass(NicheItem);
|
|
110
|
+
/**
|
|
111
|
+
* Responsáveis do cliente: `report` são usuários da plataforma que cuidam dos
|
|
112
|
+
* relatórios; `brand` é o contato do lado da marca (texto livre, não é usuário).
|
|
113
|
+
*/
|
|
109
114
|
let ClientResponsible = class ClientResponsible {
|
|
110
115
|
};
|
|
111
116
|
__decorate([
|
|
112
|
-
(0, swagger_1.ApiProperty)({
|
|
113
|
-
(0, mongoose_1.Prop)(),
|
|
114
|
-
__metadata("design:type",
|
|
115
|
-
], ClientResponsible.prototype, "
|
|
116
|
-
__decorate([
|
|
117
|
-
(0, swagger_1.ApiProperty)({ example: 'Comercial' }),
|
|
118
|
-
(0, mongoose_1.Prop)(),
|
|
119
|
-
__metadata("design:type", String)
|
|
120
|
-
], ClientResponsible.prototype, "team", void 0);
|
|
117
|
+
(0, swagger_1.ApiProperty)({ type: () => [responsible_schema_1.Responsible], required: false }),
|
|
118
|
+
(0, mongoose_1.Prop)({ type: [responsible_schema_1.ResponsibleSchema], required: false, default: [] }),
|
|
119
|
+
__metadata("design:type", Array)
|
|
120
|
+
], ClientResponsible.prototype, "report", void 0);
|
|
121
121
|
__decorate([
|
|
122
|
-
(0, swagger_1.ApiProperty)({ example: '
|
|
123
|
-
(0, mongoose_1.Prop)(),
|
|
122
|
+
(0, swagger_1.ApiProperty)({ example: 'Maite', required: false }),
|
|
123
|
+
(0, mongoose_1.Prop)({ type: String, required: false }),
|
|
124
124
|
__metadata("design:type", String)
|
|
125
|
-
], ClientResponsible.prototype, "
|
|
125
|
+
], ClientResponsible.prototype, "brand", void 0);
|
|
126
126
|
ClientResponsible = __decorate([
|
|
127
127
|
(0, mongoose_1.Schema)({ _id: false })
|
|
128
128
|
], ClientResponsible);
|
|
@@ -185,11 +185,7 @@ __decorate([
|
|
|
185
185
|
__decorate([
|
|
186
186
|
(0, mongoose_1.Prop)({ type: exports.ClientResponsibleSchema, required: false }),
|
|
187
187
|
__metadata("design:type", ClientResponsible)
|
|
188
|
-
], Client.prototype, "
|
|
189
|
-
__decorate([
|
|
190
|
-
(0, mongoose_1.Prop)({ type: String, required: false }),
|
|
191
|
-
__metadata("design:type", String)
|
|
192
|
-
], Client.prototype, "brandResponsible", void 0);
|
|
188
|
+
], Client.prototype, "responsible", void 0);
|
|
193
189
|
__decorate([
|
|
194
190
|
(0, mongoose_1.Prop)([
|
|
195
191
|
{ type: mongoose_2.Schema.Types.ObjectId, ref: 'Profile', required: false },
|
|
@@ -25,6 +25,7 @@
|
|
|
25
25
|
/// <reference types="mongoose/types/inferrawdoctype" />
|
|
26
26
|
import { HydratedDocument, Schema as MongooseSchema, Types } from 'mongoose';
|
|
27
27
|
import { Action } from './action.schema';
|
|
28
|
+
import { Responsible } from './responsible.schema';
|
|
28
29
|
export type ContentCaptureProcessDocument = HydratedDocument<ContentCaptureProcess>;
|
|
29
30
|
export declare class ContentCaptureProcessMetrics {
|
|
30
31
|
impressionCount?: number | null;
|
|
@@ -94,40 +95,13 @@ export declare const ContentCaptureProcessItemSchema: MongooseSchema<ContentCapt
|
|
|
94
95
|
} & {
|
|
95
96
|
__v: number;
|
|
96
97
|
}>;
|
|
97
|
-
export declare class ContentCaptureProcessResponsibleContact {
|
|
98
|
-
name?: string;
|
|
99
|
-
team?: string;
|
|
100
|
-
email?: string;
|
|
101
|
-
}
|
|
102
|
-
export declare const ContentCaptureProcessResponsibleContactSchema: MongooseSchema<ContentCaptureProcessResponsibleContact, import("mongoose").Model<ContentCaptureProcessResponsibleContact, any, any, any, import("mongoose").Document<unknown, any, ContentCaptureProcessResponsibleContact, any, {}> & ContentCaptureProcessResponsibleContact & {
|
|
103
|
-
_id: Types.ObjectId;
|
|
104
|
-
} & {
|
|
105
|
-
__v: number;
|
|
106
|
-
}, any>, {}, {}, {}, {}, import("mongoose").DefaultSchemaOptions, ContentCaptureProcessResponsibleContact, import("mongoose").Document<unknown, {}, import("mongoose").FlatRecord<ContentCaptureProcessResponsibleContact>, {}, import("mongoose").ResolveSchemaOptions<import("mongoose").DefaultSchemaOptions>> & import("mongoose").FlatRecord<ContentCaptureProcessResponsibleContact> & {
|
|
107
|
-
_id: Types.ObjectId;
|
|
108
|
-
} & {
|
|
109
|
-
__v: number;
|
|
110
|
-
}>;
|
|
111
|
-
export declare class ContentCaptureProcessResponsible {
|
|
112
|
-
service?: ContentCaptureProcessResponsibleContact[];
|
|
113
|
-
}
|
|
114
|
-
export declare const ContentCaptureProcessResponsibleSchema: MongooseSchema<ContentCaptureProcessResponsible, import("mongoose").Model<ContentCaptureProcessResponsible, any, any, any, import("mongoose").Document<unknown, any, ContentCaptureProcessResponsible, any, {}> & ContentCaptureProcessResponsible & {
|
|
115
|
-
_id: Types.ObjectId;
|
|
116
|
-
} & {
|
|
117
|
-
__v: number;
|
|
118
|
-
}, any>, {}, {}, {}, {}, import("mongoose").DefaultSchemaOptions, ContentCaptureProcessResponsible, import("mongoose").Document<unknown, {}, import("mongoose").FlatRecord<ContentCaptureProcessResponsible>, {}, import("mongoose").ResolveSchemaOptions<import("mongoose").DefaultSchemaOptions>> & import("mongoose").FlatRecord<ContentCaptureProcessResponsible> & {
|
|
119
|
-
_id: Types.ObjectId;
|
|
120
|
-
} & {
|
|
121
|
-
__v: number;
|
|
122
|
-
}>;
|
|
123
|
-
export { ContentCaptureProcessResponsible as ContentCaptureProcessResponsibles, ContentCaptureProcessResponsibleSchema as ContentCaptureProcessResponsiblesSchema, };
|
|
124
98
|
export declare class ContentCaptureProcess {
|
|
125
99
|
_id?: Types.ObjectId;
|
|
126
100
|
actionId: Types.ObjectId | Action;
|
|
127
101
|
runId: string;
|
|
128
102
|
actionTitle: string;
|
|
129
103
|
primetagId?: string;
|
|
130
|
-
responsible?:
|
|
104
|
+
responsible?: Responsible[];
|
|
131
105
|
status: 'fetching' | 'awaiting_comments' | 'reported' | 'failed';
|
|
132
106
|
publicationsFetched: number;
|
|
133
107
|
contentsMapped: number;
|
|
@@ -9,9 +9,10 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
9
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.ContentCaptureProcessModel = exports.ContentCaptureProcessSchema = exports.ContentCaptureProcess = exports.
|
|
12
|
+
exports.ContentCaptureProcessModel = exports.ContentCaptureProcessSchema = exports.ContentCaptureProcess = exports.ContentCaptureProcessItemSchema = exports.ContentCaptureProcessItem = exports.ContentCaptureProcessCommentCaptureStatusSchema = exports.ContentCaptureProcessCommentCaptureStatus = exports.ContentCaptureProcessInfluencerSchema = exports.ContentCaptureProcessInfluencer = exports.ContentCaptureProcessMetricsSchema = exports.ContentCaptureProcessMetrics = void 0;
|
|
13
13
|
const mongoose_1 = require("@nestjs/mongoose");
|
|
14
14
|
const mongoose_2 = require("mongoose");
|
|
15
|
+
const responsible_schema_1 = require("./responsible.schema");
|
|
15
16
|
let ContentCaptureProcessMetrics = class ContentCaptureProcessMetrics {
|
|
16
17
|
};
|
|
17
18
|
__decorate([
|
|
@@ -140,38 +141,6 @@ ContentCaptureProcessItem = __decorate([
|
|
|
140
141
|
], ContentCaptureProcessItem);
|
|
141
142
|
exports.ContentCaptureProcessItem = ContentCaptureProcessItem;
|
|
142
143
|
exports.ContentCaptureProcessItemSchema = mongoose_1.SchemaFactory.createForClass(ContentCaptureProcessItem);
|
|
143
|
-
let ContentCaptureProcessResponsibleContact = class ContentCaptureProcessResponsibleContact {
|
|
144
|
-
};
|
|
145
|
-
__decorate([
|
|
146
|
-
(0, mongoose_1.Prop)({ type: String, required: false }),
|
|
147
|
-
__metadata("design:type", String)
|
|
148
|
-
], ContentCaptureProcessResponsibleContact.prototype, "name", void 0);
|
|
149
|
-
__decorate([
|
|
150
|
-
(0, mongoose_1.Prop)({ type: String, required: false }),
|
|
151
|
-
__metadata("design:type", String)
|
|
152
|
-
], ContentCaptureProcessResponsibleContact.prototype, "team", void 0);
|
|
153
|
-
__decorate([
|
|
154
|
-
(0, mongoose_1.Prop)({ type: String, required: false }),
|
|
155
|
-
__metadata("design:type", String)
|
|
156
|
-
], ContentCaptureProcessResponsibleContact.prototype, "email", void 0);
|
|
157
|
-
ContentCaptureProcessResponsibleContact = __decorate([
|
|
158
|
-
(0, mongoose_1.Schema)({ _id: false })
|
|
159
|
-
], ContentCaptureProcessResponsibleContact);
|
|
160
|
-
exports.ContentCaptureProcessResponsibleContact = ContentCaptureProcessResponsibleContact;
|
|
161
|
-
exports.ContentCaptureProcessResponsibleContactSchema = mongoose_1.SchemaFactory.createForClass(ContentCaptureProcessResponsibleContact);
|
|
162
|
-
let ContentCaptureProcessResponsible = class ContentCaptureProcessResponsible {
|
|
163
|
-
};
|
|
164
|
-
__decorate([
|
|
165
|
-
(0, mongoose_1.Prop)({ type: [exports.ContentCaptureProcessResponsibleContactSchema], required: false }),
|
|
166
|
-
__metadata("design:type", Array)
|
|
167
|
-
], ContentCaptureProcessResponsible.prototype, "service", void 0);
|
|
168
|
-
ContentCaptureProcessResponsible = __decorate([
|
|
169
|
-
(0, mongoose_1.Schema)({ _id: false })
|
|
170
|
-
], ContentCaptureProcessResponsible);
|
|
171
|
-
exports.ContentCaptureProcessResponsible = ContentCaptureProcessResponsible;
|
|
172
|
-
exports.ContentCaptureProcessResponsibles = ContentCaptureProcessResponsible;
|
|
173
|
-
exports.ContentCaptureProcessResponsibleSchema = mongoose_1.SchemaFactory.createForClass(ContentCaptureProcessResponsible);
|
|
174
|
-
exports.ContentCaptureProcessResponsiblesSchema = exports.ContentCaptureProcessResponsibleSchema;
|
|
175
144
|
let ContentCaptureProcess = class ContentCaptureProcess {
|
|
176
145
|
};
|
|
177
146
|
__decorate([
|
|
@@ -195,8 +164,8 @@ __decorate([
|
|
|
195
164
|
__metadata("design:type", String)
|
|
196
165
|
], ContentCaptureProcess.prototype, "primetagId", void 0);
|
|
197
166
|
__decorate([
|
|
198
|
-
(0, mongoose_1.Prop)({ type:
|
|
199
|
-
__metadata("design:type",
|
|
167
|
+
(0, mongoose_1.Prop)({ type: [responsible_schema_1.ResponsibleSchema], required: false, default: [] }),
|
|
168
|
+
__metadata("design:type", Array)
|
|
200
169
|
], ContentCaptureProcess.prototype, "responsible", void 0);
|
|
201
170
|
__decorate([
|
|
202
171
|
(0, mongoose_1.Prop)({
|
|
@@ -24,20 +24,8 @@
|
|
|
24
24
|
/// <reference types="mongoose/types/inferschematype" />
|
|
25
25
|
/// <reference types="mongoose/types/inferrawdoctype" />
|
|
26
26
|
import { HydratedDocument, Schema as MongooseSchema, Types } from 'mongoose';
|
|
27
|
+
import { Responsible } from './responsible.schema';
|
|
27
28
|
export type ProspectDocument = HydratedDocument<Prospect>;
|
|
28
|
-
export declare class ProspectResponsible {
|
|
29
|
-
name: string;
|
|
30
|
-
email: string;
|
|
31
|
-
}
|
|
32
|
-
export declare const ProspectResponsibleSchema: MongooseSchema<ProspectResponsible, import("mongoose").Model<ProspectResponsible, any, any, any, import("mongoose").Document<unknown, any, ProspectResponsible, any, {}> & ProspectResponsible & {
|
|
33
|
-
_id: Types.ObjectId;
|
|
34
|
-
} & {
|
|
35
|
-
__v: number;
|
|
36
|
-
}, any>, {}, {}, {}, {}, import("mongoose").DefaultSchemaOptions, ProspectResponsible, import("mongoose").Document<unknown, {}, import("mongoose").FlatRecord<ProspectResponsible>, {}, import("mongoose").ResolveSchemaOptions<import("mongoose").DefaultSchemaOptions>> & import("mongoose").FlatRecord<ProspectResponsible> & {
|
|
37
|
-
_id: Types.ObjectId;
|
|
38
|
-
} & {
|
|
39
|
-
__v: number;
|
|
40
|
-
}>;
|
|
41
29
|
export declare class ProspectNote {
|
|
42
30
|
text: string;
|
|
43
31
|
author: string;
|
|
@@ -59,7 +47,7 @@ export declare class Prospect {
|
|
|
59
47
|
value?: number;
|
|
60
48
|
status: 'open' | 'won' | 'lost';
|
|
61
49
|
hot: boolean;
|
|
62
|
-
responsible:
|
|
50
|
+
responsible: Responsible[];
|
|
63
51
|
lastContactAt: Date;
|
|
64
52
|
lastReminderAt?: Date;
|
|
65
53
|
notes: ProspectNote[];
|
|
@@ -9,27 +9,11 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
9
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.ProspectModel = exports.ProspectSchema = exports.Prospect = exports.ProspectNoteSchema = exports.ProspectNote =
|
|
12
|
+
exports.ProspectModel = exports.ProspectSchema = exports.Prospect = exports.ProspectNoteSchema = exports.ProspectNote = void 0;
|
|
13
13
|
const mongoose_1 = require("@nestjs/mongoose");
|
|
14
14
|
const swagger_1 = require("@nestjs/swagger");
|
|
15
15
|
const mongoose_2 = require("mongoose");
|
|
16
|
-
|
|
17
|
-
};
|
|
18
|
-
__decorate([
|
|
19
|
-
(0, swagger_1.ApiProperty)({ example: 'João' }),
|
|
20
|
-
(0, mongoose_1.Prop)({ required: true }),
|
|
21
|
-
__metadata("design:type", String)
|
|
22
|
-
], ProspectResponsible.prototype, "name", void 0);
|
|
23
|
-
__decorate([
|
|
24
|
-
(0, swagger_1.ApiProperty)({ example: 'joao@empresa.com' }),
|
|
25
|
-
(0, mongoose_1.Prop)({ required: true }),
|
|
26
|
-
__metadata("design:type", String)
|
|
27
|
-
], ProspectResponsible.prototype, "email", void 0);
|
|
28
|
-
ProspectResponsible = __decorate([
|
|
29
|
-
(0, mongoose_1.Schema)({ _id: false })
|
|
30
|
-
], ProspectResponsible);
|
|
31
|
-
exports.ProspectResponsible = ProspectResponsible;
|
|
32
|
-
exports.ProspectResponsibleSchema = mongoose_1.SchemaFactory.createForClass(ProspectResponsible);
|
|
16
|
+
const responsible_schema_1 = require("./responsible.schema");
|
|
33
17
|
let ProspectNote = class ProspectNote {
|
|
34
18
|
};
|
|
35
19
|
__decorate([
|
|
@@ -77,8 +61,9 @@ __decorate([
|
|
|
77
61
|
__metadata("design:type", Boolean)
|
|
78
62
|
], Prospect.prototype, "hot", void 0);
|
|
79
63
|
__decorate([
|
|
80
|
-
(0,
|
|
81
|
-
|
|
64
|
+
(0, swagger_1.ApiProperty)({ type: () => [responsible_schema_1.Responsible] }),
|
|
65
|
+
(0, mongoose_1.Prop)({ type: [responsible_schema_1.ResponsibleSchema], required: true }),
|
|
66
|
+
__metadata("design:type", Array)
|
|
82
67
|
], Prospect.prototype, "responsible", void 0);
|
|
83
68
|
__decorate([
|
|
84
69
|
(0, mongoose_1.Prop)({ required: true }),
|
|
@@ -98,4 +83,5 @@ Prospect = __decorate([
|
|
|
98
83
|
exports.Prospect = Prospect;
|
|
99
84
|
exports.ProspectSchema = mongoose_1.SchemaFactory.createForClass(Prospect);
|
|
100
85
|
exports.ProspectSchema.index({ organization: 1, status: 1, lastContactAt: 1 });
|
|
86
|
+
exports.ProspectSchema.index({ 'responsible.email': 1 });
|
|
101
87
|
exports.ProspectModel = (0, mongoose_2.model)('Prospect', exports.ProspectSchema);
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/// <reference types="mongoose/types/aggregate" />
|
|
2
|
+
/// <reference types="mongoose/types/callback" />
|
|
3
|
+
/// <reference types="mongoose/types/collection" />
|
|
4
|
+
/// <reference types="mongoose/types/connection" />
|
|
5
|
+
/// <reference types="mongoose/types/cursor" />
|
|
6
|
+
/// <reference types="mongoose/types/document" />
|
|
7
|
+
/// <reference types="mongoose/types/error" />
|
|
8
|
+
/// <reference types="mongoose/types/expressions" />
|
|
9
|
+
/// <reference types="mongoose/types/helpers" />
|
|
10
|
+
/// <reference types="mongoose/types/middlewares" />
|
|
11
|
+
/// <reference types="mongoose/types/indexes" />
|
|
12
|
+
/// <reference types="mongoose/types/models" />
|
|
13
|
+
/// <reference types="mongoose/types/mongooseoptions" />
|
|
14
|
+
/// <reference types="mongoose/types/pipelinestage" />
|
|
15
|
+
/// <reference types="mongoose/types/populate" />
|
|
16
|
+
/// <reference types="mongoose/types/query" />
|
|
17
|
+
/// <reference types="mongoose/types/schemaoptions" />
|
|
18
|
+
/// <reference types="mongoose/types/session" />
|
|
19
|
+
/// <reference types="mongoose/types/types" />
|
|
20
|
+
/// <reference types="mongoose/types/utility" />
|
|
21
|
+
/// <reference types="mongoose/types/validation" />
|
|
22
|
+
/// <reference types="mongoose/types/virtuals" />
|
|
23
|
+
/// <reference types="mongoose" />
|
|
24
|
+
/// <reference types="mongoose/types/schematypes" />
|
|
25
|
+
/// <reference types="mongoose/types/inferschematype" />
|
|
26
|
+
/// <reference types="mongoose/types/inferrawdoctype" />
|
|
27
|
+
/**
|
|
28
|
+
* Formato único de responsável em todas as entidades (`responsible`).
|
|
29
|
+
* `username` vem de `User.username` (api-admin).
|
|
30
|
+
*/
|
|
31
|
+
export declare class Responsible {
|
|
32
|
+
name: string;
|
|
33
|
+
email: string;
|
|
34
|
+
username: string;
|
|
35
|
+
team?: string;
|
|
36
|
+
}
|
|
37
|
+
export declare const ResponsibleSchema: import("mongoose").Schema<Responsible, import("mongoose").Model<Responsible, any, any, any, import("mongoose").Document<unknown, any, Responsible, any, {}> & Responsible & {
|
|
38
|
+
_id: import("mongoose").Types.ObjectId;
|
|
39
|
+
} & {
|
|
40
|
+
__v: number;
|
|
41
|
+
}, any>, {}, {}, {}, {}, import("mongoose").DefaultSchemaOptions, Responsible, import("mongoose").Document<unknown, {}, import("mongoose").FlatRecord<Responsible>, {}, import("mongoose").ResolveSchemaOptions<import("mongoose").DefaultSchemaOptions>> & import("mongoose").FlatRecord<Responsible> & {
|
|
42
|
+
_id: import("mongoose").Types.ObjectId;
|
|
43
|
+
} & {
|
|
44
|
+
__v: number;
|
|
45
|
+
}>;
|
|
@@ -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.ResponsibleSchema = exports.Responsible = void 0;
|
|
13
|
+
const mongoose_1 = require("@nestjs/mongoose");
|
|
14
|
+
const swagger_1 = require("@nestjs/swagger");
|
|
15
|
+
/**
|
|
16
|
+
* Formato único de responsável em todas as entidades (`responsible`).
|
|
17
|
+
* `username` vem de `User.username` (api-admin).
|
|
18
|
+
*/
|
|
19
|
+
let Responsible = class Responsible {
|
|
20
|
+
};
|
|
21
|
+
__decorate([
|
|
22
|
+
(0, swagger_1.ApiProperty)({ example: 'Maria Oliveira' }),
|
|
23
|
+
(0, mongoose_1.Prop)({ type: String, required: true }),
|
|
24
|
+
__metadata("design:type", String)
|
|
25
|
+
], Responsible.prototype, "name", void 0);
|
|
26
|
+
__decorate([
|
|
27
|
+
(0, swagger_1.ApiProperty)({ example: 'maria@empresa.com' }),
|
|
28
|
+
(0, mongoose_1.Prop)({ type: String, required: true }),
|
|
29
|
+
__metadata("design:type", String)
|
|
30
|
+
], Responsible.prototype, "email", void 0);
|
|
31
|
+
__decorate([
|
|
32
|
+
(0, swagger_1.ApiProperty)({ example: 'maria.oliveira' }),
|
|
33
|
+
(0, mongoose_1.Prop)({ type: String, required: true }),
|
|
34
|
+
__metadata("design:type", String)
|
|
35
|
+
], Responsible.prototype, "username", void 0);
|
|
36
|
+
__decorate([
|
|
37
|
+
(0, swagger_1.ApiProperty)({ example: 'service', required: false }),
|
|
38
|
+
(0, mongoose_1.Prop)({ type: String, required: false }),
|
|
39
|
+
__metadata("design:type", String)
|
|
40
|
+
], Responsible.prototype, "team", void 0);
|
|
41
|
+
Responsible = __decorate([
|
|
42
|
+
(0, mongoose_1.Schema)({ _id: false })
|
|
43
|
+
], Responsible);
|
|
44
|
+
exports.Responsible = Responsible;
|
|
45
|
+
exports.ResponsibleSchema = mongoose_1.SchemaFactory.createForClass(Responsible);
|
|
@@ -28,6 +28,7 @@ import { Profile } from './profile.schema';
|
|
|
28
28
|
import { Client } from './client.schema';
|
|
29
29
|
import { Influencer } from './influencer.schema';
|
|
30
30
|
import { Note } from './note.schema';
|
|
31
|
+
import { Responsible } from './responsible.schema';
|
|
31
32
|
export type SaleDocument = HydratedDocument<Sale>;
|
|
32
33
|
export declare class Proposal {
|
|
33
34
|
businessUnit: 'service' | 'comercial';
|
|
@@ -36,11 +37,6 @@ export declare class Proposal {
|
|
|
36
37
|
origin: 'inbound' | 'outbound';
|
|
37
38
|
profile?: Types.ObjectId | Profile;
|
|
38
39
|
influencer?: Types.ObjectId | Influencer;
|
|
39
|
-
responsible: {
|
|
40
|
-
team: string;
|
|
41
|
-
name: string;
|
|
42
|
-
email: string;
|
|
43
|
-
}[];
|
|
44
40
|
}
|
|
45
41
|
export declare class Negotiation {
|
|
46
42
|
calculatorType: 'withPreDefinedBudget' | 'withoutPreDefinedBudget' | 'byCommission' | 'bourbon';
|
|
@@ -117,18 +113,23 @@ export declare class Inbox {
|
|
|
117
113
|
bodyHtml?: string;
|
|
118
114
|
receivedAt: Date;
|
|
119
115
|
}
|
|
116
|
+
/**
|
|
117
|
+
* Responsáveis da venda por papel: comercial (proposta), curadoria e planejamento.
|
|
118
|
+
*/
|
|
120
119
|
export declare class SaleResponsible {
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
email: string;
|
|
125
|
-
}[];
|
|
126
|
-
planning?: {
|
|
127
|
-
team: string;
|
|
128
|
-
name: string;
|
|
129
|
-
email: string;
|
|
130
|
-
}[];
|
|
120
|
+
proposal?: Responsible[];
|
|
121
|
+
curation?: Responsible[];
|
|
122
|
+
planning?: Responsible[];
|
|
131
123
|
}
|
|
124
|
+
export declare const SaleResponsibleSchema: MongooseSchema<SaleResponsible, import("mongoose").Model<SaleResponsible, any, any, any, import("mongoose").Document<unknown, any, SaleResponsible, any, {}> & SaleResponsible & {
|
|
125
|
+
_id: Types.ObjectId;
|
|
126
|
+
} & {
|
|
127
|
+
__v: number;
|
|
128
|
+
}, any>, {}, {}, {}, {}, import("mongoose").DefaultSchemaOptions, SaleResponsible, import("mongoose").Document<unknown, {}, import("mongoose").FlatRecord<SaleResponsible>, {}, import("mongoose").ResolveSchemaOptions<import("mongoose").DefaultSchemaOptions>> & import("mongoose").FlatRecord<SaleResponsible> & {
|
|
129
|
+
_id: Types.ObjectId;
|
|
130
|
+
} & {
|
|
131
|
+
__v: number;
|
|
132
|
+
}>;
|
|
132
133
|
export declare class SaleLinks {
|
|
133
134
|
contract?: string;
|
|
134
135
|
clientSheet?: string;
|
|
@@ -9,10 +9,11 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
9
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.SaleModel = exports.SaleSchema = exports.Sale = exports.SaleLinks = exports.SaleResponsible = exports.Inbox = exports.CommissionInfo = exports.CommissionParticipant = exports.TimelineEntry = exports.Activity = exports.Lost = exports.Formalization = exports.Negotiation = exports.Proposal = void 0;
|
|
12
|
+
exports.SaleModel = exports.SaleSchema = exports.Sale = exports.SaleLinks = exports.SaleResponsibleSchema = exports.SaleResponsible = exports.Inbox = exports.CommissionInfo = exports.CommissionParticipant = exports.TimelineEntry = exports.Activity = exports.Lost = exports.Formalization = exports.Negotiation = exports.Proposal = void 0;
|
|
13
13
|
const mongoose_1 = require("@nestjs/mongoose");
|
|
14
14
|
const mongoose_2 = require("mongoose");
|
|
15
15
|
const note_schema_1 = require("./note.schema");
|
|
16
|
+
const responsible_schema_1 = require("./responsible.schema");
|
|
16
17
|
let Proposal = class Proposal {
|
|
17
18
|
};
|
|
18
19
|
__decorate([
|
|
@@ -51,18 +52,6 @@ __decorate([
|
|
|
51
52
|
}),
|
|
52
53
|
__metadata("design:type", Object)
|
|
53
54
|
], Proposal.prototype, "influencer", void 0);
|
|
54
|
-
__decorate([
|
|
55
|
-
(0, mongoose_1.Prop)({
|
|
56
|
-
_id: false,
|
|
57
|
-
required: true,
|
|
58
|
-
type: [{
|
|
59
|
-
team: String,
|
|
60
|
-
name: String,
|
|
61
|
-
email: String,
|
|
62
|
-
}],
|
|
63
|
-
}),
|
|
64
|
-
__metadata("design:type", Array)
|
|
65
|
-
], Proposal.prototype, "responsible", void 0);
|
|
66
55
|
Proposal = __decorate([
|
|
67
56
|
(0, mongoose_1.Schema)({ _id: false })
|
|
68
57
|
], Proposal);
|
|
@@ -351,36 +340,28 @@ Inbox = __decorate([
|
|
|
351
340
|
(0, mongoose_1.Schema)({ _id: false })
|
|
352
341
|
], Inbox);
|
|
353
342
|
exports.Inbox = Inbox;
|
|
343
|
+
/**
|
|
344
|
+
* Responsáveis da venda por papel: comercial (proposta), curadoria e planejamento.
|
|
345
|
+
*/
|
|
354
346
|
let SaleResponsible = class SaleResponsible {
|
|
355
347
|
};
|
|
356
348
|
__decorate([
|
|
357
|
-
(0, mongoose_1.Prop)({
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
name: String,
|
|
363
|
-
email: String,
|
|
364
|
-
}],
|
|
365
|
-
}),
|
|
349
|
+
(0, mongoose_1.Prop)({ type: [responsible_schema_1.ResponsibleSchema], required: false, default: [] }),
|
|
350
|
+
__metadata("design:type", Array)
|
|
351
|
+
], SaleResponsible.prototype, "proposal", void 0);
|
|
352
|
+
__decorate([
|
|
353
|
+
(0, mongoose_1.Prop)({ type: [responsible_schema_1.ResponsibleSchema], required: false, default: [] }),
|
|
366
354
|
__metadata("design:type", Array)
|
|
367
355
|
], SaleResponsible.prototype, "curation", void 0);
|
|
368
356
|
__decorate([
|
|
369
|
-
(0, mongoose_1.Prop)({
|
|
370
|
-
_id: false,
|
|
371
|
-
required: false,
|
|
372
|
-
type: [{
|
|
373
|
-
team: String,
|
|
374
|
-
name: String,
|
|
375
|
-
email: String,
|
|
376
|
-
}],
|
|
377
|
-
}),
|
|
357
|
+
(0, mongoose_1.Prop)({ type: [responsible_schema_1.ResponsibleSchema], required: false, default: [] }),
|
|
378
358
|
__metadata("design:type", Array)
|
|
379
359
|
], SaleResponsible.prototype, "planning", void 0);
|
|
380
360
|
SaleResponsible = __decorate([
|
|
381
361
|
(0, mongoose_1.Schema)({ _id: false })
|
|
382
362
|
], SaleResponsible);
|
|
383
363
|
exports.SaleResponsible = SaleResponsible;
|
|
364
|
+
exports.SaleResponsibleSchema = mongoose_1.SchemaFactory.createForClass(SaleResponsible);
|
|
384
365
|
let SaleLinks = class SaleLinks {
|
|
385
366
|
};
|
|
386
367
|
__decorate([
|
|
@@ -510,7 +491,7 @@ __decorate([
|
|
|
510
491
|
__metadata("design:type", String)
|
|
511
492
|
], Sale.prototype, "omieId", void 0);
|
|
512
493
|
__decorate([
|
|
513
|
-
(0, mongoose_1.Prop)({ type:
|
|
494
|
+
(0, mongoose_1.Prop)({ type: exports.SaleResponsibleSchema, required: false }),
|
|
514
495
|
__metadata("design:type", SaleResponsible)
|
|
515
496
|
], Sale.prototype, "responsible", void 0);
|
|
516
497
|
__decorate([
|
|
@@ -528,6 +509,6 @@ exports.SaleSchema.index({ organization: 1, 'formalization.brand': 1 });
|
|
|
528
509
|
exports.SaleSchema.index({ organization: 1, 'formalization.agency': 1 });
|
|
529
510
|
exports.SaleSchema.index({ organization: 1, closedAt: 1, phase: 1 });
|
|
530
511
|
exports.SaleSchema.index({ 'proposal.influencer': 1 });
|
|
531
|
-
exports.SaleSchema.index({ 'proposal.
|
|
512
|
+
exports.SaleSchema.index({ 'responsible.proposal.email': 1 });
|
|
532
513
|
exports.SaleSchema.index({ tags: 1 });
|
|
533
514
|
exports.SaleModel = (0, mongoose_2.model)('Sale', exports.SaleSchema);
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -14,34 +14,10 @@ import { Client } from './client.schema';
|
|
|
14
14
|
import { Sale } from './sale.schema';
|
|
15
15
|
import { Campaign } from './campaign.schema';
|
|
16
16
|
import { Note, NoteSchema } from './note.schema';
|
|
17
|
+
import { Responsible, ResponsibleSchema } from './responsible.schema';
|
|
17
18
|
|
|
18
19
|
export type ActionDocument = HydratedDocument<Action>;
|
|
19
20
|
|
|
20
|
-
@Schema({ _id: false })
|
|
21
|
-
export class Responsible {
|
|
22
|
-
@ApiProperty({ example: 'Maria Oliveira' })
|
|
23
|
-
@Prop()
|
|
24
|
-
name: string;
|
|
25
|
-
|
|
26
|
-
@ApiProperty({ example: 'Comercial' })
|
|
27
|
-
@Prop()
|
|
28
|
-
team: string;
|
|
29
|
-
|
|
30
|
-
@ApiProperty({ example: 'maria@empresa.com' })
|
|
31
|
-
@Prop()
|
|
32
|
-
email: string;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
export const ResponsibleSchema = SchemaFactory.createForClass(Responsible);
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
* @deprecated Use `Responsible` or `Responsible[]` on Action.responsible
|
|
39
|
-
*/
|
|
40
|
-
export class ActionResponsible extends Responsible {}
|
|
41
|
-
export const ActionResponsibleSchema = SchemaFactory.createForClass(ActionResponsible);
|
|
42
|
-
|
|
43
|
-
export { ActionResponsible as Responsibles, ActionResponsibleSchema as ResponsiblesSchema };
|
|
44
|
-
|
|
45
21
|
export const ACTION_BUSINESS_UNIT_VALUES = [
|
|
46
22
|
'service',
|
|
47
23
|
'comercial',
|
|
@@ -9,6 +9,7 @@ import {
|
|
|
9
9
|
} from 'mongoose';
|
|
10
10
|
|
|
11
11
|
import { Action } from './action.schema';
|
|
12
|
+
import { Responsible, ResponsibleSchema } from './responsible.schema';
|
|
12
13
|
|
|
13
14
|
export type AssignmentDocument = HydratedDocument<Assignment>;
|
|
14
15
|
|
|
@@ -100,9 +101,9 @@ export class Assignment {
|
|
|
100
101
|
@Prop({ type: String, required: true })
|
|
101
102
|
title: string;
|
|
102
103
|
|
|
103
|
-
@ApiProperty({
|
|
104
|
-
@Prop({ type:
|
|
105
|
-
responsible?:
|
|
104
|
+
@ApiProperty({ type: () => [Responsible], required: false })
|
|
105
|
+
@Prop({ type: [ResponsibleSchema], required: false, default: [] })
|
|
106
|
+
responsible?: Responsible[];
|
|
106
107
|
|
|
107
108
|
@ApiProperty({ example: '2026-08-25T00:00:00.000Z', required: false })
|
|
108
109
|
@Prop({ type: Date, required: false, default: null })
|
|
@@ -148,6 +149,6 @@ AssignmentSchema.index({ action: 1 });
|
|
|
148
149
|
AssignmentSchema.index({ organization: 1, status: 1 });
|
|
149
150
|
AssignmentSchema.index({ organization: 1, dueDate: 1 });
|
|
150
151
|
AssignmentSchema.index({ seriesId: 1 });
|
|
151
|
-
AssignmentSchema.index({ responsible: 1, dueDate: 1 });
|
|
152
|
+
AssignmentSchema.index({ 'responsible.email': 1, dueDate: 1 });
|
|
152
153
|
|
|
153
154
|
export const AssignmentModel = MongooseModel('Assignment', AssignmentSchema);
|
|
@@ -8,6 +8,7 @@ import {
|
|
|
8
8
|
} from 'mongoose';
|
|
9
9
|
import { Party } from './party.schema';
|
|
10
10
|
import { Profile } from './profile.schema';
|
|
11
|
+
import { Responsible, ResponsibleSchema } from './responsible.schema';
|
|
11
12
|
|
|
12
13
|
export type ClientDocument = HydratedDocument<Client>;
|
|
13
14
|
|
|
@@ -82,19 +83,19 @@ export class NicheItem {
|
|
|
82
83
|
|
|
83
84
|
export const NicheItemSchema = SchemaFactory.createForClass(NicheItem);
|
|
84
85
|
|
|
86
|
+
/**
|
|
87
|
+
* Responsáveis do cliente: `report` são usuários da plataforma que cuidam dos
|
|
88
|
+
* relatórios; `brand` é o contato do lado da marca (texto livre, não é usuário).
|
|
89
|
+
*/
|
|
85
90
|
@Schema({ _id: false })
|
|
86
91
|
export class ClientResponsible {
|
|
87
|
-
@ApiProperty({
|
|
88
|
-
@Prop()
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
@ApiProperty({ example: 'Comercial' })
|
|
92
|
-
@Prop()
|
|
93
|
-
team: string;
|
|
92
|
+
@ApiProperty({ type: () => [Responsible], required: false })
|
|
93
|
+
@Prop({ type: [ResponsibleSchema], required: false, default: [] })
|
|
94
|
+
report?: Responsible[];
|
|
94
95
|
|
|
95
|
-
@ApiProperty({ example: '
|
|
96
|
-
@Prop()
|
|
97
|
-
|
|
96
|
+
@ApiProperty({ example: 'Maite', required: false })
|
|
97
|
+
@Prop({ type: String, required: false })
|
|
98
|
+
brand?: string;
|
|
98
99
|
}
|
|
99
100
|
|
|
100
101
|
export const ClientResponsibleSchema = SchemaFactory.createForClass(ClientResponsible);
|
|
@@ -167,10 +168,7 @@ export class Client extends Party {
|
|
|
167
168
|
organization?: Types.ObjectId;
|
|
168
169
|
|
|
169
170
|
@Prop({ type: ClientResponsibleSchema, required: false })
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
@Prop({ type: String, required: false })
|
|
173
|
-
brandResponsible?: string;
|
|
171
|
+
responsible?: ClientResponsible;
|
|
174
172
|
|
|
175
173
|
// Perfis da marca nas redes sociais (mesmo vínculo de Influencer.profiles).
|
|
176
174
|
// Usado pelo comment-capture-worker pra reconhecer comentário da própria marca.
|
|
@@ -6,6 +6,7 @@ import {
|
|
|
6
6
|
model as MongooseModel,
|
|
7
7
|
} from 'mongoose';
|
|
8
8
|
import { Action } from './action.schema';
|
|
9
|
+
import { Responsible, ResponsibleSchema } from './responsible.schema';
|
|
9
10
|
|
|
10
11
|
export type ContentCaptureProcessDocument = HydratedDocument<ContentCaptureProcess>;
|
|
11
12
|
|
|
@@ -112,37 +113,6 @@ export class ContentCaptureProcessItem {
|
|
|
112
113
|
export const ContentCaptureProcessItemSchema =
|
|
113
114
|
SchemaFactory.createForClass(ContentCaptureProcessItem);
|
|
114
115
|
|
|
115
|
-
@Schema({ _id: false })
|
|
116
|
-
export class ContentCaptureProcessResponsibleContact {
|
|
117
|
-
@Prop({ type: String, required: false })
|
|
118
|
-
name?: string;
|
|
119
|
-
|
|
120
|
-
@Prop({ type: String, required: false })
|
|
121
|
-
team?: string;
|
|
122
|
-
|
|
123
|
-
@Prop({ type: String, required: false })
|
|
124
|
-
email?: string;
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
export const ContentCaptureProcessResponsibleContactSchema = SchemaFactory.createForClass(
|
|
128
|
-
ContentCaptureProcessResponsibleContact,
|
|
129
|
-
);
|
|
130
|
-
|
|
131
|
-
@Schema({ _id: false })
|
|
132
|
-
export class ContentCaptureProcessResponsible {
|
|
133
|
-
@Prop({ type: [ContentCaptureProcessResponsibleContactSchema], required: false })
|
|
134
|
-
service?: ContentCaptureProcessResponsibleContact[];
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
export const ContentCaptureProcessResponsibleSchema = SchemaFactory.createForClass(
|
|
138
|
-
ContentCaptureProcessResponsible,
|
|
139
|
-
);
|
|
140
|
-
|
|
141
|
-
export {
|
|
142
|
-
ContentCaptureProcessResponsible as ContentCaptureProcessResponsibles,
|
|
143
|
-
ContentCaptureProcessResponsibleSchema as ContentCaptureProcessResponsiblesSchema,
|
|
144
|
-
};
|
|
145
|
-
|
|
146
116
|
@Schema({ collection: 'content-capture-processes', timestamps: true })
|
|
147
117
|
export class ContentCaptureProcess {
|
|
148
118
|
@Prop({ type: MongooseSchema.Types.ObjectId, auto: true, required: false })
|
|
@@ -160,8 +130,8 @@ export class ContentCaptureProcess {
|
|
|
160
130
|
@Prop({ type: String, required: false })
|
|
161
131
|
primetagId?: string;
|
|
162
132
|
|
|
163
|
-
@Prop({ type:
|
|
164
|
-
responsible?:
|
|
133
|
+
@Prop({ type: [ResponsibleSchema], required: false, default: [] })
|
|
134
|
+
responsible?: Responsible[];
|
|
165
135
|
|
|
166
136
|
@Prop({
|
|
167
137
|
type: String,
|
|
@@ -1,22 +1,10 @@
|
|
|
1
1
|
import { Prop, Schema, SchemaFactory } from '@nestjs/mongoose';
|
|
2
2
|
import { ApiProperty } from '@nestjs/swagger';
|
|
3
3
|
import { HydratedDocument, Schema as MongooseSchema, Types, model as MongooseModel } from 'mongoose';
|
|
4
|
+
import { Responsible, ResponsibleSchema } from './responsible.schema';
|
|
4
5
|
|
|
5
6
|
export type ProspectDocument = HydratedDocument<Prospect>;
|
|
6
7
|
|
|
7
|
-
@Schema({ _id: false })
|
|
8
|
-
export class ProspectResponsible {
|
|
9
|
-
@ApiProperty({ example: 'João' })
|
|
10
|
-
@Prop({ required: true })
|
|
11
|
-
name: string;
|
|
12
|
-
|
|
13
|
-
@ApiProperty({ example: 'joao@empresa.com' })
|
|
14
|
-
@Prop({ required: true })
|
|
15
|
-
email: string;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
export const ProspectResponsibleSchema = SchemaFactory.createForClass(ProspectResponsible);
|
|
19
|
-
|
|
20
8
|
@Schema({ _id: false })
|
|
21
9
|
export class ProspectNote {
|
|
22
10
|
@Prop({ required: true })
|
|
@@ -52,8 +40,9 @@ export class Prospect {
|
|
|
52
40
|
@Prop({ required: true, default: false })
|
|
53
41
|
hot: boolean;
|
|
54
42
|
|
|
55
|
-
@
|
|
56
|
-
|
|
43
|
+
@ApiProperty({ type: () => [Responsible] })
|
|
44
|
+
@Prop({ type: [ResponsibleSchema], required: true })
|
|
45
|
+
responsible: Responsible[];
|
|
57
46
|
|
|
58
47
|
@Prop({ required: true })
|
|
59
48
|
lastContactAt: Date;
|
|
@@ -68,5 +57,6 @@ export class Prospect {
|
|
|
68
57
|
export const ProspectSchema = SchemaFactory.createForClass(Prospect);
|
|
69
58
|
|
|
70
59
|
ProspectSchema.index({ organization: 1, status: 1, lastContactAt: 1 });
|
|
60
|
+
ProspectSchema.index({ 'responsible.email': 1 });
|
|
71
61
|
|
|
72
62
|
export const ProspectModel = MongooseModel('Prospect', ProspectSchema);
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Prop, Schema, SchemaFactory } from '@nestjs/mongoose';
|
|
2
|
+
import { ApiProperty } from '@nestjs/swagger';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Formato único de responsável em todas as entidades (`responsible`).
|
|
6
|
+
* `username` vem de `User.username` (api-admin).
|
|
7
|
+
*/
|
|
8
|
+
@Schema({ _id: false })
|
|
9
|
+
export class Responsible {
|
|
10
|
+
@ApiProperty({ example: 'Maria Oliveira' })
|
|
11
|
+
@Prop({ type: String, required: true })
|
|
12
|
+
name: string;
|
|
13
|
+
|
|
14
|
+
@ApiProperty({ example: 'maria@empresa.com' })
|
|
15
|
+
@Prop({ type: String, required: true })
|
|
16
|
+
email: string;
|
|
17
|
+
|
|
18
|
+
@ApiProperty({ example: 'maria.oliveira' })
|
|
19
|
+
@Prop({ type: String, required: true })
|
|
20
|
+
username: string;
|
|
21
|
+
|
|
22
|
+
@ApiProperty({ example: 'service', required: false })
|
|
23
|
+
@Prop({ type: String, required: false })
|
|
24
|
+
team?: string;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export const ResponsibleSchema = SchemaFactory.createForClass(Responsible);
|
|
@@ -9,6 +9,7 @@ import { Profile } from './profile.schema';
|
|
|
9
9
|
import { Client } from './client.schema';
|
|
10
10
|
import { Influencer } from './influencer.schema';
|
|
11
11
|
import { Note } from './note.schema';
|
|
12
|
+
import { Responsible, ResponsibleSchema } from './responsible.schema';
|
|
12
13
|
|
|
13
14
|
export type SaleDocument = HydratedDocument<Sale>;
|
|
14
15
|
|
|
@@ -38,21 +39,6 @@ export class Proposal {
|
|
|
38
39
|
required: false,
|
|
39
40
|
})
|
|
40
41
|
influencer?: Types.ObjectId | Influencer;
|
|
41
|
-
|
|
42
|
-
@Prop({
|
|
43
|
-
_id: false,
|
|
44
|
-
required: true,
|
|
45
|
-
type: [{
|
|
46
|
-
team: String,
|
|
47
|
-
name: String,
|
|
48
|
-
email: String,
|
|
49
|
-
}],
|
|
50
|
-
})
|
|
51
|
-
responsible: {
|
|
52
|
-
team: string;
|
|
53
|
-
name: string;
|
|
54
|
-
email: string;
|
|
55
|
-
}[];
|
|
56
42
|
}
|
|
57
43
|
|
|
58
44
|
@Schema({ _id: false })
|
|
@@ -168,39 +154,23 @@ export class Inbox {
|
|
|
168
154
|
@Prop({ required: true }) receivedAt: Date;
|
|
169
155
|
}
|
|
170
156
|
|
|
157
|
+
/**
|
|
158
|
+
* Responsáveis da venda por papel: comercial (proposta), curadoria e planejamento.
|
|
159
|
+
*/
|
|
171
160
|
@Schema({ _id: false })
|
|
172
161
|
export class SaleResponsible {
|
|
173
|
-
@Prop({
|
|
174
|
-
|
|
175
|
-
required: false,
|
|
176
|
-
type: [{
|
|
177
|
-
team: String,
|
|
178
|
-
name: String,
|
|
179
|
-
email: String,
|
|
180
|
-
}],
|
|
181
|
-
})
|
|
182
|
-
curation?: {
|
|
183
|
-
team: string;
|
|
184
|
-
name: string;
|
|
185
|
-
email: string;
|
|
186
|
-
}[];
|
|
162
|
+
@Prop({ type: [ResponsibleSchema], required: false, default: [] })
|
|
163
|
+
proposal?: Responsible[];
|
|
187
164
|
|
|
188
|
-
@Prop({
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
name: String,
|
|
194
|
-
email: String,
|
|
195
|
-
}],
|
|
196
|
-
})
|
|
197
|
-
planning?: {
|
|
198
|
-
team: string;
|
|
199
|
-
name: string;
|
|
200
|
-
email: string;
|
|
201
|
-
}[];
|
|
165
|
+
@Prop({ type: [ResponsibleSchema], required: false, default: [] })
|
|
166
|
+
curation?: Responsible[];
|
|
167
|
+
|
|
168
|
+
@Prop({ type: [ResponsibleSchema], required: false, default: [] })
|
|
169
|
+
planning?: Responsible[];
|
|
202
170
|
}
|
|
203
171
|
|
|
172
|
+
export const SaleResponsibleSchema = SchemaFactory.createForClass(SaleResponsible);
|
|
173
|
+
|
|
204
174
|
@Schema({ _id: false })
|
|
205
175
|
export class SaleLinks {
|
|
206
176
|
@Prop({ required: false })
|
|
@@ -306,7 +276,7 @@ export class Sale {
|
|
|
306
276
|
@Prop({ type: String, required: false })
|
|
307
277
|
omieId?: string;
|
|
308
278
|
|
|
309
|
-
@Prop({ type:
|
|
279
|
+
@Prop({ type: SaleResponsibleSchema, required: false })
|
|
310
280
|
responsible?: SaleResponsible;
|
|
311
281
|
|
|
312
282
|
@Prop({ type: SaleLinks, required: false })
|
|
@@ -321,7 +291,7 @@ SaleSchema.index({ organization: 1, 'formalization.brand': 1 });
|
|
|
321
291
|
SaleSchema.index({ organization: 1, 'formalization.agency': 1 });
|
|
322
292
|
SaleSchema.index({ organization: 1, closedAt: 1, phase: 1 });
|
|
323
293
|
SaleSchema.index({ 'proposal.influencer': 1 });
|
|
324
|
-
SaleSchema.index({ 'proposal.
|
|
294
|
+
SaleSchema.index({ 'responsible.proposal.email': 1 });
|
|
325
295
|
SaleSchema.index({ tags: 1 });
|
|
326
296
|
|
|
327
297
|
export const SaleModel = MongooseModel('Sale', SaleSchema);
|