express-ext 0.4.10 → 0.4.12

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 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.status(201).json(result).end()
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.status(200).json(result).end()
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
  "&": "&amp;",
352
391
  "<": "&lt;",
@@ -361,12 +400,20 @@ function escapeHTML(input) {
361
400
  })
362
401
  }
363
402
  exports.escapeHTML = escapeHTML
364
- function generateChip(v) {
365
- return '<div class="chip">' + escapeHTML(v) + '<span class="close" onclick="removeChip(event)"></span></div>'
403
+ function generateChip(v, noClose) {
404
+ var s = noClose ? "" : '<span class="close" onclick="removeChip(event)"></span>'
405
+ return '<div class="chip">' + escapeHTML(v) + s + "</div>"
366
406
  }
367
407
  exports.generateChip = generateChip
368
- function generateChips(v) {
369
- return !v ? "" : "" + v.map(generateChip).join("")
408
+ function generateChips(v, noClose) {
409
+ return !v
410
+ ? ""
411
+ : "" +
412
+ v
413
+ .map(function (s) {
414
+ return generateChip(s, noClose)
415
+ })
416
+ .join("")
370
417
  }
371
418
  exports.generateChips = generateChips
372
419
  var s = "string"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "express-ext",
3
- "version": "0.4.10",
3
+ "version": "0.4.12",
4
4
  "description": "express-ext",
5
5
  "main": "./lib/index.js",
6
6
  "types": "./src/index.ts",
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.status(201).json(result).end()
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.status(200).json(result).end()
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
  "&": "&amp;",
337
376
  "<": "&lt;",
@@ -345,11 +384,12 @@ export function escapeHTML(input: string): string {
345
384
  return map[char]
346
385
  })
347
386
  }
348
- export function generateChip(v: string): string {
349
- return `<div class="chip">${escapeHTML(v)}<span class="close" onclick="removeChip(event)"></span></div>`
387
+ export function generateChip(v: string, noClose?: boolean): string {
388
+ const s = noClose ? "" : `<span class="close" onclick="removeChip(event)"></span>`
389
+ return `<div class="chip">${escapeHTML(v)}${s}</div>`
350
390
  }
351
- export function generateChips(v?: string[] | null): string {
352
- return !v ? "" : `${v.map(generateChip).join("")}`
391
+ export function generateChips(v?: string[] | null, noClose?: boolean): string {
392
+ return !v ? "" : `${v.map((s) => generateChip(s, noClose)).join("")}`
353
393
  }
354
394
 
355
395
  const s = "string"