vona-module-test-vona 5.0.55 → 5.0.57
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/dist/.metadata/index.d.ts +1 -0
- package/dist/controller/order.d.ts +4 -4
- package/dist/index.d.ts +1 -0
- package/dist/index.js +2 -1
- package/dist/types/index.d.ts +5 -0
- package/package.json +1 -1
- package/src/.metadata/index.ts +1 -0
- package/src/index.ts +1 -0
- package/src/model/user.ts +2 -0
- package/src/types/index.ts +6 -0
- package/test/instance.test.ts +26 -0
|
@@ -404,6 +404,7 @@ declare module 'vona-module-test-vona' {
|
|
|
404
404
|
relations: {
|
|
405
405
|
posts: IModelRelationHasMany<ModelPost, 'userId', false, 'id' | 'title', ['test-vona:user', ModelPostContent], undefined, undefined>;
|
|
406
406
|
roles: IModelRelationBelongsToMany<'test-vona:roleUser', 'test-vona:role', false, 'id' | 'name', undefined, undefined, undefined>;
|
|
407
|
+
orders: IModelRelationHasMany<ModelOrder, 'userId', false, undefined, undefined, undefined, undefined>;
|
|
407
408
|
};
|
|
408
409
|
}
|
|
409
410
|
interface IModelOptionsUserStats {
|
|
@@ -61,14 +61,14 @@ export declare class ControllerOrder extends BeanBase {
|
|
|
61
61
|
joins?: import("vona-module-a-orm").IModelSelectParamsJoin<import("vona-module-test-vona").EntityOrder, import("vona").TypeRecordValues<{
|
|
62
62
|
user: "testVonaUser";
|
|
63
63
|
products: "testVonaProduct";
|
|
64
|
-
}>, import("vona
|
|
64
|
+
}>, import("vona").TypeRecordValues<{
|
|
65
65
|
user: "testVonaUser.name" | "testVonaUser.id" | "testVonaUser.iid" | "testVonaUser.createdAt" | "testVonaUser.updatedAt" | "testVonaUser.deleted" | "testVonaUser.age" | "testVonaUser.scores";
|
|
66
66
|
products: "testVonaProduct.name" | "testVonaProduct.id" | "testVonaProduct.iid" | "testVonaProduct.createdAt" | "testVonaProduct.updatedAt" | "testVonaProduct.deleted" | "testVonaProduct.price" | "testVonaProduct.quantity" | "testVonaProduct.amount" | "testVonaProduct.orderId";
|
|
67
|
-
}>>[] | undefined;
|
|
68
|
-
orders?: import("vona-module-a-orm").IModelSelectParamsOrder<import("vona
|
|
67
|
+
}> | import("vona-module-a-orm").TypeEntityTableColumnNamesOfModelSelf<ModelOrder>>[] | undefined;
|
|
68
|
+
orders?: import("vona-module-a-orm").IModelSelectParamsOrder<import("vona").TypeRecordValues<{
|
|
69
69
|
user: "testVonaUser.name" | "testVonaUser.id" | "testVonaUser.iid" | "testVonaUser.createdAt" | "testVonaUser.updatedAt" | "testVonaUser.deleted" | "testVonaUser.age" | "testVonaUser.scores";
|
|
70
70
|
products: "testVonaProduct.name" | "testVonaProduct.id" | "testVonaProduct.iid" | "testVonaProduct.createdAt" | "testVonaProduct.updatedAt" | "testVonaProduct.deleted" | "testVonaProduct.price" | "testVonaProduct.quantity" | "testVonaProduct.amount" | "testVonaProduct.orderId";
|
|
71
|
-
}>>[] | undefined;
|
|
71
|
+
}> | import("vona-module-a-orm").TypeEntityTableColumnNamesOfModelSelf<ModelOrder>>[] | undefined;
|
|
72
72
|
limit?: number;
|
|
73
73
|
offset?: number;
|
|
74
74
|
}, undefined, undefined, undefined, 50>>;
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -550,7 +550,8 @@ let ModelUser = (_dec$16 = Model({
|
|
|
550
550
|
}, ['test-vona:user', ModelPostContent]),
|
|
551
551
|
roles: $relation.belongsToMany('test-vona:roleUser', 'test-vona:role', 'userId', 'roleId', {
|
|
552
552
|
columns: ['id', 'name']
|
|
553
|
-
})
|
|
553
|
+
}),
|
|
554
|
+
orders: $relation.hasMany(() => ModelOrder, 'userId')
|
|
554
555
|
},
|
|
555
556
|
cache: {
|
|
556
557
|
modelsClear: [() => ModelUserStats, () => ModelUserStatsGroup]
|
package/package.json
CHANGED
package/src/.metadata/index.ts
CHANGED
|
@@ -491,6 +491,7 @@ export interface IModelOptionsUser {
|
|
|
491
491
|
relations: {
|
|
492
492
|
posts: IModelRelationHasMany<ModelPost, 'userId', false, 'id'|'title', ['test-vona:user',ModelPostContent], undefined, undefined>;
|
|
493
493
|
roles: IModelRelationBelongsToMany<'test-vona:roleUser', 'test-vona:role', false, 'id'|'name',undefined,undefined,undefined>;
|
|
494
|
+
orders: IModelRelationHasMany<ModelOrder, 'userId', false, undefined, undefined, undefined, undefined>;
|
|
494
495
|
};
|
|
495
496
|
}
|
|
496
497
|
export interface IModelOptionsUserStats {
|
package/src/index.ts
CHANGED
package/src/model/user.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { IDecoratorModelOptions } from 'vona-module-a-orm';
|
|
2
2
|
import { $relation, BeanModelBase, Model } from 'vona-module-a-orm';
|
|
3
3
|
import { EntityUser } from '../entity/user.ts';
|
|
4
|
+
import { ModelOrder } from './order.ts';
|
|
4
5
|
import { ModelPost } from './post.ts';
|
|
5
6
|
import { ModelPostContent } from './postContent.ts';
|
|
6
7
|
import { ModelUserStats } from './userStats.ts';
|
|
@@ -13,6 +14,7 @@ export interface IModelOptionsUser extends IDecoratorModelOptions<EntityUser> {}
|
|
|
13
14
|
relations: {
|
|
14
15
|
posts: $relation.hasMany(() => ModelPost, 'userId', { columns: ['id', 'title'] }, ['test-vona:user', ModelPostContent]),
|
|
15
16
|
roles: $relation.belongsToMany('test-vona:roleUser', 'test-vona:role', 'userId', 'roleId', { columns: ['id', 'name'] }),
|
|
17
|
+
orders: $relation.hasMany(() => ModelOrder, 'userId'),
|
|
16
18
|
},
|
|
17
19
|
cache: {
|
|
18
20
|
modelsClear: [() => ModelUserStats, () => ModelUserStatsGroup],
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import assert from 'node:assert';
|
|
2
|
+
import { describe, it } from 'node:test';
|
|
3
|
+
import { app } from 'vona-mock';
|
|
4
|
+
|
|
5
|
+
describe('instance.test.ts', () => {
|
|
6
|
+
it('action:instance:shareTest', async () => {
|
|
7
|
+
await app.bean.executor.mockCtx(async () => {
|
|
8
|
+
const scopeDatabase = app.bean.scope('a-orm');
|
|
9
|
+
const defaultClientName = scopeDatabase.service.database.getDefaultClientName();
|
|
10
|
+
assert.equal(app.ctx.instanceName, 'shareTest');
|
|
11
|
+
assert.equal(app.ctx.instance.name, 'shareTest');
|
|
12
|
+
assert.equal(app.bean.database.current.clientName, defaultClientName);
|
|
13
|
+
assert.equal(['pg', 'mysql'].includes(app.bean.database.current.clientName), true);
|
|
14
|
+
}, { instanceName: 'shareTest' as any });
|
|
15
|
+
});
|
|
16
|
+
it('action:instance:isolateTest', async () => {
|
|
17
|
+
await app.bean.executor.mockCtx(async () => {
|
|
18
|
+
const scopeDatabase = app.bean.scope('a-orm');
|
|
19
|
+
const defaultClientName = scopeDatabase.service.database.getDefaultClientName();
|
|
20
|
+
assert.equal(app.ctx.instanceName, 'isolateTest');
|
|
21
|
+
assert.equal(app.ctx.instance.name, 'isolateTest');
|
|
22
|
+
assert.equal(app.bean.database.current.clientName, defaultClientName);
|
|
23
|
+
assert.equal(app.bean.database.current.clientName, 'isolateTest');
|
|
24
|
+
}, { instanceName: 'isolateTest' as any });
|
|
25
|
+
});
|
|
26
|
+
});
|