@abtnode/models 1.16.16 → 1.16.17-beta-7ec31a60
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/migrations/blocklet/20230912000000-project.js +15 -0
- package/lib/models/index.d.ts +2 -0
- package/lib/models/index.js +4 -0
- package/lib/models/project.d.ts +17 -0
- package/lib/models/project.js +61 -0
- package/lib/models/release.d.ts +19 -0
- package/lib/models/release.js +67 -0
- package/lib/util.d.ts +1 -0
- package/lib/util.js +10 -1
- package/package.json +5 -5
|
@@ -0,0 +1,15 @@
|
|
|
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.createTable('projects', models.Project.GENESIS_ATTRIBUTES);
|
|
8
|
+
await context.createTable('releases', models.Release.GENESIS_ATTRIBUTES);
|
|
9
|
+
};
|
|
10
|
+
exports.up = up;
|
|
11
|
+
const down = async ({ context }) => {
|
|
12
|
+
await context.dropTable('projects');
|
|
13
|
+
await context.dropTable('releases');
|
|
14
|
+
};
|
|
15
|
+
exports.down = down;
|
package/lib/models/index.d.ts
CHANGED
|
@@ -44,6 +44,8 @@ export declare function getBlockletModels(): {
|
|
|
44
44
|
Rbac: import("../types").DynamicModel<import("./rbac").RbacState>;
|
|
45
45
|
Tag: import("../types").DynamicModel<import("@abtnode/types").TTag>;
|
|
46
46
|
Tagging: import("../types").DynamicModel<import("./tagging").TaggingState>;
|
|
47
|
+
Project: import("../types").DynamicModel<import("./project").ProjectState>;
|
|
48
|
+
Release: import("../types").DynamicModel<import("./release").ReleaseState>;
|
|
47
49
|
};
|
|
48
50
|
export declare function getServerModels(): {
|
|
49
51
|
AccessKey: import("../types").DynamicModel<import("./access-key").AccessKeyState>;
|
package/lib/models/index.js
CHANGED
|
@@ -42,6 +42,8 @@ const traffic_insight_1 = require("./traffic-insight");
|
|
|
42
42
|
const runtime_insight_1 = require("./runtime-insight");
|
|
43
43
|
const tag_1 = require("./tag");
|
|
44
44
|
const tagging_1 = require("./tagging");
|
|
45
|
+
const project_1 = require("./project");
|
|
46
|
+
const release_1 = require("./release");
|
|
45
47
|
__exportStar(require("./message"), exports);
|
|
46
48
|
__exportStar(require("./account"), exports);
|
|
47
49
|
__exportStar(require("./certificate"), exports);
|
|
@@ -120,6 +122,8 @@ function getBlockletModels() {
|
|
|
120
122
|
Rbac: (0, rbac_1.createRbacModel)(),
|
|
121
123
|
Tag: (0, tag_1.createTagModel)(),
|
|
122
124
|
Tagging: (0, tagging_1.createTaggingModel)(),
|
|
125
|
+
Project: (0, project_1.createProjectModel)(),
|
|
126
|
+
Release: (0, release_1.createReleaseModel)(),
|
|
123
127
|
};
|
|
124
128
|
return models;
|
|
125
129
|
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { DynamicModel } from '../types';
|
|
2
|
+
type ProjectType = 'resource' | 'pack';
|
|
3
|
+
export type ProjectState = {
|
|
4
|
+
id: string;
|
|
5
|
+
type: ProjectType;
|
|
6
|
+
blockletDid?: string;
|
|
7
|
+
blockletVersion?: string;
|
|
8
|
+
blockletTitle?: string;
|
|
9
|
+
blockletDescription?: string;
|
|
10
|
+
blockletLogo?: string;
|
|
11
|
+
blockletIntroduction?: string;
|
|
12
|
+
blockletScreenshots?: string[];
|
|
13
|
+
createdAt: Date;
|
|
14
|
+
updatedAt: Date;
|
|
15
|
+
};
|
|
16
|
+
export declare function createProjectModel(): DynamicModel<ProjectState>;
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createProjectModel = void 0;
|
|
4
|
+
const sequelize_1 = require("sequelize");
|
|
5
|
+
function createProjectModel() {
|
|
6
|
+
var _a;
|
|
7
|
+
return _a = class Project extends sequelize_1.Model {
|
|
8
|
+
static initialize(sequelize) {
|
|
9
|
+
this.init({
|
|
10
|
+
...this.GENESIS_ATTRIBUTES,
|
|
11
|
+
}, {
|
|
12
|
+
sequelize,
|
|
13
|
+
modelName: 'Project',
|
|
14
|
+
tableName: 'projects',
|
|
15
|
+
timestamps: true,
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
_a.GENESIS_ATTRIBUTES = {
|
|
20
|
+
id: {
|
|
21
|
+
type: sequelize_1.DataTypes.STRING(64),
|
|
22
|
+
primaryKey: true,
|
|
23
|
+
allowNull: false,
|
|
24
|
+
},
|
|
25
|
+
type: {
|
|
26
|
+
type: sequelize_1.DataTypes.STRING(16),
|
|
27
|
+
},
|
|
28
|
+
blockletDid: {
|
|
29
|
+
type: sequelize_1.DataTypes.STRING(40),
|
|
30
|
+
unique: true,
|
|
31
|
+
},
|
|
32
|
+
blockletVersion: {
|
|
33
|
+
type: sequelize_1.DataTypes.STRING(64),
|
|
34
|
+
},
|
|
35
|
+
blockletTitle: {
|
|
36
|
+
type: sequelize_1.DataTypes.STRING(64),
|
|
37
|
+
},
|
|
38
|
+
blockletDescription: {
|
|
39
|
+
type: sequelize_1.DataTypes.STRING(256),
|
|
40
|
+
},
|
|
41
|
+
blockletLogo: {
|
|
42
|
+
type: sequelize_1.DataTypes.STRING(64),
|
|
43
|
+
},
|
|
44
|
+
blockletIntroduction: {
|
|
45
|
+
type: sequelize_1.DataTypes.STRING,
|
|
46
|
+
},
|
|
47
|
+
blockletScreenshots: {
|
|
48
|
+
type: sequelize_1.DataTypes.JSON,
|
|
49
|
+
},
|
|
50
|
+
createdAt: {
|
|
51
|
+
type: sequelize_1.DataTypes.DATE,
|
|
52
|
+
defaultValue: sequelize_1.DataTypes.NOW,
|
|
53
|
+
},
|
|
54
|
+
updatedAt: {
|
|
55
|
+
type: sequelize_1.DataTypes.DATE,
|
|
56
|
+
defaultValue: sequelize_1.DataTypes.NOW,
|
|
57
|
+
},
|
|
58
|
+
},
|
|
59
|
+
_a;
|
|
60
|
+
}
|
|
61
|
+
exports.createProjectModel = createProjectModel;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { DynamicModel } from '../types';
|
|
2
|
+
type ReleaseStatus = 'draft' | 'published';
|
|
3
|
+
export type ReleaseState = {
|
|
4
|
+
id: string;
|
|
5
|
+
projectId: string;
|
|
6
|
+
blockletVersion: string;
|
|
7
|
+
blockletTitle?: string;
|
|
8
|
+
blockletDescription?: string;
|
|
9
|
+
blockletLogo?: string;
|
|
10
|
+
blockletIntroduction?: string;
|
|
11
|
+
blockletScreenshots?: string[];
|
|
12
|
+
note: string;
|
|
13
|
+
files: string;
|
|
14
|
+
createdAt: Date;
|
|
15
|
+
updatedAt: Date;
|
|
16
|
+
status: ReleaseStatus;
|
|
17
|
+
};
|
|
18
|
+
export declare function createReleaseModel(): DynamicModel<ReleaseState>;
|
|
19
|
+
export {};
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createReleaseModel = void 0;
|
|
4
|
+
const sequelize_1 = require("sequelize");
|
|
5
|
+
const util_1 = require("../util");
|
|
6
|
+
function createReleaseModel() {
|
|
7
|
+
var _a;
|
|
8
|
+
return _a = class Release extends sequelize_1.Model {
|
|
9
|
+
static initialize(sequelize) {
|
|
10
|
+
this.init({
|
|
11
|
+
...this.GENESIS_ATTRIBUTES,
|
|
12
|
+
}, {
|
|
13
|
+
sequelize,
|
|
14
|
+
modelName: 'Release',
|
|
15
|
+
tableName: 'releases',
|
|
16
|
+
timestamps: true,
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
_a.GENESIS_ATTRIBUTES = {
|
|
21
|
+
id: {
|
|
22
|
+
type: sequelize_1.DataTypes.STRING(64),
|
|
23
|
+
primaryKey: true,
|
|
24
|
+
defaultValue: util_1.generateRandomString,
|
|
25
|
+
},
|
|
26
|
+
projectId: {
|
|
27
|
+
type: sequelize_1.DataTypes.STRING(64),
|
|
28
|
+
},
|
|
29
|
+
note: {
|
|
30
|
+
type: sequelize_1.DataTypes.STRING(64),
|
|
31
|
+
},
|
|
32
|
+
files: {
|
|
33
|
+
type: sequelize_1.DataTypes.JSON,
|
|
34
|
+
},
|
|
35
|
+
blockletVersion: {
|
|
36
|
+
type: sequelize_1.DataTypes.STRING(64),
|
|
37
|
+
},
|
|
38
|
+
blockletTitle: {
|
|
39
|
+
type: sequelize_1.DataTypes.STRING(64),
|
|
40
|
+
},
|
|
41
|
+
blockletDescription: {
|
|
42
|
+
type: sequelize_1.DataTypes.STRING(256),
|
|
43
|
+
},
|
|
44
|
+
blockletLogo: {
|
|
45
|
+
type: sequelize_1.DataTypes.STRING(64),
|
|
46
|
+
},
|
|
47
|
+
blockletIntroduction: {
|
|
48
|
+
type: sequelize_1.DataTypes.STRING,
|
|
49
|
+
},
|
|
50
|
+
blockletScreenshots: {
|
|
51
|
+
type: sequelize_1.DataTypes.JSON,
|
|
52
|
+
},
|
|
53
|
+
status: {
|
|
54
|
+
type: sequelize_1.DataTypes.STRING(16),
|
|
55
|
+
},
|
|
56
|
+
createdAt: {
|
|
57
|
+
type: sequelize_1.DataTypes.DATE,
|
|
58
|
+
defaultValue: sequelize_1.DataTypes.NOW,
|
|
59
|
+
},
|
|
60
|
+
updatedAt: {
|
|
61
|
+
type: sequelize_1.DataTypes.DATE,
|
|
62
|
+
defaultValue: sequelize_1.DataTypes.NOW,
|
|
63
|
+
},
|
|
64
|
+
},
|
|
65
|
+
_a;
|
|
66
|
+
}
|
|
67
|
+
exports.createReleaseModel = createReleaseModel;
|
package/lib/util.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { FindOptions, IncludeOptions, Order } from 'sequelize';
|
|
2
2
|
export declare function generateId(): string;
|
|
3
|
+
export declare function generateRandomString(length?: number, characters?: string): string;
|
|
3
4
|
export declare function formatConditions(conditions: Record<string, any>): IncludeOptions;
|
|
4
5
|
export declare function formatOrder(sort: Record<string, any>): Order;
|
|
5
6
|
export declare function formatSelection(selection: Record<string, any>): string[];
|
package/lib/util.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.getAvatarDir = exports.formatParams = exports.formatSelection = exports.formatOrder = exports.formatConditions = exports.generateId = void 0;
|
|
6
|
+
exports.getAvatarDir = exports.formatParams = exports.formatSelection = exports.formatOrder = exports.formatConditions = exports.generateRandomString = exports.generateId = void 0;
|
|
7
7
|
const uuid_1 = require("uuid");
|
|
8
8
|
const path_1 = require("path");
|
|
9
9
|
const sequelize_1 = require("sequelize");
|
|
@@ -12,6 +12,15 @@ function generateId() {
|
|
|
12
12
|
return (0, uuid_1.v4)();
|
|
13
13
|
}
|
|
14
14
|
exports.generateId = generateId;
|
|
15
|
+
function generateRandomString(length = 6, characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ') {
|
|
16
|
+
let randomString = '';
|
|
17
|
+
for (let i = 0; i < length; i++) {
|
|
18
|
+
const randomIndex = Math.floor(Math.random() * characters.length);
|
|
19
|
+
randomString += characters.charAt(randomIndex);
|
|
20
|
+
}
|
|
21
|
+
return randomString;
|
|
22
|
+
}
|
|
23
|
+
exports.generateRandomString = generateRandomString;
|
|
15
24
|
function formatConditions(conditions) {
|
|
16
25
|
if (conditions.where || conditions.include) {
|
|
17
26
|
return conditions;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@abtnode/models",
|
|
3
|
-
"version": "1.16.
|
|
3
|
+
"version": "1.16.17-beta-7ec31a60",
|
|
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.
|
|
36
|
-
"@abtnode/types": "1.16.
|
|
37
|
-
"@blocklet/constant": "1.16.
|
|
35
|
+
"@abtnode/logger": "1.16.17-beta-7ec31a60",
|
|
36
|
+
"@abtnode/types": "1.16.17-beta-7ec31a60",
|
|
37
|
+
"@blocklet/constant": "1.16.17-beta-7ec31a60",
|
|
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": "622bb131130d28c3fc554dcb5dc9d72b7da3fba2"
|
|
59
59
|
}
|