express-ext 0.4.9 → 0.4.11
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/lib/edit.js +8 -2
- package/lib/index.js +47 -0
- package/package.json +1 -1
- package/src/edit.ts +8 -2
- package/src/index.ts +45 -0
package/lib/edit.js
CHANGED
|
@@ -47,7 +47,10 @@ function create(res, obj, insert, log, returnNumber) {
|
|
|
47
47
|
} else if (Array.isArray(result)) {
|
|
48
48
|
res.status(422).json(result).end()
|
|
49
49
|
} else {
|
|
50
|
-
res
|
|
50
|
+
res
|
|
51
|
+
.status(201)
|
|
52
|
+
.json(returnNumber ? result : obj)
|
|
53
|
+
.end()
|
|
51
54
|
}
|
|
52
55
|
})
|
|
53
56
|
.catch(function (err) {
|
|
@@ -72,7 +75,10 @@ function update(res, obj, save, log, returnNumber) {
|
|
|
72
75
|
} else if (Array.isArray(result)) {
|
|
73
76
|
res.status(422).json(result).end()
|
|
74
77
|
} else {
|
|
75
|
-
res
|
|
78
|
+
res
|
|
79
|
+
.status(200)
|
|
80
|
+
.json(returnNumber ? result : obj)
|
|
81
|
+
.end()
|
|
76
82
|
}
|
|
77
83
|
})
|
|
78
84
|
.catch(function (err) {
|
package/lib/index.js
CHANGED
|
@@ -347,6 +347,45 @@ function toMap(errors) {
|
|
|
347
347
|
return errorMap
|
|
348
348
|
}
|
|
349
349
|
exports.toMap = toMap
|
|
350
|
+
function save(isEdit, res, obj, service, log, returnNumber) {
|
|
351
|
+
if (!isEdit) {
|
|
352
|
+
service
|
|
353
|
+
.create(obj)
|
|
354
|
+
.then(function (result) {
|
|
355
|
+
if (Array.isArray(result)) {
|
|
356
|
+
res.status(422).json(result).end()
|
|
357
|
+
} else if (typeof result === "number" && result <= 0) {
|
|
358
|
+
res.status(409).json(result).end()
|
|
359
|
+
} else {
|
|
360
|
+
res.status(201).json(obj).end()
|
|
361
|
+
}
|
|
362
|
+
})
|
|
363
|
+
.catch(function (err) {
|
|
364
|
+
return http_1.handleError(err, res, log)
|
|
365
|
+
})
|
|
366
|
+
} else {
|
|
367
|
+
service
|
|
368
|
+
.update(obj)
|
|
369
|
+
.then(function (result) {
|
|
370
|
+
if (result === 0) {
|
|
371
|
+
res.status(410).end()
|
|
372
|
+
} else if (Array.isArray(result)) {
|
|
373
|
+
res.status(422).json(result).end()
|
|
374
|
+
} else if (typeof result === "number" && result < 0) {
|
|
375
|
+
res.status(409).json(result).end()
|
|
376
|
+
} else {
|
|
377
|
+
res
|
|
378
|
+
.status(200)
|
|
379
|
+
.json(returnNumber ? result : obj)
|
|
380
|
+
.end()
|
|
381
|
+
}
|
|
382
|
+
})
|
|
383
|
+
.catch(function (err) {
|
|
384
|
+
return http_1.handleError(err, res, log)
|
|
385
|
+
})
|
|
386
|
+
}
|
|
387
|
+
}
|
|
388
|
+
exports.save = save
|
|
350
389
|
var map = {
|
|
351
390
|
"&": "&",
|
|
352
391
|
"<": "<",
|
|
@@ -361,6 +400,14 @@ function escapeHTML(input) {
|
|
|
361
400
|
})
|
|
362
401
|
}
|
|
363
402
|
exports.escapeHTML = escapeHTML
|
|
403
|
+
function generateChip(v) {
|
|
404
|
+
return '<div class="chip">' + escapeHTML(v) + '<span class="close" onclick="removeChip(event)"></span></div>'
|
|
405
|
+
}
|
|
406
|
+
exports.generateChip = generateChip
|
|
407
|
+
function generateChips(v) {
|
|
408
|
+
return !v ? "" : "" + v.map(generateChip).join("")
|
|
409
|
+
}
|
|
410
|
+
exports.generateChips = generateChips
|
|
364
411
|
var s = "string"
|
|
365
412
|
var o = "object"
|
|
366
413
|
function escape(obj) {
|
package/package.json
CHANGED
package/src/edit.ts
CHANGED
|
@@ -83,7 +83,10 @@ export function create<T>(
|
|
|
83
83
|
} else if (Array.isArray(result)) {
|
|
84
84
|
res.status(422).json(result).end()
|
|
85
85
|
} else {
|
|
86
|
-
res
|
|
86
|
+
res
|
|
87
|
+
.status(201)
|
|
88
|
+
.json(returnNumber ? result : obj)
|
|
89
|
+
.end()
|
|
87
90
|
}
|
|
88
91
|
})
|
|
89
92
|
.catch((err) => handleError(err, res, log))
|
|
@@ -111,7 +114,10 @@ export function update<T>(
|
|
|
111
114
|
} else if (Array.isArray(result)) {
|
|
112
115
|
res.status(422).json(result).end()
|
|
113
116
|
} else {
|
|
114
|
-
res
|
|
117
|
+
res
|
|
118
|
+
.status(200)
|
|
119
|
+
.json(returnNumber ? result : obj)
|
|
120
|
+
.end()
|
|
115
121
|
}
|
|
116
122
|
})
|
|
117
123
|
.catch((err) => handleError(err, res, log))
|
package/src/index.ts
CHANGED
|
@@ -332,6 +332,45 @@ export function toMap(errors: ErrorMessage[]): ErrorMap {
|
|
|
332
332
|
}
|
|
333
333
|
return errorMap
|
|
334
334
|
}
|
|
335
|
+
|
|
336
|
+
interface SaveService<T> {
|
|
337
|
+
create(obj: T, ctx?: any): Promise<number | T | ErrorMessage[]>
|
|
338
|
+
update(obj: T, ctx?: any): Promise<number | T | ErrorMessage[]>
|
|
339
|
+
}
|
|
340
|
+
export function save<T>(isEdit: boolean, res: Response, obj: T, service: SaveService<T>, log: (msg: string, ctx?: any) => void, returnNumber?: boolean) {
|
|
341
|
+
if (!isEdit) {
|
|
342
|
+
service
|
|
343
|
+
.create(obj)
|
|
344
|
+
.then((result) => {
|
|
345
|
+
if (Array.isArray(result)) {
|
|
346
|
+
res.status(422).json(result).end()
|
|
347
|
+
} else if (typeof result === "number" && result <= 0) {
|
|
348
|
+
res.status(409).json(result).end()
|
|
349
|
+
} else {
|
|
350
|
+
res.status(201).json(obj).end()
|
|
351
|
+
}
|
|
352
|
+
})
|
|
353
|
+
.catch((err) => handleError(err, res, log))
|
|
354
|
+
} else {
|
|
355
|
+
service
|
|
356
|
+
.update(obj)
|
|
357
|
+
.then((result) => {
|
|
358
|
+
if (result === 0) {
|
|
359
|
+
res.status(410).end()
|
|
360
|
+
} else if (Array.isArray(result)) {
|
|
361
|
+
res.status(422).json(result).end()
|
|
362
|
+
} else if (typeof result === "number" && result < 0) {
|
|
363
|
+
res.status(409).json(result).end()
|
|
364
|
+
} else {
|
|
365
|
+
res
|
|
366
|
+
.status(200)
|
|
367
|
+
.json(returnNumber ? result : obj)
|
|
368
|
+
.end()
|
|
369
|
+
}
|
|
370
|
+
})
|
|
371
|
+
.catch((err) => handleError(err, res, log))
|
|
372
|
+
}
|
|
373
|
+
}
|
|
335
374
|
const map: StringMap = {
|
|
336
375
|
"&": "&",
|
|
337
376
|
"<": "<",
|
|
@@ -345,6 +384,12 @@ export function escapeHTML(input: string): string {
|
|
|
345
384
|
return map[char]
|
|
346
385
|
})
|
|
347
386
|
}
|
|
387
|
+
export function generateChip(v: string): string {
|
|
388
|
+
return `<div class="chip">${escapeHTML(v)}<span class="close" onclick="removeChip(event)"></span></div>`
|
|
389
|
+
}
|
|
390
|
+
export function generateChips(v?: string[] | null): string {
|
|
391
|
+
return !v ? "" : `${v.map(generateChip).join("")}`
|
|
392
|
+
}
|
|
348
393
|
|
|
349
394
|
const s = "string"
|
|
350
395
|
const o = "object"
|