@lilaquadrat/studio 5.2.0 → 5.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/interfaces.d.ts +2 -1
- package/lib/interfaces.js.map +1 -1
- package/lib/src/interfaces/Address.interface.d.ts +9 -0
- package/lib/src/interfaces/Address.interface.js +3 -0
- package/lib/src/interfaces/Address.interface.js.map +1 -0
- package/lib/src/interfaces/AgreementResponse.interface.d.ts +1 -1
- package/lib/src/models/customers.model.d.ts +3 -9
- package/lib/src/models/customers.model.js +10 -9
- package/lib/src/models/customers.model.js.map +1 -1
- package/lib/src/models/permissions.model.js +11 -2
- package/lib/src/models/permissions.model.js.map +1 -1
- package/lib/src/services/customers.service.d.ts +1 -1
- package/lib/src/services/customers.service.js +5 -9
- package/lib/src/services/customers.service.js.map +1 -1
- package/package.json +1 -1
package/lib/interfaces.d.ts
CHANGED
|
@@ -74,4 +74,5 @@ import ModuleSettings from './src/interfaces/ModuleSettings.interface';
|
|
|
74
74
|
import AvailableVariant, { EditorMode } from './src/interfaces/AvailableVariant.interface';
|
|
75
75
|
import ListPartiticpantsDetails from './src/interfaces/ListParticipantsDetails.interface';
|
|
76
76
|
import Location from './src/interfaces/Location.interface';
|
|
77
|
-
|
|
77
|
+
import Address from './src/interfaces/Address.interface';
|
|
78
|
+
export { BasicDataInterface, Scope, SingleScope, ScopeObjectWithAdmin, ScopeObject, HttpStatusCode, AppPermissions, DatabaseQuery, DatabaseQueryOptions, DatabaseQuerySites, HistoryReason, ListOfModels, ShareClientInterface, ShareClientOptions, Settings, Project, Me, History, HistoryWithType, Editor, EditorBase, Media, MediaInfo, MediaViewInfo, MediaStats, MediaContentFiles, VersionInfo, ProjectScope, CompanyScope, UniversalScope, Permissions, ModuleGeneric, Modelv2 as IModelv2, Company, CompanyAttribute, Partner, Contract, Action, Publish, PublishContentGroup, PublishMethod, PublishMethodFtp, PublishMethodWebhook, PublishMethodInternal, PublishMethodPdf, UniversalInterface, EditorLegacy, PublishResult, DataObject, CallResponse, Secret, Content, ContentWithPositions, StudioIframeMessage, EditorActiveModule, ChildData, Wildcardcertificates, HostingPorts, DesignModule, ModuleIndexOptions, AdditionalContentInformation, HostingCommand, Hosting, HostingWithSettings, Domain, DomainConf, Command, Options, CompanyProject, ApiResponses, UserApp, UserAppOptionsRequired, AppFilter, App, BaseFilterOptions, HostingSettings, AvailableStorageTypes, Tracker, TrackerInput, TrackerStatistics, TrackerStatisticsDay, TrackerData, TrackerCategories, MulterFile, RenderContext, Customers, CustomerCompany, CustomerPerson, List, ListCategory, SkipLimitSort, ListCustomQueries, ListParticipants, ListParticipantWithUser, Agreement, AgreementResponse, GenericData, CompatibleGenericDataType, GenericDataWithContent, ModulePDFOptions, ModuleSettings, EditorMode, AvailableVariant, ListPartiticpantsDetails, Location, Address };
|
package/lib/interfaces.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../interfaces.ts"],"names":[],"mappings":";;;;;;AASA,+FAAkE;
|
|
1
|
+
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../interfaces.ts"],"names":[],"mappings":";;;;;;AASA,+FAAkE;AA6EhE,yBA7EK,6BAAc,CA6EL;AAnEhB,sEAAyG;AA0FvG,6FA1FO,gCAAY,OA0FP;AADZ,6FAzFqB,gCAAY,OAyFrB;AAEZ,+FA3FgD,kCAAc,OA2FhD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Address.interface.js","sourceRoot":"","sources":["../../../src/interfaces/Address.interface.ts"],"names":[],"mappings":""}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import Address from '../interfaces/Address.interface';
|
|
1
2
|
import { BasicDataInterface } from '../../interfaces';
|
|
2
3
|
import Modelv2 from '../classes/modelv2.class';
|
|
3
4
|
export interface CustomerBase extends BasicDataInterface {
|
|
@@ -7,6 +8,7 @@ export interface CustomerBase extends BasicDataInterface {
|
|
|
7
8
|
/** for better sorting name will be used as lastname for persons */
|
|
8
9
|
name: string;
|
|
9
10
|
osm_id?: number;
|
|
11
|
+
street?: string;
|
|
10
12
|
streetNumber?: string;
|
|
11
13
|
zipcode?: string;
|
|
12
14
|
city?: string;
|
|
@@ -16,7 +18,6 @@ export interface CustomerBase extends BasicDataInterface {
|
|
|
16
18
|
note?: string;
|
|
17
19
|
tags?: string[];
|
|
18
20
|
company: string;
|
|
19
|
-
project: string;
|
|
20
21
|
}
|
|
21
22
|
export interface CustomerPerson extends CustomerBase {
|
|
22
23
|
type?: 'person';
|
|
@@ -26,14 +27,7 @@ export interface CustomerPerson extends CustomerBase {
|
|
|
26
27
|
export interface CustomerPersonWithEmail extends CustomerPerson {
|
|
27
28
|
email: string;
|
|
28
29
|
}
|
|
29
|
-
export
|
|
30
|
-
osm_id: number;
|
|
31
|
-
streetNumber: string;
|
|
32
|
-
zipcode: string;
|
|
33
|
-
city: string;
|
|
34
|
-
country: string;
|
|
35
|
-
addressAddition: string;
|
|
36
|
-
}
|
|
30
|
+
export type CustomerPersonWithAddress = CustomerPerson & Required<Address>;
|
|
37
31
|
export interface CustomerCompany extends CustomerBase {
|
|
38
32
|
type?: 'company';
|
|
39
33
|
vat?: string;
|
|
@@ -8,7 +8,7 @@ const model = new modelv2_class_1.default('customers', 'customers');
|
|
|
8
8
|
model.uniqueId = true;
|
|
9
9
|
model.uniqueIdApp = 'customers';
|
|
10
10
|
model.removeWhenEmpty = [
|
|
11
|
-
'phone', 'email', 'streetNumber', 'zipcode', 'city', 'country', 'note',
|
|
11
|
+
'phone', 'email', 'street', 'streetNumber', 'zipcode', 'city', 'country', 'note',
|
|
12
12
|
'tags', 'birthday', 'vat', 'legalRepresentative',
|
|
13
13
|
'internet',
|
|
14
14
|
];
|
|
@@ -28,17 +28,15 @@ model.uniqueIdCallback = (id, data) => {
|
|
|
28
28
|
model.addIndex({
|
|
29
29
|
key: {
|
|
30
30
|
company: 1,
|
|
31
|
-
project: 1,
|
|
32
31
|
id: 1,
|
|
33
32
|
},
|
|
34
33
|
unique: true,
|
|
35
|
-
name: '
|
|
34
|
+
name: 'id_unique_company',
|
|
36
35
|
}, 2);
|
|
37
36
|
// base for every action
|
|
38
37
|
const baseSchema = {
|
|
39
38
|
email: { type: 'string', maxLength: 100, pattern: "^[^@]+@[^@]+\.[^@]+$", transform: ['trim', 'toLowerCase'] },
|
|
40
39
|
company: { type: 'string' },
|
|
41
|
-
project: { type: 'string' },
|
|
42
40
|
name: {
|
|
43
41
|
type: 'string',
|
|
44
42
|
minLength: 1,
|
|
@@ -88,7 +86,7 @@ const personBase = {
|
|
|
88
86
|
// birthday: { type: 'object' },
|
|
89
87
|
additionalProperties: false,
|
|
90
88
|
},
|
|
91
|
-
required: ['type', 'prename', 'name', 'company'
|
|
89
|
+
required: ['type', 'prename', 'name', 'company'],
|
|
92
90
|
additionalProperties: false,
|
|
93
91
|
};
|
|
94
92
|
// base for creating a company
|
|
@@ -104,14 +102,14 @@ const companyBase = {
|
|
|
104
102
|
internet: { type: 'string', minLength: 3, maxLength: 50 },
|
|
105
103
|
additionalProperties: false,
|
|
106
104
|
},
|
|
107
|
-
required: ['type', 'name', 'company'
|
|
105
|
+
required: ['type', 'name', 'company'],
|
|
108
106
|
additionalProperties: false,
|
|
109
107
|
};
|
|
110
108
|
model.setSchema(personBase, 'createPersonMinimal');
|
|
111
109
|
// when a person is created through a list email is required
|
|
112
110
|
model.setSchema({
|
|
113
111
|
...personBase,
|
|
114
|
-
required: ['type', 'prename', 'name', 'company', '
|
|
112
|
+
required: ['type', 'prename', 'name', 'company', 'email'],
|
|
115
113
|
}, 'createPersonExternal');
|
|
116
114
|
/**
|
|
117
115
|
* when a person is created through a list email is required
|
|
@@ -119,9 +117,12 @@ model.setSchema({
|
|
|
119
117
|
*/
|
|
120
118
|
model.setSchema({
|
|
121
119
|
...personBase,
|
|
122
|
-
required: ['type', 'prename', 'name', 'company', '
|
|
120
|
+
required: ['type', 'prename', 'name', 'company', 'email', 'osm_id', 'street', 'streetNumber', 'city', 'country', 'zipcode'],
|
|
123
121
|
}, 'createPersonExternalWithAddress');
|
|
124
|
-
model.setSchema(
|
|
122
|
+
model.setSchema({
|
|
123
|
+
...personBase,
|
|
124
|
+
required: ['prename', 'name', 'company'],
|
|
125
|
+
}, 'changePersonMinimal', { unsetWithinPartial: true });
|
|
125
126
|
model.setSchema(companyBase, 'createCompanyMinimal');
|
|
126
127
|
model.setSchema(companyBase, 'changeCompanyMinimal', { unsetWithinPartial: true });
|
|
127
128
|
exports.default = model;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"customers.model.js","sourceRoot":"","sources":["../../../src/models/customers.model.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"customers.model.js","sourceRoot":"","sources":["../../../src/models/customers.model.ts"],"names":[],"mappings":"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"}
|
|
@@ -70,6 +70,15 @@ const CompanyScope = {
|
|
|
70
70
|
'toggle',
|
|
71
71
|
'history',
|
|
72
72
|
],
|
|
73
|
+
customers: [
|
|
74
|
+
'list',
|
|
75
|
+
'read',
|
|
76
|
+
'create',
|
|
77
|
+
'edit',
|
|
78
|
+
'remove',
|
|
79
|
+
'history',
|
|
80
|
+
'admin',
|
|
81
|
+
],
|
|
73
82
|
settings: [
|
|
74
83
|
'read',
|
|
75
84
|
'edit',
|
|
@@ -173,7 +182,7 @@ const ProjectScope = {
|
|
|
173
182
|
'history',
|
|
174
183
|
'admin',
|
|
175
184
|
],
|
|
176
|
-
|
|
185
|
+
lists: [
|
|
177
186
|
'list',
|
|
178
187
|
'read',
|
|
179
188
|
'create',
|
|
@@ -182,7 +191,7 @@ const ProjectScope = {
|
|
|
182
191
|
'history',
|
|
183
192
|
'admin',
|
|
184
193
|
],
|
|
185
|
-
|
|
194
|
+
listsParticipants: [
|
|
186
195
|
'list',
|
|
187
196
|
'read',
|
|
188
197
|
'create',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permissions.model.js","sourceRoot":"","sources":["../../../src/models/permissions.model.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"permissions.model.js","sourceRoot":"","sources":["../../../src/models/permissions.model.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,7 +23,7 @@ export declare class CustomersService extends Immutable<CustomerPerson | Custome
|
|
|
23
23
|
_id: ObjectId;
|
|
24
24
|
id: string;
|
|
25
25
|
} | null>;
|
|
26
|
-
getTags(company: string,
|
|
26
|
+
getTags(company: string, search: string): Promise<string[]>;
|
|
27
27
|
addressValidation(address: string): Promise<Location[]>;
|
|
28
28
|
matchSortTags(documents: any[], search: RegExp | string, sort: string): string[];
|
|
29
29
|
}
|
|
@@ -20,12 +20,10 @@ class CustomersService extends Immutable_class_1.default {
|
|
|
20
20
|
action = 'createCompanyMinimal';
|
|
21
21
|
}
|
|
22
22
|
data.company = options.company;
|
|
23
|
-
data.project = options.project;
|
|
24
23
|
return this.create(data, options.user, options.app, undefined, undefined, action);
|
|
25
24
|
}
|
|
26
25
|
createPerson(data, modelAction, options) {
|
|
27
26
|
data.company = options.company;
|
|
28
|
-
data.project = options.project;
|
|
29
27
|
return this.create(data, options.user, options.app, undefined, undefined, modelAction);
|
|
30
28
|
}
|
|
31
29
|
updateWithType(internalId, data, options) {
|
|
@@ -33,13 +31,11 @@ class CustomersService extends Immutable_class_1.default {
|
|
|
33
31
|
if (data.type === 'company')
|
|
34
32
|
action = 'changeCompanyMinimal';
|
|
35
33
|
data.company = options.company;
|
|
36
|
-
data.project = options.project;
|
|
37
34
|
delete data.type;
|
|
38
35
|
return this.immutable({ _id: internalId }, data, options.user, 'change', options.app, undefined, undefined, action);
|
|
39
36
|
}
|
|
40
37
|
async getOrCreateByEmail(data, modelAction, options) {
|
|
41
|
-
|
|
42
|
-
if (!this.model.validate({ ...data, company: options.company, project: options.project }, modelAction)) {
|
|
38
|
+
if (!this.model.validate({ ...data, company: options.company }, modelAction)) {
|
|
43
39
|
throw new Immutable_error_1.default('VALIDATION_FAILED', this.model.compiledTypes[modelAction].errors);
|
|
44
40
|
}
|
|
45
41
|
const customer = await this.getByEmail(data.email, options);
|
|
@@ -48,12 +44,12 @@ class CustomersService extends Immutable_class_1.default {
|
|
|
48
44
|
return this.createPerson(data, modelAction, options);
|
|
49
45
|
}
|
|
50
46
|
single(internalId, options) {
|
|
51
|
-
return this.model.db.findOne({ _id: internalId, company: options.company
|
|
47
|
+
return this.model.db.findOne({ _id: internalId, company: options.company });
|
|
52
48
|
}
|
|
53
49
|
getByEmail(email, options) {
|
|
54
50
|
return this.model.db.findOne({ email: email?.trim().toLowerCase(), company: options.company, project: options.project }, { projection: { id: 1 } });
|
|
55
51
|
}
|
|
56
|
-
getTags(company,
|
|
52
|
+
getTags(company, search) {
|
|
57
53
|
let cleanSearch = search.toLowerCase().trim();
|
|
58
54
|
let sortString = cleanSearch;
|
|
59
55
|
let splitSearch = [];
|
|
@@ -66,12 +62,12 @@ class CustomersService extends Immutable_class_1.default {
|
|
|
66
62
|
else {
|
|
67
63
|
cleanSearch = new RegExp(`^(?!([a-z]+):).*(${cleanSearch}).*`);
|
|
68
64
|
}
|
|
69
|
-
return this.model.db.find({ company,
|
|
65
|
+
return this.model.db.find({ company, tags: { $regex: cleanSearch, $options: 'i' } }, { projection: { tags: 1 } }).toArray()
|
|
70
66
|
.then((matchedDocuments) => this.matchSortTags(matchedDocuments, cleanSearch, sortString));
|
|
71
67
|
}
|
|
72
68
|
async addressValidation(address) {
|
|
73
69
|
const requestData = {
|
|
74
|
-
key:
|
|
70
|
+
key: process.env.LOCATIONIQTOKEN,
|
|
75
71
|
q: address,
|
|
76
72
|
format: 'json',
|
|
77
73
|
countrycodes: 'de',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"customers.service.js","sourceRoot":"","sources":["../../../src/services/customers.service.ts"],"names":[],"mappings":";;;;;;AAGA,yEAA2C;AAC3C,gFAAqK;AACrK,wFAA+D;AAC/D,4DAA+B;AAC/B,8DAAsC;AAGtC,MAAa,gBAAiB,SAAQ,yBAA2C;IAAjF;;QAEE,UAAK,GAAG,yBAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"customers.service.js","sourceRoot":"","sources":["../../../src/services/customers.service.ts"],"names":[],"mappings":"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"}
|