@veritree/services 0.12.0 → 0.13.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/package.json +1 -1
- package/src/services/field-updates.js +6 -19
- package/src/services/forest-types.js +10 -8
- package/src/services/form-submissions.js +6 -7
- package/src/services/images.js +8 -35
- package/src/services/regions.js +14 -25
- package/src/services/subsites.js +11 -24
- package/src/utils/args.js +32 -0
- package/utils/args.js +0 -33
package/package.json
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import Api from "../helpers/api";
|
|
2
2
|
import { getSession } from "../helpers/session";
|
|
3
|
+
import { createParamsStringFromArgs } from "../utils/args";
|
|
3
4
|
|
|
4
5
|
export const createFieldUpdatesApiService = () => {
|
|
5
6
|
const resource = `field-updates`;
|
|
@@ -10,16 +11,8 @@ export const createFieldUpdatesApiService = () => {
|
|
|
10
11
|
}
|
|
11
12
|
|
|
12
13
|
const get = {
|
|
13
|
-
async all(
|
|
14
|
-
const
|
|
15
|
-
countryId,
|
|
16
|
-
regionId,
|
|
17
|
-
subsiteId,
|
|
18
|
-
page,
|
|
19
|
-
orderBy,
|
|
20
|
-
pageSize
|
|
21
|
-
)}`;
|
|
22
|
-
const url = `${_getUrl()}?${params}`;
|
|
14
|
+
async all() {
|
|
15
|
+
const url = `${_getUrl()}?${_getParams(arguments)}`;
|
|
23
16
|
|
|
24
17
|
return await Api.get(url);
|
|
25
18
|
},
|
|
@@ -69,16 +62,10 @@ export const createFieldUpdatesApiService = () => {
|
|
|
69
62
|
return `${Api.baseUrl}/${resource}`;
|
|
70
63
|
};
|
|
71
64
|
|
|
72
|
-
const _getParams = (
|
|
73
|
-
const
|
|
74
|
-
const regionIdParam = regionId ? `®ion_id=${regionId}` : "";
|
|
75
|
-
const subsiteIdParam = subsiteId ? `&subsite_id=${subsiteId}` : "";
|
|
76
|
-
const pageParam = page ? `&page=${page}` : "";
|
|
77
|
-
const orderByParam = orderBy ? `&orderBy=${orderBy}` : "";
|
|
78
|
-
const pageSizeParam = pageSize ? `&page_size=${pageSize}` : "";
|
|
79
|
-
const params = `${countryIdParam}${regionIdParam}${subsiteIdParam}${pageParam}${pageSizeParam}${orderByParam}`;
|
|
65
|
+
const _getParams = (args) => {
|
|
66
|
+
const paramsString = createParamsStringFromArgs(args);
|
|
80
67
|
|
|
81
|
-
return `org_id=${orgId}&org_type=${orgType}${
|
|
68
|
+
return `org_id=${orgId}&org_type=${orgType}${paramsString}`;
|
|
82
69
|
};
|
|
83
70
|
|
|
84
71
|
return {
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import Api from '../helpers/api';
|
|
2
|
+
import { createParamsStringFromArgs } from '../utils/args';
|
|
2
3
|
import { getSession } from "../helpers/session";
|
|
3
4
|
|
|
4
5
|
export const createForestTypesApiService = () => {
|
|
@@ -11,10 +12,12 @@ export const createForestTypesApiService = () => {
|
|
|
11
12
|
|
|
12
13
|
const get = {
|
|
13
14
|
/**
|
|
15
|
+
* @param {object} arguments
|
|
14
16
|
* @returns {object} envelope
|
|
15
17
|
*/
|
|
16
|
-
async all(
|
|
17
|
-
const url = `${_getUrl()}?${_getParams(
|
|
18
|
+
async all() {
|
|
19
|
+
const url = `${_getUrl()}?${_getParams(arguments)}`;
|
|
20
|
+
|
|
18
21
|
return await Api.get(url);
|
|
19
22
|
},
|
|
20
23
|
|
|
@@ -23,7 +26,8 @@ export const createForestTypesApiService = () => {
|
|
|
23
26
|
* @returns {object} envelope
|
|
24
27
|
*/
|
|
25
28
|
async specific(id) {
|
|
26
|
-
const url = `${_getUrl()}/${id}?${_getParams(
|
|
29
|
+
const url = `${_getUrl()}/${id}?${_getParams()}`;
|
|
30
|
+
|
|
27
31
|
return await Api.get(url);
|
|
28
32
|
},
|
|
29
33
|
};
|
|
@@ -32,12 +36,10 @@ export const createForestTypesApiService = () => {
|
|
|
32
36
|
return `${Api.baseUrl}/${resource}`;
|
|
33
37
|
};
|
|
34
38
|
|
|
35
|
-
const _getParams = (
|
|
36
|
-
const
|
|
37
|
-
const pageSizeParam = pageSize ? `&page_size=${pageSize}` : '';
|
|
38
|
-
const params = `${pageParam}${pageSizeParam}`;
|
|
39
|
+
const _getParams = (args) => {
|
|
40
|
+
const paramsString = createParamsStringFromArgs(args);
|
|
39
41
|
|
|
40
|
-
return `org_id=${orgId}&org_type=${orgType}${
|
|
42
|
+
return `org_id=${orgId}&org_type=${orgType}${paramsString}`;
|
|
41
43
|
};
|
|
42
44
|
|
|
43
45
|
return {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import Api from '../helpers/api';
|
|
2
2
|
import { getSession } from "../helpers/session";
|
|
3
|
+
import { createParamsStringFromArgs } from '../utils/args';
|
|
3
4
|
|
|
4
5
|
export const createFormSubmissionsApiService = () => {
|
|
5
6
|
const resource = 'form-submissions';
|
|
@@ -10,8 +11,8 @@ export const createFormSubmissionsApiService = () => {
|
|
|
10
11
|
}
|
|
11
12
|
|
|
12
13
|
const get = {
|
|
13
|
-
async all(
|
|
14
|
-
const url = `${_getUrl()}?${_getParams(
|
|
14
|
+
async all() {
|
|
15
|
+
const url = `${_getUrl()}?${_getParams(arguments)}`;
|
|
15
16
|
return await Api.get(url);
|
|
16
17
|
},
|
|
17
18
|
};
|
|
@@ -20,12 +21,10 @@ export const createFormSubmissionsApiService = () => {
|
|
|
20
21
|
return `${Api.baseUrl}/${resource}`;
|
|
21
22
|
};
|
|
22
23
|
|
|
23
|
-
const _getParams = (
|
|
24
|
-
const
|
|
25
|
-
const pageSizeParam = pageSize ? `&page_size=${pageSize}` : '';
|
|
26
|
-
const params = `${pageParam}${pageSizeParam}`;
|
|
24
|
+
const _getParams = (args) => {
|
|
25
|
+
const paramsString = createParamsStringFromArgs(args);
|
|
27
26
|
|
|
28
|
-
return `org_id=${orgId}&org_type=${orgType}${
|
|
27
|
+
return `org_id=${orgId}&org_type=${orgType}${paramsString}`;
|
|
29
28
|
};
|
|
30
29
|
|
|
31
30
|
return {
|
package/src/services/images.js
CHANGED
|
@@ -1,31 +1,18 @@
|
|
|
1
1
|
import Api from "../helpers/api";
|
|
2
2
|
import { getSession } from "../helpers/session";
|
|
3
|
+
import { createParamsStringFromArgs } from "../utils/args";
|
|
3
4
|
|
|
4
5
|
export const createImagesApiService = () => {
|
|
5
6
|
const resource = "images";
|
|
6
7
|
const { orgId, orgType } = getSession();
|
|
7
8
|
|
|
8
9
|
if (!orgId && !orgType) {
|
|
9
|
-
throw new Error(
|
|
10
|
+
throw new Error("Organization id and type are required");
|
|
10
11
|
}
|
|
11
12
|
|
|
12
13
|
const get = {
|
|
13
|
-
async all(
|
|
14
|
-
|
|
15
|
-
countryId,
|
|
16
|
-
regionId,
|
|
17
|
-
subsiteId,
|
|
18
|
-
page = 1,
|
|
19
|
-
pageSize = 10
|
|
20
|
-
) {
|
|
21
|
-
const url = `${_getUrl()}?${_getParams(
|
|
22
|
-
purpose,
|
|
23
|
-
countryId,
|
|
24
|
-
regionId,
|
|
25
|
-
subsiteId,
|
|
26
|
-
page,
|
|
27
|
-
pageSize
|
|
28
|
-
)}`;
|
|
14
|
+
async all() {
|
|
15
|
+
const url = `${_getUrl()}?${_getParams(arguments)}`;
|
|
29
16
|
return await Api.get(url);
|
|
30
17
|
},
|
|
31
18
|
|
|
@@ -33,31 +20,17 @@ export const createImagesApiService = () => {
|
|
|
33
20
|
const url = `${_getUrl()}/${id}?${_getParams()}`;
|
|
34
21
|
|
|
35
22
|
return await Api.get(url);
|
|
36
|
-
}
|
|
23
|
+
},
|
|
37
24
|
};
|
|
38
25
|
|
|
39
26
|
const _getUrl = () => {
|
|
40
27
|
return `${Api.baseUrl}/${resource}`;
|
|
41
28
|
};
|
|
42
29
|
|
|
43
|
-
const _getParams = (
|
|
44
|
-
|
|
45
|
-
countryId,
|
|
46
|
-
regionId,
|
|
47
|
-
subsiteId,
|
|
48
|
-
page,
|
|
49
|
-
pageSize
|
|
50
|
-
) => {
|
|
51
|
-
const paramPageSize = pageSize ? `&page_size=${pageSize}` : "";
|
|
52
|
-
const paramPurpose = purpose ? `&purpose=${purpose}` : "";
|
|
53
|
-
const paramCountryId = countryId ? `&country_id=${countryId}` : "";
|
|
54
|
-
const paramRegionId = regionId ? `®ion_id=${regionId}` : "";
|
|
55
|
-
const paramSubsiteId = subsiteId ? `&subsite_id=${subsiteId}` : "";
|
|
56
|
-
const paramPage = page ? `&page=${page}` : "";
|
|
57
|
-
|
|
58
|
-
const params = `${paramPurpose}${paramPageSize}${paramCountryId}${paramRegionId}${paramSubsiteId}${paramPage}`;
|
|
30
|
+
const _getParams = (args) => {
|
|
31
|
+
const paramsString = createParamsStringFromArgs(args);
|
|
59
32
|
|
|
60
|
-
return `org_id=${orgId}&org_type=${orgType}${
|
|
33
|
+
return `org_id=${orgId}&org_type=${orgType}${paramsString}`;
|
|
61
34
|
};
|
|
62
35
|
|
|
63
36
|
return {
|
package/src/services/regions.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import Api from "../helpers/api";
|
|
2
2
|
import { getSession } from "../helpers/session";
|
|
3
|
+
import { createParamsStringFromArgs } from "../utils/args";
|
|
3
4
|
|
|
4
5
|
export const createRegionsApiService = () => {
|
|
5
6
|
const resource = "regions";
|
|
@@ -10,43 +11,31 @@ export const createRegionsApiService = () => {
|
|
|
10
11
|
}
|
|
11
12
|
|
|
12
13
|
const get = {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
* @param {obj} pagination { page, pageSize }
|
|
17
|
-
* @param {obj} filters { countryId, regionId }
|
|
18
|
-
* @returns {obj} envelope
|
|
19
|
-
*/
|
|
20
|
-
async all(
|
|
21
|
-
pagination = { page: 1, pageSize: 10},
|
|
22
|
-
filters = { countryId: null },
|
|
23
|
-
advancedQuery = { includes: [], excludes: [] },
|
|
24
|
-
) {
|
|
25
|
-
let { page, pageSize } = pagination;
|
|
26
|
-
const { countryId } = filters;
|
|
27
|
-
const { includes, excludes } = advancedQuery;
|
|
28
|
-
|
|
29
|
-
const url = `${_getUrl()}?${_getParams(countryId, page, pageSize, includes, excludes)}`;
|
|
14
|
+
async all() {
|
|
15
|
+
const url = `${_getUrl()}?${_getParams(arguments)}`;
|
|
16
|
+
|
|
30
17
|
return await Api.get(url);
|
|
31
18
|
},
|
|
32
19
|
};
|
|
33
20
|
|
|
21
|
+
const post = (data) => {
|
|
22
|
+
const url = `${_getUrl()}?${_getParams()}`;
|
|
23
|
+
|
|
24
|
+
return Api.post(url, data);
|
|
25
|
+
};
|
|
26
|
+
|
|
34
27
|
const _getUrl = () => {
|
|
35
28
|
return `${Api.baseUrl}/${resource}`;
|
|
36
29
|
};
|
|
37
30
|
|
|
38
|
-
const _getParams = (
|
|
39
|
-
const
|
|
40
|
-
const pageParam = page ? `&page=${page}` : "";
|
|
41
|
-
const pageSizeParam = pageSize ? `&page_size=${pageSize}` : "";
|
|
42
|
-
const includeParams = includes ? includes.map(item => `&include[]=${item}`).join('') : "";
|
|
43
|
-
const excludeParams = excludes ? excludes.map(item => `&exclude=${item}`).join('') : "";
|
|
44
|
-
const params = `${countryIdParam}${pageParam}${pageSizeParam}${includeParams}${excludeParams}`;
|
|
31
|
+
const _getParams = (args) => {
|
|
32
|
+
const paramsString = createParamsStringFromArgs(args)
|
|
45
33
|
|
|
46
|
-
return `org_id=${orgId}&org_type=${orgType}${
|
|
34
|
+
return `org_id=${orgId}&org_type=${orgType}${paramsString}`;
|
|
47
35
|
};
|
|
48
36
|
|
|
49
37
|
return {
|
|
50
38
|
get,
|
|
39
|
+
post,
|
|
51
40
|
};
|
|
52
41
|
};
|
package/src/services/subsites.js
CHANGED
|
@@ -1,30 +1,21 @@
|
|
|
1
|
-
import Api from
|
|
1
|
+
import Api from "../helpers/api";
|
|
2
2
|
import { getSession } from "../helpers/session";
|
|
3
|
+
import { createParamsStringFromArgs } from "../utils/args";
|
|
3
4
|
|
|
4
5
|
export const createSubsitesApiService = () => {
|
|
5
|
-
const resource =
|
|
6
|
+
const resource = "subsites";
|
|
6
7
|
const { orgId, orgType } = getSession();
|
|
7
8
|
|
|
8
9
|
if (!orgId && !orgType) {
|
|
9
|
-
throw new Error(
|
|
10
|
+
throw new Error("Organization id and type are required");
|
|
10
11
|
}
|
|
11
12
|
|
|
12
13
|
const get = {
|
|
13
14
|
/**
|
|
14
|
-
* Gets all subsites of an organization
|
|
15
|
-
*
|
|
16
|
-
* @param {obj} pagination { page, pageSize }
|
|
17
|
-
* @param {obj} filters { countryId, regionId }
|
|
18
15
|
* @returns {obj} envelope
|
|
19
16
|
*/
|
|
20
|
-
async all(
|
|
21
|
-
|
|
22
|
-
filters = { countryId: null, regionId: null }
|
|
23
|
-
) {
|
|
24
|
-
let { page, pageSize } = pagination;
|
|
25
|
-
const { countryId, regionId } = filters;
|
|
26
|
-
|
|
27
|
-
const url = `${_getUrl()}?${_getUrlParams(countryId, regionId, page, pageSize)}`;
|
|
17
|
+
async all() {
|
|
18
|
+
const url = `${_getUrl()}?${_getUrlParams(arguments)}`;
|
|
28
19
|
|
|
29
20
|
return await Api.get(url);
|
|
30
21
|
},
|
|
@@ -36,8 +27,8 @@ export const createSubsitesApiService = () => {
|
|
|
36
27
|
* @param {number/string} page
|
|
37
28
|
* @returns {object} envelope
|
|
38
29
|
*/
|
|
39
|
-
async specific(id
|
|
40
|
-
const url = `${_getUrl()}/${id}?${_getUrlParams(
|
|
30
|
+
async specific(id) {
|
|
31
|
+
const url = `${_getUrl()}/${id}?${_getUrlParams()}`;
|
|
41
32
|
|
|
42
33
|
return await Api.get(url);
|
|
43
34
|
},
|
|
@@ -47,14 +38,10 @@ export const createSubsitesApiService = () => {
|
|
|
47
38
|
return `${Api.baseUrl}/${resource}`;
|
|
48
39
|
};
|
|
49
40
|
|
|
50
|
-
const _getUrlParams = (
|
|
51
|
-
const
|
|
52
|
-
const regionIdParam = regionId ? `®ion_id=${regionId}` : "";
|
|
53
|
-
const pageParam = page ? `&page=${page}` : "";
|
|
54
|
-
const pageSizeParam = pageSize ? `&page_size=${pageSize}` : "";
|
|
55
|
-
const params = `${countryIdParam}${regionIdParam}${pageParam}${pageSizeParam}`;
|
|
41
|
+
const _getUrlParams = () => {
|
|
42
|
+
const paramsString = createParamsStringFromArgs(arguments);
|
|
56
43
|
|
|
57
|
-
return `org_id=${orgId}&org_type=${orgType}${
|
|
44
|
+
return `org_id=${orgId}&org_type=${orgType}${paramsString}`;
|
|
58
45
|
};
|
|
59
46
|
|
|
60
47
|
return {
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export const createParamsStringFromArgs = (args) => {
|
|
2
|
+
if(!args) return '';
|
|
3
|
+
|
|
4
|
+
const paramsString = [];
|
|
5
|
+
let arr = [];
|
|
6
|
+
|
|
7
|
+
for(const arg of args) {
|
|
8
|
+
if(typeof arg === 'object') {
|
|
9
|
+
for(const key in arg) {
|
|
10
|
+
if(arg[key] === null) return;
|
|
11
|
+
|
|
12
|
+
if(Array.isArray(arg[key])) {
|
|
13
|
+
arr = arg[key].map((item, index) => {
|
|
14
|
+
const param = `${key}[]=${item}`;
|
|
15
|
+
|
|
16
|
+
return index === 0 ? `${param}` : `&${param}`;
|
|
17
|
+
}).join('');
|
|
18
|
+
|
|
19
|
+
paramsString.push(arr);
|
|
20
|
+
} else {
|
|
21
|
+
if(arg[key] !== undefined) {
|
|
22
|
+
paramsString.push(`${key}=${arg[key]}`);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
if(!paramsString.length) return '';
|
|
30
|
+
|
|
31
|
+
return `&${paramsString.join('&')}`;
|
|
32
|
+
}
|
package/utils/args.js
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
function getArgs() {
|
|
2
|
-
const argsString = [];
|
|
3
|
-
let arr = [];
|
|
4
|
-
|
|
5
|
-
for(arg of arguments) {
|
|
6
|
-
if(typeof arg === 'object') {
|
|
7
|
-
for(key in arg) {
|
|
8
|
-
if(arg[key] === null) return;
|
|
9
|
-
|
|
10
|
-
if(Array.isArray(arg[key])) {
|
|
11
|
-
arr = arg[key].map((item, index) => {
|
|
12
|
-
const param = `${key}[]=${item}`;
|
|
13
|
-
|
|
14
|
-
return index === 0 ? `${param}` : `&${param}`;
|
|
15
|
-
}).join('');
|
|
16
|
-
|
|
17
|
-
argsString.push(arr);
|
|
18
|
-
} else {
|
|
19
|
-
argsString.push(`${key}=${arg[key]}`);
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
console.log(argsString.join('&'));
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
const pagination = { page: 1, pageSize: 3}
|
|
29
|
-
const filter = { countryId: 4, regionId: 5}
|
|
30
|
-
const sort = { orderBy: 'date_planted-desc'}
|
|
31
|
-
const advancedQuery = { include: ['a', 'b'], exclude: ['country']}
|
|
32
|
-
|
|
33
|
-
getArgs(pagination, filter, sort, advancedQuery);
|