cozy-client 27.0.1 → 27.3.1
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/CHANGELOG.md +41 -0
- package/dist/CozyClient.js +2 -2
- package/dist/models/document/documentTypeData.js +119 -0
- package/dist/models/document/documentTypeDataHelpers.js +41 -0
- package/dist/models/document/documentTypeDataHelpers.spec.jsx +28 -0
- package/dist/models/document/index.js +40 -0
- package/dist/models/document/locales/en.json +107 -0
- package/dist/models/document/locales/fr.json +107 -0
- package/dist/models/document/locales/index.js +40 -0
- package/dist/models/{document.js → document/qualification.js} +1 -1
- package/dist/models/{document.spec.js → document/qualification.spec.js} +6 -2
- package/dist/models/file.js +2 -2
- package/dist/models/file.spec.js +1 -1
- package/dist/queries/dsl.js +4 -4
- package/dist/types.js +42 -0
- package/package.json +4 -3
- package/types/models/document/documentTypeData.d.ts +5 -0
- package/types/models/document/documentTypeDataHelpers.d.ts +3 -0
- package/types/models/document/index.d.ts +7 -0
- package/types/models/document/locales/index.d.ts +6 -0
- package/types/models/{document.d.ts → document/qualification.d.ts} +0 -0
- package/types/types.d.ts +25 -0
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,47 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [27.3.1](https://github.com/cozy/cozy-client/compare/v27.3.0...v27.3.1) (2021-11-16)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* Export Qualification ([3472bce](https://github.com/cozy/cozy-client/commit/3472bcec6ab3e19353a290e79189bf09c34b38b8))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
# [27.3.0](https://github.com/cozy/cozy-client/compare/v27.2.0...v27.3.0) (2021-11-16)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Features
|
|
21
|
+
|
|
22
|
+
* Add node-polyglot package ([964b05d](https://github.com/cozy/cozy-client/commit/964b05d031c233f73640218f83469b2791a73fde))
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
# [27.2.0](https://github.com/cozy/cozy-client/compare/v27.1.0...v27.2.0) (2021-11-15)
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
### Features
|
|
32
|
+
|
|
33
|
+
* Be more explicit on query warning messages ([8d9b896](https://github.com/cozy/cozy-client/commit/8d9b896693f94898e610a79da69dda6bc0ad6f0a))
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
# [27.1.0](https://github.com/cozy/cozy-client/compare/v27.0.1...v27.1.0) (2021-11-04)
|
|
40
|
+
|
|
41
|
+
**Note:** Version bump only for package cozy-client
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
|
|
6
47
|
## [27.0.1](https://github.com/cozy/cozy-client/compare/v27.0.0...v27.0.1) (2021-11-04)
|
|
7
48
|
|
|
8
49
|
|
package/dist/CozyClient.js
CHANGED
|
@@ -700,7 +700,7 @@ var CozyClient = /*#__PURE__*/function () {
|
|
|
700
700
|
}, {
|
|
701
701
|
key: "get",
|
|
702
702
|
value: function get(doctype, id) {
|
|
703
|
-
console.warn(
|
|
703
|
+
console.warn("client.get(".concat(doctype, ", id) is deprecated, please use Q(").concat(doctype, ").getById(id) to build the same query."));
|
|
704
704
|
return new _dsl.QueryDefinition({
|
|
705
705
|
doctype: doctype,
|
|
706
706
|
id: id
|
|
@@ -2415,7 +2415,7 @@ var CozyClient = /*#__PURE__*/function () {
|
|
|
2415
2415
|
CozyClient.hooks = CozyClient.hooks || {};
|
|
2416
2416
|
CozyClient.fetchPolicies = _policies.default; //COZY_CLIENT_VERSION_PACKAGE in replaced by babel. See babel config
|
|
2417
2417
|
|
|
2418
|
-
CozyClient.version = "27.
|
|
2418
|
+
CozyClient.version = "27.3.1";
|
|
2419
2419
|
|
|
2420
2420
|
_microee.default.mixin(CozyClient);
|
|
2421
2421
|
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.themesList = void 0;
|
|
7
|
+
|
|
8
|
+
var _qualification = require("./qualification");
|
|
9
|
+
|
|
10
|
+
var _types = require("../../types");
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
*
|
|
14
|
+
* @param {Array<ItemsLabels>} labels - Array of items labels
|
|
15
|
+
* @returns {Array<QualificationAttributes>}
|
|
16
|
+
*/
|
|
17
|
+
var buildItemsByLabel = function buildItemsByLabel(labels) {
|
|
18
|
+
return labels.map(function (label) {
|
|
19
|
+
try {
|
|
20
|
+
return _qualification.Qualification.getByLabel(label);
|
|
21
|
+
} catch (e) {
|
|
22
|
+
console.log('error', e); // eslint-disable-line no-console
|
|
23
|
+
|
|
24
|
+
return null;
|
|
25
|
+
}
|
|
26
|
+
}).filter(function (item) {
|
|
27
|
+
return item;
|
|
28
|
+
});
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* @type {Array<IdentityLabel>}
|
|
32
|
+
*/
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
var identityLabels = ['identity_photo', 'national_id_card', 'passport', 'residence_permit', 'family_record_book', 'birth_certificate', 'driver_license', 'other_identity_document'];
|
|
36
|
+
/**
|
|
37
|
+
* @type {Array<FamilyLabel>}
|
|
38
|
+
*/
|
|
39
|
+
|
|
40
|
+
var familyLabels = ['family_record_book', 'birth_certificate', 'wedding', 'pacs', 'divorce', 'large_family_card', 'caf', 'other_family_document'];
|
|
41
|
+
/**
|
|
42
|
+
* @type {Array<WorkStudyLabels>}
|
|
43
|
+
*/
|
|
44
|
+
|
|
45
|
+
var workStudyLabels = ['diploma', 'work_contract', 'pay_sheet', 'unemployment_benefit', 'pension', 'other_revenue', 'gradebook', 'student_card', 'resume', 'motivation_letter', 'other_work_document'];
|
|
46
|
+
/**
|
|
47
|
+
* @type {Array<HealthLabels>}
|
|
48
|
+
*/
|
|
49
|
+
|
|
50
|
+
var healthLabels = ['health_certificate', 'health_book', 'national_health_insurance_card', 'health_insurance_card', 'prescription', 'health_invoice'];
|
|
51
|
+
/**
|
|
52
|
+
* @type {Array<HomeLabels>}
|
|
53
|
+
*/
|
|
54
|
+
|
|
55
|
+
var homeLabels = ['phone_invoice', 'isp_invoice', 'telecom_invoice', 'energy_invoice', 'water_invoice', 'house_sale_agreeement', 'building_permit', 'technical_diagnostic_record', 'lease', 'rent_receipt', 'house_insurance', 'work_quote', 'work_invoice', 'other_house_document'];
|
|
56
|
+
/**
|
|
57
|
+
* @type {Array<TransportLabels>}
|
|
58
|
+
*/
|
|
59
|
+
|
|
60
|
+
var transportLabels = ['driver_license', 'vehicle_registration', 'car_insurance', 'mechanic_invoice', 'transport_invoice', 'other_transport_document'];
|
|
61
|
+
/**
|
|
62
|
+
* @type {Array<FinanceLabels>}
|
|
63
|
+
*/
|
|
64
|
+
|
|
65
|
+
var financeLabels = ['tax_return', 'tax_notice', 'tax_timetable', 'receipt', 'other_tax_document', 'bank_details', 'bank_statement', 'loan_agreement', 'other_bank_document'];
|
|
66
|
+
/**
|
|
67
|
+
* @type {Array<InvoiceLabels>}
|
|
68
|
+
*/
|
|
69
|
+
|
|
70
|
+
var invoiceLabels = ['phone_invoice', 'isp_invoice', 'telecom_invoice', 'energy_invoice', 'water_invoice', 'appliance_invoice', 'web_service_invoice', 'restaurant_invoice', 'work_invoice', 'transport_invoice', 'health_invoice', 'other_invoice'];
|
|
71
|
+
/**
|
|
72
|
+
* @type {ThemesList}
|
|
73
|
+
*/
|
|
74
|
+
|
|
75
|
+
var themesList = [{
|
|
76
|
+
id: 'theme1',
|
|
77
|
+
label: 'identity',
|
|
78
|
+
icon: 'people',
|
|
79
|
+
items: buildItemsByLabel(identityLabels),
|
|
80
|
+
defaultItems: ['birth_certificate']
|
|
81
|
+
}, {
|
|
82
|
+
id: 'theme2',
|
|
83
|
+
label: 'family',
|
|
84
|
+
icon: 'team',
|
|
85
|
+
items: buildItemsByLabel(familyLabels),
|
|
86
|
+
defaultItems: ['family_record_book']
|
|
87
|
+
}, {
|
|
88
|
+
id: 'theme3',
|
|
89
|
+
label: 'work_study',
|
|
90
|
+
icon: 'company',
|
|
91
|
+
items: buildItemsByLabel(workStudyLabels)
|
|
92
|
+
}, {
|
|
93
|
+
id: 'theme4',
|
|
94
|
+
label: 'health',
|
|
95
|
+
icon: 'heart',
|
|
96
|
+
items: buildItemsByLabel(healthLabels)
|
|
97
|
+
}, {
|
|
98
|
+
id: 'theme5',
|
|
99
|
+
label: 'home',
|
|
100
|
+
icon: 'home',
|
|
101
|
+
items: buildItemsByLabel(homeLabels)
|
|
102
|
+
}, {
|
|
103
|
+
id: 'theme6',
|
|
104
|
+
label: 'transport',
|
|
105
|
+
icon: 'car',
|
|
106
|
+
items: buildItemsByLabel(transportLabels),
|
|
107
|
+
defaultItems: ['driver_license']
|
|
108
|
+
}, {
|
|
109
|
+
id: 'theme7',
|
|
110
|
+
label: 'finance',
|
|
111
|
+
icon: 'bank',
|
|
112
|
+
items: buildItemsByLabel(financeLabels)
|
|
113
|
+
}, {
|
|
114
|
+
id: 'theme8',
|
|
115
|
+
label: 'invoice',
|
|
116
|
+
icon: 'bill',
|
|
117
|
+
items: buildItemsByLabel(invoiceLabels)
|
|
118
|
+
}];
|
|
119
|
+
exports.themesList = themesList;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getThemeByItem = void 0;
|
|
7
|
+
|
|
8
|
+
var _types = require("../../types");
|
|
9
|
+
|
|
10
|
+
var _documentTypeData = require("./documentTypeData");
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* @param {QualificationAttributes} item - Qualification item
|
|
14
|
+
* @returns {Theme|undefined}
|
|
15
|
+
*/
|
|
16
|
+
var findDefaultItemTheme = function findDefaultItemTheme(item) {
|
|
17
|
+
return _documentTypeData.themesList.find(function (theme) {
|
|
18
|
+
return theme.defaultItems && theme.defaultItems.includes(item.label);
|
|
19
|
+
});
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* @param {QualificationAttributes} item - Qualification item
|
|
23
|
+
* @returns {Theme|undefined}
|
|
24
|
+
*/
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
var getThemeByItem = function getThemeByItem(item) {
|
|
28
|
+
var defaultTheme = findDefaultItemTheme(item);
|
|
29
|
+
|
|
30
|
+
if (defaultTheme) {
|
|
31
|
+
return defaultTheme;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
return _documentTypeData.themesList.find(function (theme) {
|
|
35
|
+
return theme.items.some(function (it) {
|
|
36
|
+
return it.label === item.label;
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
exports.getThemeByItem = getThemeByItem;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { getThemeByItem } from './documentTypeDataHelpers'
|
|
2
|
+
|
|
3
|
+
describe('DocumentTypeDataHelpers', () => {
|
|
4
|
+
it('should test getThemeByItem and return defaultTheme', () => {
|
|
5
|
+
const item = {
|
|
6
|
+
label: 'family_record_book',
|
|
7
|
+
purpose: 'attestation',
|
|
8
|
+
sourceCategory: 'gov',
|
|
9
|
+
sourceSubCategory: 'civil_registration',
|
|
10
|
+
subjects: ['family'],
|
|
11
|
+
defaultTheme: 'theme2'
|
|
12
|
+
}
|
|
13
|
+
const theme = getThemeByItem(item)
|
|
14
|
+
expect(theme.id).toBe('theme2')
|
|
15
|
+
})
|
|
16
|
+
|
|
17
|
+
it('should test getThemeByItem and return the theme if no defaultTheme', () => {
|
|
18
|
+
const item = {
|
|
19
|
+
label: 'residence_permit',
|
|
20
|
+
purpose: 'attestation',
|
|
21
|
+
sourceCategory: 'gov',
|
|
22
|
+
sourceSubCategory: 'immigration',
|
|
23
|
+
subjects: ['permit', 'identity']
|
|
24
|
+
}
|
|
25
|
+
const theme = getThemeByItem(item)
|
|
26
|
+
expect(theme.id).toBe('theme1')
|
|
27
|
+
})
|
|
28
|
+
})
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
Object.defineProperty(exports, "Qualification", {
|
|
9
|
+
enumerable: true,
|
|
10
|
+
get: function get() {
|
|
11
|
+
return _qualification.Qualification;
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
Object.defineProperty(exports, "setQualification", {
|
|
15
|
+
enumerable: true,
|
|
16
|
+
get: function get() {
|
|
17
|
+
return _qualification.setQualification;
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
Object.defineProperty(exports, "getQualification", {
|
|
21
|
+
enumerable: true,
|
|
22
|
+
get: function get() {
|
|
23
|
+
return _qualification.getQualification;
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
exports.helpers = exports.themes = exports.locales = void 0;
|
|
27
|
+
|
|
28
|
+
var _qualification = require("./qualification");
|
|
29
|
+
|
|
30
|
+
var locales = _interopRequireWildcard(require("./locales"));
|
|
31
|
+
|
|
32
|
+
exports.locales = locales;
|
|
33
|
+
|
|
34
|
+
var themes = _interopRequireWildcard(require("./documentTypeData"));
|
|
35
|
+
|
|
36
|
+
exports.themes = themes;
|
|
37
|
+
|
|
38
|
+
var helpers = _interopRequireWildcard(require("./documentTypeDataHelpers"));
|
|
39
|
+
|
|
40
|
+
exports.helpers = helpers;
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
{
|
|
2
|
+
"Scan": {
|
|
3
|
+
"scan_a_doc": "Scan a doc",
|
|
4
|
+
"save_doc": "Save the doc",
|
|
5
|
+
"filename": "Filename",
|
|
6
|
+
"save": "Save",
|
|
7
|
+
"cancel": "Cancel",
|
|
8
|
+
"qualify": "Describe",
|
|
9
|
+
"apply": "Apply",
|
|
10
|
+
"error": {
|
|
11
|
+
"offline": "You are currently offline and you can't use this functionality. Please, try again later.",
|
|
12
|
+
"uploading": "You are already uploading a file. Please wait until the end of this upload and try again.",
|
|
13
|
+
"generic": "Something went wrong. Please try again."
|
|
14
|
+
},
|
|
15
|
+
"successful": {
|
|
16
|
+
"qualified_ok": "You just have successfully described your file! "
|
|
17
|
+
},
|
|
18
|
+
|
|
19
|
+
"items": {
|
|
20
|
+
"identity": "Identity",
|
|
21
|
+
"family": "Family",
|
|
22
|
+
"work_study": "Work",
|
|
23
|
+
"health": "Health",
|
|
24
|
+
"home": "Home",
|
|
25
|
+
"transport": "Transport",
|
|
26
|
+
"invoice": "Invoice",
|
|
27
|
+
"others": "Others",
|
|
28
|
+
"identity_photo": "Identity photo",
|
|
29
|
+
"national_id_card": "ID card",
|
|
30
|
+
"passport": "Passeport",
|
|
31
|
+
"residence_permit": "Residence permit",
|
|
32
|
+
"family_record_book": "Family record book",
|
|
33
|
+
"birth_certificate": "Birth certificate",
|
|
34
|
+
"driver_license": "Driving license",
|
|
35
|
+
"other_identity_document": "Other identity",
|
|
36
|
+
"wedding": "Wedding contract",
|
|
37
|
+
"pacs": "Civil union",
|
|
38
|
+
"divorce": "Divorce",
|
|
39
|
+
"large_family_card": " Large Family Card",
|
|
40
|
+
"caf": "Social benefit",
|
|
41
|
+
"other_family_document": "Other family document",
|
|
42
|
+
"diploma": "Diploma",
|
|
43
|
+
"work_contract": "Work contract",
|
|
44
|
+
"pay_sheet": "Pay sheet",
|
|
45
|
+
"unemployment_benefit": "Unemployment benefit",
|
|
46
|
+
"pension": "Pension",
|
|
47
|
+
"other_revenue": "Other revenues",
|
|
48
|
+
"gradebook": "Gradebook",
|
|
49
|
+
"student_card": "Student card",
|
|
50
|
+
"resume": "Resume",
|
|
51
|
+
"motivation_letter": "Motivation letter",
|
|
52
|
+
"other_work_document": "Other work document",
|
|
53
|
+
"health_book": "Health book",
|
|
54
|
+
"health_certificate": "Health/Vaccination certificate",
|
|
55
|
+
"national_health_insurance_card": "National insurance card",
|
|
56
|
+
"health_insurance_card": "Insurance card",
|
|
57
|
+
"prescription": "Prescription",
|
|
58
|
+
"health_invoice": "Health invoice",
|
|
59
|
+
"other_health_document": "Other health document",
|
|
60
|
+
"vehicle_registration": "Vehicle registration",
|
|
61
|
+
"car_insurance": "Car insurance certificate",
|
|
62
|
+
"mechanic_invoice": "Repair bill",
|
|
63
|
+
"transport_invoice": "Transport invoice",
|
|
64
|
+
"other_transport_document": "Other transport document",
|
|
65
|
+
"phone_invoice": "Phone invoice",
|
|
66
|
+
"isp_invoice": "ISP invoice",
|
|
67
|
+
"telecom_invoice": "Telecom invoice",
|
|
68
|
+
"energy_invoice": "Energy invoice",
|
|
69
|
+
"water_invoice": "Water invoice",
|
|
70
|
+
"web_service_invoice": "Web service invoice",
|
|
71
|
+
"appliance_invoice": "Appliance invoice",
|
|
72
|
+
"restaurant_invoice": "Restaurant invoice",
|
|
73
|
+
"house_sale_agreeement": "House sale agreement",
|
|
74
|
+
"building_permit": "Building permit",
|
|
75
|
+
"technical_diagnostic_record": "Technical diagnostic record",
|
|
76
|
+
"lease": "Lease",
|
|
77
|
+
"house_insurance": "Home insurance",
|
|
78
|
+
"rent_receipt": "Rent receipt",
|
|
79
|
+
"work_quote": "Work quote",
|
|
80
|
+
"work_invoice": "Work invoice",
|
|
81
|
+
"other_house_document": "Other house document",
|
|
82
|
+
"tax_return": "Tax return",
|
|
83
|
+
"tax_notice": "Tax notice",
|
|
84
|
+
"tax_timetable": "Payment Plans Installment Agreements",
|
|
85
|
+
"receipt": "Receipt",
|
|
86
|
+
"other_tax_document": "Other tax document",
|
|
87
|
+
"bank_details": "IBAN",
|
|
88
|
+
"bank_statement": "Bank statement",
|
|
89
|
+
"loan_agreement": "Loan agreement",
|
|
90
|
+
"other_bank_document": "Other banking document",
|
|
91
|
+
"invoices": "Invoices",
|
|
92
|
+
"other_invoice": "Other invoice"
|
|
93
|
+
},
|
|
94
|
+
"themes": {
|
|
95
|
+
"identity": "Identity",
|
|
96
|
+
"family": "Family",
|
|
97
|
+
"work_study": "Work",
|
|
98
|
+
"health": "Health",
|
|
99
|
+
"home": "Home",
|
|
100
|
+
"transport": "Transport",
|
|
101
|
+
"invoice": "Invoice",
|
|
102
|
+
"others": "Others",
|
|
103
|
+
"undefined": "Undefined",
|
|
104
|
+
"finance": "Finance"
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
{
|
|
2
|
+
"Scan": {
|
|
3
|
+
"scan_a_doc": "Numériser un doc",
|
|
4
|
+
"save_doc": "Enregistrer le document",
|
|
5
|
+
"filename": "Nom du fichier",
|
|
6
|
+
"save": "Sauvegarder",
|
|
7
|
+
"cancel": "Annuler",
|
|
8
|
+
"qualify": "Qualifier",
|
|
9
|
+
"apply": "Appliquer",
|
|
10
|
+
"error": {
|
|
11
|
+
"offline": "Vous êtes actuellement déconnecté, vous ne pouvez donc pas utiliser cette fonctionnalité. Connectez-vous à internet et recommencez. ",
|
|
12
|
+
"uploading": "Vous avez déjà un fichier en cours de téléchargement. Attendez la fin et recommencez.",
|
|
13
|
+
"generic": "Un problème est survenu. Veuillez réessayer. "
|
|
14
|
+
},
|
|
15
|
+
"successful": {
|
|
16
|
+
"qualified_ok": "Vous venez de qualifier votre fichier avec succès !"
|
|
17
|
+
},
|
|
18
|
+
|
|
19
|
+
"items": {
|
|
20
|
+
"identity": "Identité",
|
|
21
|
+
"family": "Famille",
|
|
22
|
+
"work_study": "Travail",
|
|
23
|
+
"health": "Santé",
|
|
24
|
+
"home": "Logement",
|
|
25
|
+
"transport": "Transport",
|
|
26
|
+
"invoice": "Factures",
|
|
27
|
+
"others": "Autres",
|
|
28
|
+
"identity_photo": "Photo d'identité",
|
|
29
|
+
"national_id_card": "Carte d'identité",
|
|
30
|
+
"passport": "Passeport",
|
|
31
|
+
"residence_permit": "Titre de séjour",
|
|
32
|
+
"family_record_book": "Livret de famille",
|
|
33
|
+
"birth_certificate": "Certificat de naissance",
|
|
34
|
+
"driver_license": "Permis",
|
|
35
|
+
"other_identity_document": "Autre identité",
|
|
36
|
+
"wedding": "Contrat de mariage",
|
|
37
|
+
"pacs": "Attestation de PACS",
|
|
38
|
+
"divorce": "Attestation de divorce",
|
|
39
|
+
"large_family_card": "Carte famille nombreuse",
|
|
40
|
+
"caf": "CAF",
|
|
41
|
+
"other_family_document": "Autre document de famille",
|
|
42
|
+
"diploma": "Diplôme",
|
|
43
|
+
"work_contract": "Contrat de travail",
|
|
44
|
+
"pay_sheet": "Fiche de paie",
|
|
45
|
+
"unemployment_benefit": "Allocations chômage",
|
|
46
|
+
"pension": "Retraite",
|
|
47
|
+
"other_revenue": "Autres revenues",
|
|
48
|
+
"gradebook": "Bulletin de notes",
|
|
49
|
+
"student_card": "Carte d'étudiant",
|
|
50
|
+
"resume": "CV",
|
|
51
|
+
"motivation_letter": "Lettre de motivation",
|
|
52
|
+
"other_work_document": "Autre document de travail",
|
|
53
|
+
"health_book": "Carnet de santé",
|
|
54
|
+
"health_certificate": "Certificat de santé/vaccination",
|
|
55
|
+
"national_health_insurance_card": "Carte vitale",
|
|
56
|
+
"health_insurance_card": "Carte de mutuelle",
|
|
57
|
+
"prescription": "Ordonnance",
|
|
58
|
+
"health_invoice": "Facture médicale",
|
|
59
|
+
"other_health_document": "Autre document de santé",
|
|
60
|
+
"vehicle_registration": "Carte grise",
|
|
61
|
+
"car_insurance": "Attestation d'assurance auto",
|
|
62
|
+
"mechanic_invoice": "Facture de réparation",
|
|
63
|
+
"transport_invoice": "Facture de transport",
|
|
64
|
+
"other_transport_document": "Autre document de transport",
|
|
65
|
+
"phone_invoice": "Facture de téléphone",
|
|
66
|
+
"isp_invoice": "Facture d'internet",
|
|
67
|
+
"telecom_invoice": "Facture de télécom",
|
|
68
|
+
"energy_invoice": "Facture d'électricité",
|
|
69
|
+
"water_invoice": "Facture d'eau",
|
|
70
|
+
"web_service_invoice": "Facture de service web",
|
|
71
|
+
"appliance_invoice": "Facture d'électroménager",
|
|
72
|
+
"restaurant_invoice": "Facture de restaurant",
|
|
73
|
+
"house_sale_agreeement": "Compromis de vente",
|
|
74
|
+
"building_permit": "Permis de construire",
|
|
75
|
+
"technical_diagnostic_record": "Dossier de diagnostic technique",
|
|
76
|
+
"lease": "Bail",
|
|
77
|
+
"house_insurance": "Assurance logement",
|
|
78
|
+
"rent_receipt": "Quittance de loyer",
|
|
79
|
+
"work_quote": "Devis de travaux",
|
|
80
|
+
"work_invoice": "Facture de travaux",
|
|
81
|
+
"other_house_document": "Autre document de logement",
|
|
82
|
+
"tax_return": "Déclaration d'impôt",
|
|
83
|
+
"tax_notice": "Avis d'imposition",
|
|
84
|
+
"tax_timetable": "Echéancier d'imposition",
|
|
85
|
+
"receipt": "Accusé de réception",
|
|
86
|
+
"other_tax_document": "Autre document d'impôt",
|
|
87
|
+
"bank_details": "IBAN",
|
|
88
|
+
"bank_statement": "Relevé de compte",
|
|
89
|
+
"loan_agreement": "Contrat de prêt",
|
|
90
|
+
"other_bank_document": "Autre document bancaire",
|
|
91
|
+
"invoices": "Factures",
|
|
92
|
+
"other_invoice": "Autre facture"
|
|
93
|
+
},
|
|
94
|
+
"themes": {
|
|
95
|
+
"identity": "Identité",
|
|
96
|
+
"family": "Famille",
|
|
97
|
+
"work_study": "Travail",
|
|
98
|
+
"health": "Santé",
|
|
99
|
+
"home": "Logement",
|
|
100
|
+
"transport": "Transport",
|
|
101
|
+
"invoice": "Factures",
|
|
102
|
+
"others": "Autres",
|
|
103
|
+
"undefined": "Indéfini",
|
|
104
|
+
"finance": "Finances"
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.getBoundT = void 0;
|
|
9
|
+
|
|
10
|
+
var _nodePolyglot = _interopRequireDefault(require("node-polyglot"));
|
|
11
|
+
|
|
12
|
+
var polyglots = {};
|
|
13
|
+
var langs = ['fr', 'en'];
|
|
14
|
+
|
|
15
|
+
for (var _i = 0, _langs = langs; _i < _langs.length; _i++) {
|
|
16
|
+
var lang = _langs[_i];
|
|
17
|
+
var locales = {};
|
|
18
|
+
|
|
19
|
+
try {
|
|
20
|
+
locales = require("./".concat(lang, ".json"));
|
|
21
|
+
} catch (e) {// eslint-disable-line no-empty-block
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
var polyglot = new _nodePolyglot.default();
|
|
25
|
+
polyglot.extend(locales);
|
|
26
|
+
polyglots[lang] = polyglot;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
*
|
|
30
|
+
* @param {string} lang - fr, en, etc
|
|
31
|
+
* @returns {(key: string) => string}
|
|
32
|
+
*/
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
var getBoundT = function getBoundT(lang) {
|
|
36
|
+
var polyglot = polyglots[lang] || polyglots['en'];
|
|
37
|
+
return polyglot.t.bind(polyglot);
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
exports.getBoundT = getBoundT;
|
|
@@ -17,7 +17,7 @@ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/creat
|
|
|
17
17
|
|
|
18
18
|
var _lodash = require("lodash");
|
|
19
19
|
|
|
20
|
-
var qualificationModel = _interopRequireWildcard(require("
|
|
20
|
+
var qualificationModel = _interopRequireWildcard(require("../../assets/qualifications.json"));
|
|
21
21
|
|
|
22
22
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
|
|
23
23
|
|
|
@@ -1,5 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import {
|
|
2
|
+
Qualification,
|
|
3
|
+
setQualification,
|
|
4
|
+
getQualification
|
|
5
|
+
} from './qualification'
|
|
6
|
+
import * as qualificationModel from '../../assets/qualifications.json'
|
|
3
7
|
|
|
4
8
|
describe('document qualification', () => {
|
|
5
9
|
beforeEach(() => {
|
package/dist/models/file.js
CHANGED
|
@@ -24,7 +24,7 @@ var _has = _interopRequireDefault(require("lodash/has"));
|
|
|
24
24
|
|
|
25
25
|
var _trimEnd = _interopRequireDefault(require("lodash/trimEnd"));
|
|
26
26
|
|
|
27
|
-
var
|
|
27
|
+
var _qualification = require("./document/qualification");
|
|
28
28
|
|
|
29
29
|
var _dsl = require("../queries/dsl");
|
|
30
30
|
|
|
@@ -320,7 +320,7 @@ var saveFileQualification = /*#__PURE__*/function () {
|
|
|
320
320
|
while (1) {
|
|
321
321
|
switch (_context.prev = _context.next) {
|
|
322
322
|
case 0:
|
|
323
|
-
qualifiedFile = (0,
|
|
323
|
+
qualifiedFile = (0, _qualification.setQualification)(file, qualification);
|
|
324
324
|
return _context.abrupt("return", client.collection(_const.DOCTYPE_FILES).updateMetadataAttribute(file._id, qualifiedFile.metadata));
|
|
325
325
|
|
|
326
326
|
case 2:
|
package/dist/models/file.spec.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as fileModel from './file'
|
|
2
|
-
import { Qualification } from './document'
|
|
2
|
+
import { Qualification } from './document/qualification'
|
|
3
3
|
import { QueryDefinition } from '../queries/dsl'
|
|
4
4
|
const CozyClient = require('cozy-client/dist/CozyClient').default
|
|
5
5
|
const CozyStackClient = require('cozy-stack-client').default
|
package/dist/queries/dsl.js
CHANGED
|
@@ -120,13 +120,13 @@ var QueryDefinition = /*#__PURE__*/function () {
|
|
|
120
120
|
}
|
|
121
121
|
|
|
122
122
|
if (_sort.length > fieldsToIndex.length) {
|
|
123
|
-
console.warn(
|
|
123
|
+
console.warn("You should not sort on non-indexed fields.\n\n Sort: ".concat(JSON.stringify(_sort), "\n\n Indexed fields: ").concat(fieldsToIndex));
|
|
124
124
|
return;
|
|
125
125
|
}
|
|
126
126
|
|
|
127
127
|
for (var i = 0; i < _sort.length; i++) {
|
|
128
128
|
if (Object.keys(_sort[i])[0] !== fieldsToIndex[i]) {
|
|
129
|
-
console.warn(
|
|
129
|
+
console.warn("The sort order should be the same than the indexed fields.\n\n Sort: ".concat(JSON.stringify(_sort), "\n\n Indexed fields: ").concat(fieldsToIndex, "\n"));
|
|
130
130
|
return;
|
|
131
131
|
}
|
|
132
132
|
}
|
|
@@ -146,13 +146,13 @@ var QueryDefinition = /*#__PURE__*/function () {
|
|
|
146
146
|
var hasExistsFalse = (0, _findKey.default)(selector, ['$exists', false]);
|
|
147
147
|
|
|
148
148
|
if (hasExistsFalse) {
|
|
149
|
-
console.warn(
|
|
149
|
+
console.warn("The \"$exists: false\" predicate should be defined as a partial index for better performance.\n\n Selector: ".concat(selector));
|
|
150
150
|
}
|
|
151
151
|
|
|
152
152
|
var hasNe = (0, _findKey.default)(selector, '$ne');
|
|
153
153
|
|
|
154
154
|
if (hasNe) {
|
|
155
|
-
console.info(
|
|
155
|
+
console.info("The use of the $ne operator is more efficient with a partial index.\n\n Selector: ".concat(selector));
|
|
156
156
|
}
|
|
157
157
|
}
|
|
158
158
|
/**
|
package/dist/types.js
CHANGED
|
@@ -230,5 +230,47 @@ var _dsl = require("./queries/dsl");
|
|
|
230
230
|
* @property {string?} error?
|
|
231
231
|
* @property {string?} reason?
|
|
232
232
|
*/
|
|
233
|
+
|
|
234
|
+
/**
|
|
235
|
+
* @typedef {object} Theme
|
|
236
|
+
* @property {string} id
|
|
237
|
+
* @property {string} label
|
|
238
|
+
* @property {string} icon
|
|
239
|
+
* @property {Array<QualificationAttributes>} items
|
|
240
|
+
* @property {Array<string>} [defaultItems]
|
|
241
|
+
*
|
|
242
|
+
* @typedef {Array<Theme>} ThemesList
|
|
243
|
+
*
|
|
244
|
+
* @typedef {'identity'|'family'|'work_study'|'health'|'home'|'transport'|'finance'|'invoice'} ThemesLabels
|
|
245
|
+
*/
|
|
246
|
+
|
|
247
|
+
/**
|
|
248
|
+
* @typedef {object} QualificationAttributes
|
|
249
|
+
* @property {string} label
|
|
250
|
+
* @property {string} [purpose]
|
|
251
|
+
* @property {string} [sourceCategory]
|
|
252
|
+
* @property {string} [sourceSubCategory]
|
|
253
|
+
* @property {Array<string>} [subjects]
|
|
254
|
+
*/
|
|
255
|
+
|
|
256
|
+
/**
|
|
257
|
+
* @typedef {'identity_photo'|'national_id_card'|'passport'|'residence_permit'|'family_record_book'|'birth_certificate'|'driver_license'|'other_identity_document'} IdentityLabel
|
|
258
|
+
*
|
|
259
|
+
* @typedef {'family_record_book'|'birth_certificate'|'wedding'|'pacs'|'divorce'|'large_family_card'|'caf'|'other_family_document'} FamilyLabel
|
|
260
|
+
*
|
|
261
|
+
* @typedef {'diploma'|'work_contract'|'pay_sheet'|'unemployment_benefit'|'pension'|'other_revenue'|'gradebook'|'student_card'|'resume'|'motivation_letter'|'other_work_document'} WorkStudyLabels
|
|
262
|
+
*
|
|
263
|
+
* @typedef {'health_certificate'|'health_book'|'national_health_insurance_card'|'health_insurance_card'|'prescription'|'health_invoice'} HealthLabels
|
|
264
|
+
*
|
|
265
|
+
* @typedef {'phone_invoice'|'isp_invoice'|'telecom_invoice'|'energy_invoice'|'water_invoice'|'house_sale_agreeement'|'building_permit'|'technical_diagnostic_record'|'lease'|'rent_receipt'|'house_insurance'|'work_quote'|'work_invoice'|'other_house_document'} HomeLabels
|
|
266
|
+
*
|
|
267
|
+
* @typedef {'driver_license'|'vehicle_registration'|'car_insurance'|'mechanic_invoice'|'transport_invoice'|'other_transport_document'} TransportLabels
|
|
268
|
+
*
|
|
269
|
+
* @typedef {'tax_return'|'tax_notice'|'tax_timetable'|'receipt'|'other_tax_document'|'bank_details'|'bank_statement'|'loan_agreement'|'other_bank_document'} FinanceLabels
|
|
270
|
+
*
|
|
271
|
+
* @typedef {'phone_invoice'|'isp_invoice'|'telecom_invoice'|'energy_invoice'|'water_invoice'|'appliance_invoice'|'web_service_invoice'|'restaurant_invoice'|'work_invoice'|'transport_invoice'|'health_invoice'|'other_invoice'} InvoiceLabels
|
|
272
|
+
*
|
|
273
|
+
* @typedef {IdentityLabel|FamilyLabel|WorkStudyLabels|HealthLabels|HomeLabels|TransportLabels|FinanceLabels|InvoiceLabels} ItemsLabels
|
|
274
|
+
*/
|
|
233
275
|
var _default = {};
|
|
234
276
|
exports.default = _default;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cozy-client",
|
|
3
|
-
"version": "27.
|
|
3
|
+
"version": "27.3.1",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"main": "dist/index.node.js",
|
|
6
6
|
"browser": "dist/index.js",
|
|
@@ -21,11 +21,12 @@
|
|
|
21
21
|
"cozy-device-helper": "^1.12.0",
|
|
22
22
|
"cozy-flags": "2.7.1",
|
|
23
23
|
"cozy-logger": "^1.6.0",
|
|
24
|
-
"cozy-stack-client": "^27.
|
|
24
|
+
"cozy-stack-client": "^27.1.0",
|
|
25
25
|
"json-stable-stringify": "^1.0.1",
|
|
26
26
|
"lodash": "^4.17.13",
|
|
27
27
|
"microee": "^0.0.6",
|
|
28
28
|
"node-fetch": "^2.6.1",
|
|
29
|
+
"node-polyglot": "2.4.2",
|
|
29
30
|
"open": "7.4.2",
|
|
30
31
|
"prop-types": "^15.6.2",
|
|
31
32
|
"react-redux": "^7.2.0",
|
|
@@ -68,5 +69,5 @@
|
|
|
68
69
|
"react-native-inappbrowser-reborn": "^3.5.1"
|
|
69
70
|
},
|
|
70
71
|
"sideEffects": false,
|
|
71
|
-
"gitHead": "
|
|
72
|
+
"gitHead": "ebc38a62e769101b304301dcdd654925925dbab3"
|
|
72
73
|
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Qualification } from "./qualification";
|
|
2
|
+
import { setQualification } from "./qualification";
|
|
3
|
+
import { getQualification } from "./qualification";
|
|
4
|
+
import * as locales from "./locales";
|
|
5
|
+
import * as themes from "./documentTypeData";
|
|
6
|
+
import * as helpers from "./documentTypeDataHelpers";
|
|
7
|
+
export { Qualification, setQualification, getQualification, locales, themes, helpers };
|
|
File without changes
|
package/types/types.d.ts
CHANGED
|
@@ -272,4 +272,29 @@ export type CouchDBBulkResult = {
|
|
|
272
272
|
*/
|
|
273
273
|
reason: string | null;
|
|
274
274
|
};
|
|
275
|
+
export type Theme = {
|
|
276
|
+
id: string;
|
|
277
|
+
label: string;
|
|
278
|
+
icon: string;
|
|
279
|
+
items: Array<QualificationAttributes>;
|
|
280
|
+
defaultItems?: Array<string>;
|
|
281
|
+
};
|
|
282
|
+
export type ThemesList = Theme[];
|
|
283
|
+
export type ThemesLabels = "transport" | "identity" | "family" | "work_study" | "health" | "home" | "finance" | "invoice";
|
|
284
|
+
export type QualificationAttributes = {
|
|
285
|
+
label: string;
|
|
286
|
+
purpose?: string;
|
|
287
|
+
sourceCategory?: string;
|
|
288
|
+
sourceSubCategory?: string;
|
|
289
|
+
subjects?: Array<string>;
|
|
290
|
+
};
|
|
291
|
+
export type IdentityLabel = "identity_photo" | "national_id_card" | "passport" | "residence_permit" | "family_record_book" | "birth_certificate" | "driver_license" | "other_identity_document";
|
|
292
|
+
export type FamilyLabel = "family_record_book" | "birth_certificate" | "wedding" | "pacs" | "divorce" | "large_family_card" | "caf" | "other_family_document";
|
|
293
|
+
export type WorkStudyLabels = "resume" | "diploma" | "work_contract" | "pay_sheet" | "unemployment_benefit" | "pension" | "other_revenue" | "gradebook" | "student_card" | "motivation_letter" | "other_work_document";
|
|
294
|
+
export type HealthLabels = "health_certificate" | "health_book" | "national_health_insurance_card" | "health_insurance_card" | "prescription" | "health_invoice";
|
|
295
|
+
export type HomeLabels = "phone_invoice" | "isp_invoice" | "telecom_invoice" | "energy_invoice" | "water_invoice" | "house_sale_agreeement" | "building_permit" | "technical_diagnostic_record" | "lease" | "rent_receipt" | "house_insurance" | "work_quote" | "work_invoice" | "other_house_document";
|
|
296
|
+
export type TransportLabels = "driver_license" | "vehicle_registration" | "car_insurance" | "mechanic_invoice" | "transport_invoice" | "other_transport_document";
|
|
297
|
+
export type FinanceLabels = "tax_return" | "tax_notice" | "tax_timetable" | "receipt" | "other_tax_document" | "bank_details" | "bank_statement" | "loan_agreement" | "other_bank_document";
|
|
298
|
+
export type InvoiceLabels = "health_invoice" | "phone_invoice" | "isp_invoice" | "telecom_invoice" | "energy_invoice" | "water_invoice" | "work_invoice" | "transport_invoice" | "appliance_invoice" | "web_service_invoice" | "restaurant_invoice" | "other_invoice";
|
|
299
|
+
export type ItemsLabels = "resume" | "identity_photo" | "national_id_card" | "passport" | "residence_permit" | "family_record_book" | "birth_certificate" | "driver_license" | "other_identity_document" | "wedding" | "pacs" | "divorce" | "large_family_card" | "caf" | "other_family_document" | "diploma" | "work_contract" | "pay_sheet" | "unemployment_benefit" | "pension" | "other_revenue" | "gradebook" | "student_card" | "motivation_letter" | "other_work_document" | "health_certificate" | "health_book" | "national_health_insurance_card" | "health_insurance_card" | "prescription" | "health_invoice" | "phone_invoice" | "isp_invoice" | "telecom_invoice" | "energy_invoice" | "water_invoice" | "house_sale_agreeement" | "building_permit" | "technical_diagnostic_record" | "lease" | "rent_receipt" | "house_insurance" | "work_quote" | "work_invoice" | "other_house_document" | "vehicle_registration" | "car_insurance" | "mechanic_invoice" | "transport_invoice" | "other_transport_document" | "tax_return" | "tax_notice" | "tax_timetable" | "receipt" | "other_tax_document" | "bank_details" | "bank_statement" | "loan_agreement" | "other_bank_document" | "appliance_invoice" | "web_service_invoice" | "restaurant_invoice" | "other_invoice";
|
|
275
300
|
import { QueryDefinition } from "./queries/dsl";
|