@kaspernj/api-maker 1.0.247 → 1.0.249
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/commands-pool.mjs +22 -8
- package/src/destroy-error.mjs +2 -2
- package/src/table/table.jsx +3 -11
package/package.json
CHANGED
package/src/commands-pool.mjs
CHANGED
|
@@ -6,6 +6,7 @@ import Deserializer from "./deserializer.mjs"
|
|
|
6
6
|
import {dig, digg} from "diggerize"
|
|
7
7
|
import FormDataObjectizer from "form-data-objectizer"
|
|
8
8
|
import Serializer from "./serializer.mjs"
|
|
9
|
+
import SessionStatusUpdater from "./session-status-updater.mjs"
|
|
9
10
|
import ValidationError from "./validation-error.mjs"
|
|
10
11
|
import {ValidationErrors} from "./validation-errors.mjs"
|
|
11
12
|
|
|
@@ -89,6 +90,26 @@ export default class ApiMakerCommandsPool {
|
|
|
89
90
|
return Object.keys(this.pool)
|
|
90
91
|
}
|
|
91
92
|
|
|
93
|
+
async sendRequest ({commandSubmitData, url}) {
|
|
94
|
+
let response
|
|
95
|
+
|
|
96
|
+
for (let i = 0; i < 3; i++) {
|
|
97
|
+
if (commandSubmitData.getFilesCount() > 0) {
|
|
98
|
+
response = await Api.requestLocal({path: url, method: "POST", rawData: commandSubmitData.getFormData()})
|
|
99
|
+
} else {
|
|
100
|
+
response = await Api.requestLocal({path: url, method: "POST", data: commandSubmitData.getJsonData()})
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
if (response.success === false && response.type == "invalid_authenticity_token") {
|
|
104
|
+
console.error("Invalid authenticity token - try again")
|
|
105
|
+
await SessionStatusUpdater.current().updateSessionStatus()
|
|
106
|
+
continue;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
return response
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
|
|
92
113
|
async flush () {
|
|
93
114
|
if (this.commandsCount() == 0) {
|
|
94
115
|
return
|
|
@@ -111,14 +132,7 @@ export default class ApiMakerCommandsPool {
|
|
|
111
132
|
|
|
112
133
|
const commandSubmitData = new CommandSubmitData(submitData)
|
|
113
134
|
const url = "/api_maker/commands"
|
|
114
|
-
|
|
115
|
-
let response
|
|
116
|
-
|
|
117
|
-
if (commandSubmitData.getFilesCount() > 0) {
|
|
118
|
-
response = await Api.requestLocal({path: url, method: "POST", rawData: commandSubmitData.getFormData()})
|
|
119
|
-
} else {
|
|
120
|
-
response = await Api.requestLocal({path: url, method: "POST", data: commandSubmitData.getJsonData()})
|
|
121
|
-
}
|
|
135
|
+
const response = await this.sendRequest({commandSubmitData, url})
|
|
122
136
|
|
|
123
137
|
for (const commandId in response.responses) {
|
|
124
138
|
const commandResponse = response.responses[commandId]
|
package/src/destroy-error.mjs
CHANGED
package/src/table/table.jsx
CHANGED
|
@@ -206,17 +206,9 @@ class ApiMakerTable extends React.PureComponent {
|
|
|
206
206
|
const {abilities, modelClass} = this.props
|
|
207
207
|
const ownAbilities = []
|
|
208
208
|
|
|
209
|
-
if (this.props.destroyEnabled)
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
if (this.props.editModelPath) {
|
|
214
|
-
ownAbilities.push("edit")
|
|
215
|
-
}
|
|
216
|
-
|
|
217
|
-
if (this.props.viewModelPath) {
|
|
218
|
-
ownAbilities.push("show")
|
|
219
|
-
}
|
|
209
|
+
if (this.props.destroyEnabled) ownAbilities.push("destroy")
|
|
210
|
+
if (this.props.editModelPath) ownAbilities.push("edit")
|
|
211
|
+
if (this.props.viewModelPath) ownAbilities.push("show")
|
|
220
212
|
|
|
221
213
|
if (ownAbilities.length > 0) {
|
|
222
214
|
const modelClassName = digg(modelClass.modelClassData(), "name")
|