@abtnode/models 1.16.17-beta-3232a7af → 1.16.17-beta-703fb879
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.
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.down = exports.up = void 0;
|
|
4
|
+
const models_1 = require("../../models");
|
|
5
|
+
const models = (0, models_1.getBlockletModels)();
|
|
6
|
+
const up = async ({ context }) => {
|
|
7
|
+
await context.dropTable('user_sessions');
|
|
8
|
+
await context.createTable('user_sessions', models.UserSession.GENESIS_ATTRIBUTES);
|
|
9
|
+
};
|
|
10
|
+
exports.up = up;
|
|
11
|
+
const down = async ({ context }) => {
|
|
12
|
+
await context.dropTable('user_sessions');
|
|
13
|
+
};
|
|
14
|
+
exports.down = down;
|
package/lib/models/index.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ export * from './account';
|
|
|
4
4
|
export * from './certificate';
|
|
5
5
|
export * from './http-challenge';
|
|
6
6
|
export * from './user';
|
|
7
|
+
export * from './user-session';
|
|
7
8
|
export * from './passport';
|
|
8
9
|
export * from './connected-account';
|
|
9
10
|
export * from './session';
|
|
@@ -38,6 +39,7 @@ export declare function getCertificateManagerModels(): {
|
|
|
38
39
|
};
|
|
39
40
|
export declare function getBlockletModels(): {
|
|
40
41
|
User: import("../types").DynamicModel<import("./user").UserState>;
|
|
42
|
+
UserSession: import("../types").DynamicModel<import("./user-session").UserSessionState>;
|
|
41
43
|
Passport: import("../types").DynamicModel<import("./passport").PassportState>;
|
|
42
44
|
ConnectedAccount: import("../types").DynamicModel<import("./connected-account").ConnectedAccountState>;
|
|
43
45
|
Session: import("../types").DynamicModel<import("./session").SessionState>;
|
|
@@ -61,6 +63,7 @@ export declare function getServerModels(): {
|
|
|
61
63
|
Session: import("../types").DynamicModel<import("./session").SessionState>;
|
|
62
64
|
Site: import("../types").DynamicModel<import("./site").SiteState>;
|
|
63
65
|
User: import("../types").DynamicModel<import("./user").UserState>;
|
|
66
|
+
UserSession: import("../types").DynamicModel<import("./user-session").UserSessionState>;
|
|
64
67
|
Passport: import("../types").DynamicModel<import("./passport").PassportState>;
|
|
65
68
|
ConnectedAccount: import("../types").DynamicModel<import("./connected-account").ConnectedAccountState>;
|
|
66
69
|
WebHook: import("../types").DynamicModel<import("./webhook").WebHookState>;
|
package/lib/models/index.js
CHANGED
|
@@ -44,11 +44,13 @@ const tag_1 = require("./tag");
|
|
|
44
44
|
const tagging_1 = require("./tagging");
|
|
45
45
|
const project_1 = require("./project");
|
|
46
46
|
const release_1 = require("./release");
|
|
47
|
+
const user_session_1 = require("./user-session");
|
|
47
48
|
__exportStar(require("./message"), exports);
|
|
48
49
|
__exportStar(require("./account"), exports);
|
|
49
50
|
__exportStar(require("./certificate"), exports);
|
|
50
51
|
__exportStar(require("./http-challenge"), exports);
|
|
51
52
|
__exportStar(require("./user"), exports);
|
|
53
|
+
__exportStar(require("./user-session"), exports);
|
|
52
54
|
__exportStar(require("./passport"), exports);
|
|
53
55
|
__exportStar(require("./connected-account"), exports);
|
|
54
56
|
__exportStar(require("./session"), exports);
|
|
@@ -116,6 +118,7 @@ exports.getCertificateManagerModels = getCertificateManagerModels;
|
|
|
116
118
|
function getBlockletModels() {
|
|
117
119
|
const models = {
|
|
118
120
|
User: (0, user_1.createUserModel)(),
|
|
121
|
+
UserSession: (0, user_session_1.createUserSessionModel)(),
|
|
119
122
|
Passport: (0, passport_1.createPassportModel)(),
|
|
120
123
|
ConnectedAccount: (0, connected_account_1.createConnectedAccountModel)(),
|
|
121
124
|
Session: (0, session_1.createSessionModel)(),
|
|
@@ -143,6 +146,7 @@ function getServerModels() {
|
|
|
143
146
|
Session: (0, session_1.createSessionModel)(),
|
|
144
147
|
Site: (0, site_1.createSiteModel)(),
|
|
145
148
|
User: (0, user_1.createUserModel)(),
|
|
149
|
+
UserSession: (0, user_session_1.createUserSessionModel)(),
|
|
146
150
|
Passport: (0, passport_1.createPassportModel)(),
|
|
147
151
|
ConnectedAccount: (0, connected_account_1.createConnectedAccountModel)(),
|
|
148
152
|
WebHook: (0, webhook_1.createWebHookModel)(),
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { DynamicModel } from '../types';
|
|
2
|
+
export type UserSessionState = {
|
|
3
|
+
id: string;
|
|
4
|
+
visitorId: string;
|
|
5
|
+
userDid: string;
|
|
6
|
+
ua: string;
|
|
7
|
+
lastLoginIp: Date;
|
|
8
|
+
createdAt: Date;
|
|
9
|
+
updatedAt: Date;
|
|
10
|
+
};
|
|
11
|
+
export declare function createUserSessionModel(): DynamicModel<UserSessionState>;
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createUserSessionModel = void 0;
|
|
4
|
+
const sequelize_1 = require("sequelize");
|
|
5
|
+
const util_1 = require("../util");
|
|
6
|
+
function createUserSessionModel() {
|
|
7
|
+
var _a;
|
|
8
|
+
return _a = class UserSession extends sequelize_1.Model {
|
|
9
|
+
static initialize(sequelize) {
|
|
10
|
+
this.init({
|
|
11
|
+
...this.GENESIS_ATTRIBUTES,
|
|
12
|
+
}, {
|
|
13
|
+
sequelize,
|
|
14
|
+
indexes: [{ fields: ['visitorId'] }, { fields: ['userDid'] }],
|
|
15
|
+
modelName: 'UserSession',
|
|
16
|
+
tableName: 'user_sessions',
|
|
17
|
+
timestamps: true,
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
static associate(models) {
|
|
21
|
+
UserSession.belongsTo(models.User, {
|
|
22
|
+
foreignKey: 'userDid',
|
|
23
|
+
targetKey: 'did',
|
|
24
|
+
as: 'user',
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
_a.GENESIS_ATTRIBUTES = {
|
|
29
|
+
id: {
|
|
30
|
+
type: sequelize_1.DataTypes.STRING(40),
|
|
31
|
+
primaryKey: true,
|
|
32
|
+
allowNull: false,
|
|
33
|
+
defaultValue: util_1.generateId,
|
|
34
|
+
},
|
|
35
|
+
visitorId: {
|
|
36
|
+
type: sequelize_1.DataTypes.STRING(40),
|
|
37
|
+
index: true,
|
|
38
|
+
allowNull: false,
|
|
39
|
+
defaultValue: util_1.generateId,
|
|
40
|
+
},
|
|
41
|
+
appPid: {
|
|
42
|
+
type: sequelize_1.DataTypes.STRING(40),
|
|
43
|
+
index: true,
|
|
44
|
+
},
|
|
45
|
+
userDid: {
|
|
46
|
+
type: sequelize_1.DataTypes.STRING(64),
|
|
47
|
+
index: true,
|
|
48
|
+
allowNull: false,
|
|
49
|
+
references: {
|
|
50
|
+
model: 'users',
|
|
51
|
+
key: 'did',
|
|
52
|
+
},
|
|
53
|
+
},
|
|
54
|
+
ua: {
|
|
55
|
+
type: sequelize_1.DataTypes.STRING(512),
|
|
56
|
+
},
|
|
57
|
+
passportId: {
|
|
58
|
+
type: sequelize_1.DataTypes.STRING(40),
|
|
59
|
+
allowNull: true,
|
|
60
|
+
},
|
|
61
|
+
status: {
|
|
62
|
+
// disabled | online | offline
|
|
63
|
+
type: sequelize_1.DataTypes.STRING(16),
|
|
64
|
+
allowNull: false,
|
|
65
|
+
defaultValue: 'online',
|
|
66
|
+
},
|
|
67
|
+
lastLoginIp: {
|
|
68
|
+
type: sequelize_1.DataTypes.STRING(16),
|
|
69
|
+
},
|
|
70
|
+
extra: {
|
|
71
|
+
type: sequelize_1.DataTypes.JSON,
|
|
72
|
+
},
|
|
73
|
+
createdAt: {
|
|
74
|
+
type: sequelize_1.DataTypes.DATE,
|
|
75
|
+
defaultValue: sequelize_1.DataTypes.NOW,
|
|
76
|
+
},
|
|
77
|
+
updatedAt: {
|
|
78
|
+
type: sequelize_1.DataTypes.DATE,
|
|
79
|
+
defaultValue: sequelize_1.DataTypes.NOW,
|
|
80
|
+
},
|
|
81
|
+
},
|
|
82
|
+
_a;
|
|
83
|
+
}
|
|
84
|
+
exports.createUserSessionModel = createUserSessionModel;
|
package/lib/models/user.js
CHANGED
|
@@ -21,6 +21,12 @@ function createUserModel() {
|
|
|
21
21
|
});
|
|
22
22
|
}
|
|
23
23
|
static associate(models) {
|
|
24
|
+
User.hasMany(models.UserSession, {
|
|
25
|
+
foreignKey: 'userDid',
|
|
26
|
+
sourceKey: 'did',
|
|
27
|
+
onDelete: 'CASCADE',
|
|
28
|
+
as: 'userSessions',
|
|
29
|
+
});
|
|
24
30
|
User.hasMany(models.Passport, {
|
|
25
31
|
foreignKey: 'userDid',
|
|
26
32
|
onDelete: 'CASCADE',
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@abtnode/models",
|
|
3
|
-
"version": "1.16.17-beta-
|
|
3
|
+
"version": "1.16.17-beta-703fb879",
|
|
4
4
|
"description": "Sequelize models for blocklet server and blocklet service",
|
|
5
5
|
"homepage": "https://github.com/ArcBlock/blocklet-server#readme",
|
|
6
6
|
"publishConfig": {
|
|
@@ -32,9 +32,9 @@
|
|
|
32
32
|
"url": "https://github.com/ArcBlock/blocklet-server/issues"
|
|
33
33
|
},
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"@abtnode/logger": "1.16.17-beta-
|
|
36
|
-
"@abtnode/types": "1.16.17-beta-
|
|
37
|
-
"@blocklet/constant": "1.16.17-beta-
|
|
35
|
+
"@abtnode/logger": "1.16.17-beta-703fb879",
|
|
36
|
+
"@abtnode/types": "1.16.17-beta-703fb879",
|
|
37
|
+
"@blocklet/constant": "1.16.17-beta-703fb879",
|
|
38
38
|
"@nedb/core": "^2.1.5",
|
|
39
39
|
"lodash.clonedeep": "^4.5.0",
|
|
40
40
|
"lodash.get": "^4.4.2",
|
|
@@ -55,5 +55,5 @@
|
|
|
55
55
|
"typescript": "^5.0.4"
|
|
56
56
|
},
|
|
57
57
|
"resolutions": {},
|
|
58
|
-
"gitHead": "
|
|
58
|
+
"gitHead": "97d63c671d823076e58b994107e10866367edd5d"
|
|
59
59
|
}
|