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 CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "laravel-request",
3
3
  "productName": "laravel-request",
4
- "version": "1.1.14",
4
+ "version": "1.1.16",
5
5
  "description": "laravel-request",
6
6
  "main": "src/index.js",
7
7
  "scripts": {},
package/src/Api.js CHANGED
@@ -11,63 +11,38 @@ export default class Api {
11
11
 
12
12
  /**
13
13
  *
14
- * @param target
15
- * @param focus
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 createArg(target, focus, arg, data = {}, method = 'GET') {
34
- return new this.requestClass(target, focus, data, method).addArg(arg);
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 target
40
- * @param focus
26
+ * @param controller
27
+ * @param action
41
28
  * @param arg
42
29
  * @param data
43
30
  * @return {ApiRequest}
44
31
  */
45
- static getArg(target, focus, arg, data = {}) {
46
- return this.get(target, focus, data).addArg(arg);
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 target
52
- * @param focus
38
+ * @param controller
39
+ * @param action
53
40
  * @param arg
54
41
  * @param data
55
42
  * @return {ApiRequest}
56
43
  */
57
- static postArg(target, focus, arg, data = {}) {
58
- return this.post(target, focus, data).addArg(arg);
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 target
109
- * @param focus
83
+ * @param controller
84
+ * @param action
110
85
  * @param data
111
86
  * @returns {ApiRequest}
112
87
  */
113
- static get(target, focus, data = {}) {
114
- return new this.requestClass(target, focus, data, 'GET');
88
+ static get(controller, action, data = {}) {
89
+ return new this.requestClass(controller, action, data, 'GET');
115
90
  }
116
91
  /**
117
92
  *
118
- * @param target
119
- * @param focus
93
+ * @param controller
94
+ * @param action
120
95
  * @param data
121
96
  * @returns {ApiRequest}
122
97
  */
123
- static post(target, focus, data = {}) {
124
- return new this.requestClass(target, focus, data, 'POST');
98
+ static post(controller, action, data = {}) {
99
+ return new this.requestClass(controller, action, data, 'POST');
125
100
  }
126
101
  /**
127
102
  *
128
- * @param target
129
- * @param focus
103
+ * @param controller
104
+ * @param action
130
105
  * @param data
131
106
  * @returns {ApiRequest}
132
107
  */
133
- static put(target, focus, data = {}) {
134
- return new this.requestClass(target, focus, data, 'PUT');
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 target
140
- * @param focus
114
+ * @param controller
115
+ * @param action
141
116
  * @param id
142
117
  * @param data
143
118
  * @return {ApiRequest}
144
119
  */
145
- static delete(target, focus, id, data = {}) {
146
- return new this.requestClass(target, focus, data, 'DELETE').addArg(id);
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
- data.timestamp = new Date().getTime();
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
- 'orWhere',
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() {