@spinajs/orm 2.0.521 → 2.0.522
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/cjs/exceptions.d.ts +7 -0
- package/lib/cjs/exceptions.d.ts.map +1 -1
- package/lib/cjs/exceptions.js +11 -1
- package/lib/cjs/exceptions.js.map +1 -1
- package/lib/cjs/fp.d.ts +6 -5
- package/lib/cjs/fp.d.ts.map +1 -1
- package/lib/cjs/fp.js +12 -59
- package/lib/cjs/fp.js.map +1 -1
- package/lib/cjs/helpers.d.ts +40 -0
- package/lib/cjs/helpers.d.ts.map +1 -0
- package/lib/cjs/helpers.js +90 -0
- package/lib/cjs/helpers.js.map +1 -0
- package/lib/cjs/index.d.ts +1 -0
- package/lib/cjs/index.d.ts.map +1 -1
- package/lib/cjs/index.js +1 -0
- package/lib/cjs/index.js.map +1 -1
- package/lib/mjs/exceptions.d.ts +7 -0
- package/lib/mjs/exceptions.d.ts.map +1 -1
- package/lib/mjs/exceptions.js +9 -0
- package/lib/mjs/exceptions.js.map +1 -1
- package/lib/mjs/fp.d.ts +6 -5
- package/lib/mjs/fp.d.ts.map +1 -1
- package/lib/mjs/fp.js +11 -54
- package/lib/mjs/fp.js.map +1 -1
- package/lib/mjs/helpers.d.ts +40 -0
- package/lib/mjs/helpers.d.ts.map +1 -0
- package/lib/mjs/helpers.js +80 -0
- package/lib/mjs/helpers.js.map +1 -0
- package/lib/mjs/index.d.ts +1 -0
- package/lib/mjs/index.d.ts.map +1 -1
- package/lib/mjs/index.js +1 -0
- package/lib/mjs/index.js.map +1 -1
- package/lib/tsconfig.cjs.tsbuildinfo +1 -1
- package/lib/tsconfig.mjs.tsbuildinfo +1 -1
- package/package.json +7 -7
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import _ from 'lodash';
|
|
2
|
+
import { NoRowsAffected } from './exceptions.js';
|
|
3
|
+
/**
|
|
4
|
+
*
|
|
5
|
+
* Gets entity from db
|
|
6
|
+
*
|
|
7
|
+
* @param idOrEntity - pkey or entity
|
|
8
|
+
* @param c - entity class constructor
|
|
9
|
+
* @param fresh - if entity, should it refresh from DB ?
|
|
10
|
+
* @returns
|
|
11
|
+
*/
|
|
12
|
+
export async function getEntity(idOrEntity, c, fresh) {
|
|
13
|
+
if (_.isNumber(idOrEntity)) {
|
|
14
|
+
return c.get(idOrEntity);
|
|
15
|
+
}
|
|
16
|
+
if (fresh) {
|
|
17
|
+
return idOrEntity.fresh();
|
|
18
|
+
}
|
|
19
|
+
return idOrEntity;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Update model with data
|
|
23
|
+
*
|
|
24
|
+
* @param model model to update
|
|
25
|
+
* @param data data to update
|
|
26
|
+
* @returns
|
|
27
|
+
*/
|
|
28
|
+
export async function updateModel(model, data) {
|
|
29
|
+
// A clean model short-circuits to { RowsAffected: 0 } - that is a no-op success,
|
|
30
|
+
// not a failure, so we always resolve the model.
|
|
31
|
+
await model.update(data);
|
|
32
|
+
return model;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
*
|
|
36
|
+
* Insert model into database
|
|
37
|
+
*
|
|
38
|
+
* @param model model or models to insert
|
|
39
|
+
* @param behaviour insert behaviour
|
|
40
|
+
* @returns
|
|
41
|
+
*/
|
|
42
|
+
export async function insertModel(model, behaviour) {
|
|
43
|
+
if (_.isArray(model)) {
|
|
44
|
+
if (model.length === 0) {
|
|
45
|
+
return model;
|
|
46
|
+
}
|
|
47
|
+
const res = await model[0].constructor.insert(model, behaviour);
|
|
48
|
+
// `uuid` and `assigned` primary keys report LastInsertId 0 on a successful insert, so
|
|
49
|
+
// only RowsAffected signals failure. See @Primary({ generated }) in the ORM docs.
|
|
50
|
+
if (res.RowsAffected <= 0) {
|
|
51
|
+
throw new NoRowsAffected();
|
|
52
|
+
}
|
|
53
|
+
return model;
|
|
54
|
+
}
|
|
55
|
+
const res = await model.insert(behaviour);
|
|
56
|
+
if (res.RowsAffected <= 0) {
|
|
57
|
+
throw new NoRowsAffected();
|
|
58
|
+
}
|
|
59
|
+
return model;
|
|
60
|
+
}
|
|
61
|
+
export async function insertOrUpdateModel(model) {
|
|
62
|
+
// insertOrUpdate on a clean model is a no-op success (RowsAffected 0) - resolve the model.
|
|
63
|
+
await model.insertOrUpdate();
|
|
64
|
+
return model;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
*
|
|
68
|
+
* Delete model from database
|
|
69
|
+
*
|
|
70
|
+
* @param model model to delete
|
|
71
|
+
* @returns
|
|
72
|
+
*/
|
|
73
|
+
export async function deleteModel(model) {
|
|
74
|
+
const res = (await model.destroy());
|
|
75
|
+
if (res.RowsAffected <= 0) {
|
|
76
|
+
throw new NoRowsAffected();
|
|
77
|
+
}
|
|
78
|
+
return model;
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":"AAGA,OAAO,CAAC,MAAM,QAAQ,CAAC;AACvB,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAsB,UAAsB,EAAE,CAAiB,EAAE,KAAe;IAC7G,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3B,OAAQ,CAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,UAAU,CAAC,KAAK,EAAgB,CAAC;IAC1C,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAsB,KAAQ,EAAE,IAAiB;IAChF,iFAAiF;IACjF,iDAAiD;IACjD,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACzB,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAsB,KAAc,EAAE,SAA2B;IAChG,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,GAAG,GAAkB,MAAO,KAAK,CAAC,CAAC,CAAC,CAAC,WAAgC,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAErG,sFAAsF;QACtF,kFAAkF;QAClF,IAAI,GAAG,CAAC,YAAY,IAAI,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,cAAc,EAAE,CAAC;QAC7B,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,GAAG,GAAkB,MAAM,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACzD,IAAI,GAAG,CAAC,YAAY,IAAI,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,cAAc,EAAE,CAAC;IAC7B,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAsB,KAAQ;IACrE,2FAA2F;IAC3F,MAAM,KAAK,CAAC,cAAc,EAAE,CAAC;IAC7B,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAsB,KAAQ;IAC7D,MAAM,GAAG,GAAG,CAAC,MAAM,KAAK,CAAC,OAAO,EAAE,CAAkB,CAAC;IACrD,IAAI,GAAG,CAAC,YAAY,IAAI,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,cAAc,EAAE,CAAC;IAC7B,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
|
package/lib/mjs/index.d.ts
CHANGED
|
@@ -38,6 +38,7 @@ export * from './unit-of-work.js';
|
|
|
38
38
|
export * from './driver.js';
|
|
39
39
|
export * from './quoting.js';
|
|
40
40
|
export * from './wrappers.js';
|
|
41
|
+
export * from './helpers.js';
|
|
41
42
|
export * from './fp.js';
|
|
42
43
|
export * from './bootstrap.js';
|
|
43
44
|
export * from './metadata.js';
|
package/lib/mjs/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC"}
|
package/lib/mjs/index.js
CHANGED
|
@@ -38,6 +38,7 @@ export * from './unit-of-work.js';
|
|
|
38
38
|
export * from './driver.js';
|
|
39
39
|
export * from './quoting.js';
|
|
40
40
|
export * from './wrappers.js';
|
|
41
|
+
export * from './helpers.js';
|
|
41
42
|
export * from './fp.js';
|
|
42
43
|
export * from './bootstrap.js';
|
|
43
44
|
export * from './metadata.js';
|
package/lib/mjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAE9B,mFAAmF;AACnF,kDAAkD;AAClD,sFAAsF"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAE9B,mFAAmF;AACnF,kDAAkD;AAClD,sFAAsF"}
|