laravel-request 1.1.14 → 1.1.16
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/Api.js +71 -77
- package/src/ApiRequest.js +30 -0
- package/src/Builder.js +8 -19
package/package.json
CHANGED
package/src/Api.js
CHANGED
|
@@ -11,63 +11,38 @@ export default class Api {
|
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
13
|
*
|
|
14
|
-
* @param
|
|
15
|
-
* @param
|
|
16
|
-
* @param data
|
|
17
|
-
* @param method
|
|
18
|
-
* @return {ApiRequest}
|
|
19
|
-
*/
|
|
20
|
-
static create(target, focus, data = {}, method = 'GET') {
|
|
21
|
-
return new this.requestClass(target, focus, data, method);
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
*
|
|
26
|
-
* @param target
|
|
27
|
-
* @param focus
|
|
14
|
+
* @param controller
|
|
15
|
+
* @param action
|
|
28
16
|
* @param arg
|
|
29
17
|
* @param data
|
|
30
|
-
* @param method
|
|
31
18
|
* @return {ApiRequest}
|
|
32
19
|
*/
|
|
33
|
-
static
|
|
34
|
-
return
|
|
20
|
+
static getArg(controller, action, arg, data = {}) {
|
|
21
|
+
return this.get(controller, action, data).addArg(arg);
|
|
35
22
|
}
|
|
36
23
|
|
|
37
24
|
/**
|
|
38
25
|
*
|
|
39
|
-
* @param
|
|
40
|
-
* @param
|
|
26
|
+
* @param controller
|
|
27
|
+
* @param action
|
|
41
28
|
* @param arg
|
|
42
29
|
* @param data
|
|
43
30
|
* @return {ApiRequest}
|
|
44
31
|
*/
|
|
45
|
-
static
|
|
46
|
-
return this.
|
|
32
|
+
static postArg(controller, action, arg, data = {}) {
|
|
33
|
+
return this.post(controller, action, data).addArg(arg);
|
|
47
34
|
}
|
|
48
35
|
|
|
49
36
|
/**
|
|
50
37
|
*
|
|
51
|
-
* @param
|
|
52
|
-
* @param
|
|
38
|
+
* @param controller
|
|
39
|
+
* @param action
|
|
53
40
|
* @param arg
|
|
54
41
|
* @param data
|
|
55
42
|
* @return {ApiRequest}
|
|
56
43
|
*/
|
|
57
|
-
static
|
|
58
|
-
return this.
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
/**
|
|
62
|
-
*
|
|
63
|
-
* @param target
|
|
64
|
-
* @param focus
|
|
65
|
-
* @param arg
|
|
66
|
-
* @param data
|
|
67
|
-
* @return {ApiRequest}
|
|
68
|
-
*/
|
|
69
|
-
static putArg(target, focus, arg, data = {}) {
|
|
70
|
-
return this.put(target, focus, data).addArg(arg);
|
|
44
|
+
static putArg(controller, action, arg, data = {}) {
|
|
45
|
+
return this.put(controller, action, data).addArg(arg);
|
|
71
46
|
}
|
|
72
47
|
|
|
73
48
|
/**
|
|
@@ -105,45 +80,61 @@ export default class Api {
|
|
|
105
80
|
|
|
106
81
|
/**
|
|
107
82
|
*
|
|
108
|
-
* @param
|
|
109
|
-
* @param
|
|
83
|
+
* @param controller
|
|
84
|
+
* @param action
|
|
110
85
|
* @param data
|
|
111
86
|
* @returns {ApiRequest}
|
|
112
87
|
*/
|
|
113
|
-
static get(
|
|
114
|
-
return new this.requestClass(
|
|
88
|
+
static get(controller, action, data = {}) {
|
|
89
|
+
return new this.requestClass(controller, action, data, 'GET');
|
|
115
90
|
}
|
|
116
91
|
/**
|
|
117
92
|
*
|
|
118
|
-
* @param
|
|
119
|
-
* @param
|
|
93
|
+
* @param controller
|
|
94
|
+
* @param action
|
|
120
95
|
* @param data
|
|
121
96
|
* @returns {ApiRequest}
|
|
122
97
|
*/
|
|
123
|
-
static post(
|
|
124
|
-
return new this.requestClass(
|
|
98
|
+
static post(controller, action, data = {}) {
|
|
99
|
+
return new this.requestClass(controller, action, data, 'POST');
|
|
125
100
|
}
|
|
126
101
|
/**
|
|
127
102
|
*
|
|
128
|
-
* @param
|
|
129
|
-
* @param
|
|
103
|
+
* @param controller
|
|
104
|
+
* @param action
|
|
130
105
|
* @param data
|
|
131
106
|
* @returns {ApiRequest}
|
|
132
107
|
*/
|
|
133
|
-
static put(
|
|
134
|
-
return new this.requestClass(
|
|
108
|
+
static put(controller, action, data = {}) {
|
|
109
|
+
return new this.requestClass(controller, action, data, 'PUT');
|
|
135
110
|
}
|
|
136
111
|
|
|
137
112
|
/**
|
|
138
113
|
*
|
|
139
|
-
* @param
|
|
140
|
-
* @param
|
|
114
|
+
* @param controller
|
|
115
|
+
* @param action
|
|
141
116
|
* @param id
|
|
142
117
|
* @param data
|
|
143
118
|
* @return {ApiRequest}
|
|
144
119
|
*/
|
|
145
|
-
static delete(
|
|
146
|
-
return new this.requestClass(
|
|
120
|
+
static delete(controller, action, id, data = {}) {
|
|
121
|
+
return new this.requestClass(controller, action, data, 'DELETE').addArg(id);
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
static encodeQueryString(params) {
|
|
125
|
+
const flattenObject = (obj, parentKey = '') => {
|
|
126
|
+
return Object.entries(obj).map(([key, value]) => {
|
|
127
|
+
const newKey = parentKey ? `${parentKey}[${key}]` : key;
|
|
128
|
+
if (typeof value === 'object' && value !== null) {
|
|
129
|
+
return flattenObject(value, newKey);
|
|
130
|
+
} else {
|
|
131
|
+
return `${encodeURIComponent(newKey)}=${encodeURIComponent(value)}`;
|
|
132
|
+
}
|
|
133
|
+
});
|
|
134
|
+
};
|
|
135
|
+
|
|
136
|
+
const flatParams = flattenObject(params);
|
|
137
|
+
return flatParams.join('&');
|
|
147
138
|
}
|
|
148
139
|
|
|
149
140
|
/**
|
|
@@ -151,19 +142,9 @@ export default class Api {
|
|
|
151
142
|
* @param obj
|
|
152
143
|
* @return {*}
|
|
153
144
|
*/
|
|
154
|
-
static async makeRequest({url, method, data, params, headers, success = () => {}, error = () => {}})
|
|
145
|
+
static async makeRequest({url, method, data = {}, params = {}, headers = {}, success = () => {}, error = () => {}})
|
|
155
146
|
{
|
|
156
147
|
try {
|
|
157
|
-
if (typeof headers === 'undefined') {
|
|
158
|
-
headers = {};
|
|
159
|
-
}
|
|
160
|
-
if (typeof params === 'undefined') {
|
|
161
|
-
params = {};
|
|
162
|
-
}
|
|
163
|
-
if (typeof data === 'undefined') {
|
|
164
|
-
data = {};
|
|
165
|
-
}
|
|
166
|
-
|
|
167
148
|
headers['Content-Type'] = 'application/json';
|
|
168
149
|
|
|
169
150
|
let api_token = localStorage.getItem('api_token');
|
|
@@ -176,14 +157,32 @@ export default class Api {
|
|
|
176
157
|
switch (method)
|
|
177
158
|
{
|
|
178
159
|
case 'GET':
|
|
179
|
-
|
|
160
|
+
let query = Api.encodeQueryString(data);
|
|
161
|
+
|
|
162
|
+
if(query.length > 5000)
|
|
163
|
+
{
|
|
164
|
+
//replace to POST if GET url is too long
|
|
165
|
+
data._method = 'GET';
|
|
166
|
+
|
|
167
|
+
response = await axios.request({
|
|
168
|
+
url: url,
|
|
169
|
+
method: 'PUT',//post не будет работать
|
|
170
|
+
data: data,
|
|
171
|
+
headers: headers
|
|
172
|
+
});
|
|
173
|
+
|
|
174
|
+
}else{
|
|
175
|
+
data.timestamp = new Date().getTime();
|
|
176
|
+
|
|
177
|
+
response = await axios.request({
|
|
178
|
+
url: url,
|
|
179
|
+
method: method,
|
|
180
|
+
params: data,
|
|
181
|
+
headers: headers
|
|
182
|
+
});
|
|
183
|
+
}
|
|
184
|
+
|
|
180
185
|
|
|
181
|
-
response = await axios.request({
|
|
182
|
-
url: url,
|
|
183
|
-
method: method,
|
|
184
|
-
params: data,
|
|
185
|
-
headers: headers
|
|
186
|
-
});
|
|
187
186
|
break;
|
|
188
187
|
default:
|
|
189
188
|
params.timestamp = new Date().getTime();
|
|
@@ -230,12 +229,7 @@ export default class Api {
|
|
|
230
229
|
let statusCode = e.request?.status;
|
|
231
230
|
|
|
232
231
|
// status text
|
|
233
|
-
let statusText = e.request?.statusText;
|
|
234
|
-
|
|
235
|
-
if(!statusText)
|
|
236
|
-
{
|
|
237
|
-
statusText = e.message;
|
|
238
|
-
}
|
|
232
|
+
let statusText = e.request?.statusText || e.message;
|
|
239
233
|
|
|
240
234
|
try {
|
|
241
235
|
error(xhr, statusCode, statusText);
|
package/src/ApiRequest.js
CHANGED
|
@@ -56,11 +56,20 @@ export default class ApiRequest {
|
|
|
56
56
|
});
|
|
57
57
|
}
|
|
58
58
|
|
|
59
|
+
/**
|
|
60
|
+
*
|
|
61
|
+
* @return {null}
|
|
62
|
+
*/
|
|
59
63
|
getNotifyManager()
|
|
60
64
|
{
|
|
61
65
|
return ApiRequest.notifyClass;
|
|
62
66
|
}
|
|
63
67
|
|
|
68
|
+
/**
|
|
69
|
+
*
|
|
70
|
+
* @param url
|
|
71
|
+
* @return {ApiRequest}
|
|
72
|
+
*/
|
|
64
73
|
setUrl(url)
|
|
65
74
|
{
|
|
66
75
|
this.url = url;
|
|
@@ -68,6 +77,11 @@ export default class ApiRequest {
|
|
|
68
77
|
return this;
|
|
69
78
|
}
|
|
70
79
|
|
|
80
|
+
/**
|
|
81
|
+
*
|
|
82
|
+
* @param domain
|
|
83
|
+
* @return {ApiRequest}
|
|
84
|
+
*/
|
|
71
85
|
setDomain(domain)
|
|
72
86
|
{
|
|
73
87
|
this.domain = domain;
|
|
@@ -132,6 +146,21 @@ export default class ApiRequest {
|
|
|
132
146
|
return this.call(successCallback, errorCallback);
|
|
133
147
|
}
|
|
134
148
|
|
|
149
|
+
/**
|
|
150
|
+
*
|
|
151
|
+
* @param fields
|
|
152
|
+
* @param successCallback
|
|
153
|
+
* @param errorCallback
|
|
154
|
+
* @return {ApiRequest}
|
|
155
|
+
*/
|
|
156
|
+
pluck(fields, successCallback = (r) => {
|
|
157
|
+
}, errorCallback = () => {
|
|
158
|
+
}) {
|
|
159
|
+
this.data['paginateType'] = 'pluck';
|
|
160
|
+
this.data['fields'] = fields;
|
|
161
|
+
return this.call(successCallback, errorCallback);
|
|
162
|
+
}
|
|
163
|
+
|
|
135
164
|
getUrl()
|
|
136
165
|
{
|
|
137
166
|
return this.domain + '/api/v1/call/' + this.target + '/' + this.focus;
|
|
@@ -145,6 +174,7 @@ export default class ApiRequest {
|
|
|
145
174
|
* @param dataKey
|
|
146
175
|
* @param argumentsKey
|
|
147
176
|
* @param queryKey
|
|
177
|
+
* @param byUrl
|
|
148
178
|
* @return {ApiRequest}
|
|
149
179
|
*/
|
|
150
180
|
call(successCallback = (r) => {
|
package/src/Builder.js
CHANGED
|
@@ -3,28 +3,32 @@ export default class Builder {
|
|
|
3
3
|
static availableMethod = [
|
|
4
4
|
'select',
|
|
5
5
|
'where',
|
|
6
|
+
'orWhere',
|
|
6
7
|
'whereDate',
|
|
8
|
+
'orWhereDate',
|
|
7
9
|
'whereYear',
|
|
10
|
+
'orWhereYear',
|
|
8
11
|
'whereMonth',
|
|
12
|
+
'orWhereMonth',
|
|
9
13
|
'has',
|
|
10
14
|
'whereIn',
|
|
15
|
+
'orWhereIn',
|
|
11
16
|
'whereNotIn',
|
|
17
|
+
'orWhereNotIn',
|
|
12
18
|
'whereHas',
|
|
13
19
|
'orWhereHas',
|
|
14
20
|
'whereHasMorph',
|
|
15
21
|
'orWhereHasMorph',
|
|
16
22
|
'whereDoesntHave',
|
|
17
23
|
'orWhereDoesntHave',
|
|
18
|
-
|
|
24
|
+
|
|
19
25
|
'orderBy',
|
|
20
26
|
'groupBy',
|
|
21
27
|
'whereNull',
|
|
22
28
|
'orWhereNull',
|
|
23
29
|
'whereNotNull',
|
|
24
30
|
'orWhereNotNull',
|
|
25
|
-
|
|
26
|
-
*@property Builder.availableMethod.with array
|
|
27
|
-
*/
|
|
31
|
+
|
|
28
32
|
'with',
|
|
29
33
|
'withCount',
|
|
30
34
|
'offset',
|
|
@@ -32,21 +36,6 @@ export default class Builder {
|
|
|
32
36
|
'distinct',
|
|
33
37
|
'owner',
|
|
34
38
|
'whereAbs',
|
|
35
|
-
|
|
36
|
-
'whereAccount',
|
|
37
|
-
'whereDate',
|
|
38
|
-
'whereYear',
|
|
39
|
-
'whereMonth',
|
|
40
|
-
|
|
41
|
-
'whereIncomeType',
|
|
42
|
-
'whereSalaryType',
|
|
43
|
-
'whereSpendingType',
|
|
44
|
-
'whereObligationType',
|
|
45
|
-
'wherePropertyType',
|
|
46
|
-
'whereInvestType',
|
|
47
|
-
'whereCurrencyType',
|
|
48
|
-
'whereAccountType',
|
|
49
|
-
'whereInsuranceType'
|
|
50
39
|
];
|
|
51
40
|
|
|
52
41
|
constructor() {
|