@ditojs/server 0.275.0 → 1.0.0
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/package.json +25 -43
- package/src/app/Application.js +105 -111
- package/src/app/Validator.js +6 -3
- package/src/app/index.js +2 -2
- package/src/cli/db/createMigration.js +1 -1
- package/src/cli/db/index.js +7 -7
- package/src/cli/db/listAssetConfig.js +1 -1
- package/src/cli/db/reset.js +1 -1
- package/src/cli/index.js +14 -5
- package/src/controllers/AdminController.js +181 -158
- package/src/controllers/CollectionController.js +8 -29
- package/src/controllers/Controller.js +71 -76
- package/src/controllers/ControllerAction.js +39 -17
- package/src/controllers/MemberAction.js +2 -2
- package/src/controllers/ModelController.js +4 -4
- package/src/controllers/RelationController.js +3 -3
- package/src/controllers/{UserController.js → UsersController.js} +8 -13
- package/src/controllers/index.js +5 -5
- package/src/decorators/action.js +3 -3
- package/src/decorators/authorize.js +1 -1
- package/src/decorators/index.js +6 -6
- package/src/decorators/parameters.js +1 -1
- package/src/decorators/returns.js +1 -1
- package/src/decorators/scope.js +1 -1
- package/src/decorators/transacted.js +1 -1
- package/src/errors/AssetError.js +1 -1
- package/src/errors/AuthenticationError.js +1 -1
- package/src/errors/AuthorizationError.js +1 -1
- package/src/errors/ControllerError.js +1 -1
- package/src/errors/DatabaseError.js +12 -3
- package/src/errors/GraphError.js +1 -1
- package/src/errors/ModelError.js +1 -1
- package/src/errors/NotFoundError.js +1 -1
- package/src/errors/NotImplementedError.js +1 -1
- package/src/errors/QueryBuilderError.js +1 -1
- package/src/errors/RelationError.js +1 -1
- package/src/errors/ValidationError.js +1 -1
- package/src/errors/WrappedError.js +1 -1
- package/src/errors/index.js +14 -14
- package/src/graph/DitoGraphProcessor.js +2 -1
- package/src/graph/graph.js +1 -1
- package/src/graph/index.js +3 -3
- package/src/index.js +11 -9
- package/src/lib/index.js +2 -2
- package/src/middleware/createTransaction.js +1 -1
- package/src/middleware/findRoute.js +3 -2
- package/src/middleware/handleConnectMiddleware.js +88 -0
- package/src/middleware/handleError.js +1 -1
- package/src/middleware/handleRoute.js +3 -3
- package/src/middleware/index.js +8 -7
- package/src/mixins/AssetMixin.js +1 -1
- package/src/mixins/UserMixin.js +1 -1
- package/src/mixins/index.js +4 -4
- package/src/models/AssetModel.js +2 -2
- package/src/models/Model.js +16 -12
- package/src/models/RelationAccessor.js +1 -1
- package/src/models/SessionModel.js +2 -2
- package/src/models/TimeStampedModel.js +2 -2
- package/src/models/UserModel.js +2 -2
- package/src/models/definitions/assets.js +1 -1
- package/src/models/definitions/filters.js +57 -44
- package/src/models/definitions/hooks.js +1 -1
- package/src/models/definitions/index.js +9 -9
- package/src/models/definitions/modifiers.js +1 -1
- package/src/models/definitions/options.js +1 -1
- package/src/models/definitions/properties.js +2 -2
- package/src/models/definitions/relations.js +1 -1
- package/src/models/definitions/schema.js +1 -1
- package/src/models/definitions/scopes.js +2 -2
- package/src/models/index.js +5 -5
- package/src/query/QueryBuilder.js +5 -5
- package/src/query/QueryFilters.js +50 -50
- package/src/query/QueryParameters.js +2 -2
- package/src/query/index.js +3 -3
- package/src/schema/formats/index.js +2 -2
- package/src/schema/index.js +4 -4
- package/src/schema/keywords/_relate.js +1 -1
- package/src/schema/keywords/index.js +12 -12
- package/src/schema/properties.test.js +1 -1
- package/src/schema/relations.js +1 -1
- package/src/schema/relations.test.js +2 -2
- package/src/services/index.js +1 -1
- package/src/storage/DiskStorage.js +1 -1
- package/src/storage/S3Storage.js +4 -4
- package/src/storage/Storage.js +1 -1
- package/src/storage/index.js +4 -4
- package/src/utils/function.test.js +1 -1
- package/src/utils/handler.js +17 -0
- package/src/utils/index.js +8 -7
- package/src/utils/object.test.js +1 -1
- package/lib/app/Application.js +0 -961
- package/lib/app/SessionStore.js +0 -40
- package/lib/app/Validator.js +0 -355
- package/lib/app/index.js +0 -26
- package/lib/cli/console.js +0 -175
- package/lib/cli/db/createMigration.js +0 -237
- package/lib/cli/db/index.js +0 -66
- package/lib/cli/db/listAssetConfig.js +0 -16
- package/lib/cli/db/migrate.js +0 -15
- package/lib/cli/db/reset.js +0 -27
- package/lib/cli/db/rollback.js +0 -15
- package/lib/cli/db/seed.js +0 -104
- package/lib/cli/db/unlock.js +0 -15
- package/lib/cli/index.js +0 -90
- package/lib/controllers/AdminController.js +0 -258
- package/lib/controllers/CollectionController.js +0 -263
- package/lib/controllers/Controller.js +0 -462
- package/lib/controllers/ControllerAction.js +0 -276
- package/lib/controllers/MemberAction.js +0 -22
- package/lib/controllers/ModelController.js +0 -64
- package/lib/controllers/RelationController.js +0 -82
- package/lib/controllers/UserController.js +0 -98
- package/lib/controllers/index.js +0 -50
- package/lib/decorators/action.js +0 -14
- package/lib/decorators/authorize.js +0 -13
- package/lib/decorators/index.js +0 -58
- package/lib/decorators/parameters.js +0 -35
- package/lib/decorators/returns.js +0 -26
- package/lib/decorators/scope.js +0 -14
- package/lib/decorators/transacted.js +0 -12
- package/lib/errors/AssetError.js +0 -19
- package/lib/errors/AuthenticationError.js +0 -19
- package/lib/errors/AuthorizationError.js +0 -19
- package/lib/errors/ControllerError.js +0 -24
- package/lib/errors/DatabaseError.js +0 -27
- package/lib/errors/GraphError.js +0 -19
- package/lib/errors/ModelError.js +0 -24
- package/lib/errors/NotFoundError.js +0 -19
- package/lib/errors/NotImplementedError.js +0 -19
- package/lib/errors/QueryBuilderError.js +0 -19
- package/lib/errors/RelationError.js +0 -36
- package/lib/errors/ResponseError.js +0 -46
- package/lib/errors/ValidationError.js +0 -19
- package/lib/errors/WrappedError.js +0 -24
- package/lib/errors/index.js +0 -122
- package/lib/graph/DitoGraphProcessor.js +0 -185
- package/lib/graph/expression.js +0 -76
- package/lib/graph/graph.js +0 -300
- package/lib/graph/index.js +0 -34
- package/lib/index.js +0 -82
- package/lib/lib/EventEmitter.js +0 -76
- package/lib/lib/KnexHelper.js +0 -40
- package/lib/lib/index.js +0 -26
- package/lib/middleware/attachLogger.js +0 -16
- package/lib/middleware/createTransaction.js +0 -36
- package/lib/middleware/findRoute.js +0 -35
- package/lib/middleware/handleError.js +0 -26
- package/lib/middleware/handleRoute.js +0 -29
- package/lib/middleware/handleUser.js +0 -36
- package/lib/middleware/index.js +0 -66
- package/lib/middleware/logRequests.js +0 -122
- package/lib/mixins/AssetMixin.js +0 -81
- package/lib/mixins/SessionMixin.js +0 -22
- package/lib/mixins/TimeStampedMixin.js +0 -47
- package/lib/mixins/UserMixin.js +0 -151
- package/lib/mixins/index.js +0 -42
- package/lib/models/AssetModel.js +0 -12
- package/lib/models/Model.js +0 -953
- package/lib/models/RelationAccessor.js +0 -41
- package/lib/models/SessionModel.js +0 -12
- package/lib/models/TimeStampedModel.js +0 -12
- package/lib/models/UserModel.js +0 -12
- package/lib/models/definitions/assets.js +0 -11
- package/lib/models/definitions/filters.js +0 -101
- package/lib/models/definitions/hooks.js +0 -11
- package/lib/models/definitions/index.js +0 -38
- package/lib/models/definitions/modifiers.js +0 -11
- package/lib/models/definitions/options.js +0 -11
- package/lib/models/definitions/properties.js +0 -87
- package/lib/models/definitions/relations.js +0 -11
- package/lib/models/definitions/schema.js +0 -11
- package/lib/models/definitions/scopes.js +0 -51
- package/lib/models/index.js +0 -50
- package/lib/query/QueryBuilder.js +0 -745
- package/lib/query/QueryFilters.js +0 -82
- package/lib/query/QueryParameters.js +0 -77
- package/lib/query/Registry.js +0 -40
- package/lib/query/index.js +0 -34
- package/lib/schema/formats/_empty.js +0 -10
- package/lib/schema/formats/_required.js +0 -10
- package/lib/schema/formats/index.js +0 -26
- package/lib/schema/index.js +0 -49
- package/lib/schema/keywords/_computed.js +0 -11
- package/lib/schema/keywords/_foreign.js +0 -11
- package/lib/schema/keywords/_hidden.js +0 -11
- package/lib/schema/keywords/_index.js +0 -11
- package/lib/schema/keywords/_instanceof.js +0 -49
- package/lib/schema/keywords/_primary.js +0 -11
- package/lib/schema/keywords/_range.js +0 -26
- package/lib/schema/keywords/_relate.js +0 -19
- package/lib/schema/keywords/_specificType.js +0 -11
- package/lib/schema/keywords/_unique.js +0 -11
- package/lib/schema/keywords/_unsigned.js +0 -11
- package/lib/schema/keywords/_validate.js +0 -80
- package/lib/schema/keywords/index.js +0 -106
- package/lib/schema/properties.js +0 -227
- package/lib/schema/properties.test.js +0 -573
- package/lib/schema/relations.js +0 -274
- package/lib/schema/relations.test.js +0 -155
- package/lib/services/Service.js +0 -34
- package/lib/services/index.js +0 -18
- package/lib/storage/AssetFile.js +0 -97
- package/lib/storage/DiskStorage.js +0 -125
- package/lib/storage/S3Storage.js +0 -171
- package/lib/storage/Storage.js +0 -209
- package/lib/storage/index.js +0 -34
- package/lib/utils/decorator.js +0 -16
- package/lib/utils/deprecate.js +0 -46
- package/lib/utils/emitter.js +0 -13
- package/lib/utils/function.js +0 -14
- package/lib/utils/function.test.js +0 -49
- package/lib/utils/index.js +0 -66
- package/lib/utils/json.js +0 -9
- package/lib/utils/object.js +0 -92
- package/lib/utils/object.test.js +0 -65
- package/lib/utils/scope.js +0 -14
|
@@ -1,237 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
exports.__esModule = true;
|
|
4
|
-
exports.createMigration = createMigration;
|
|
5
|
-
|
|
6
|
-
require("core-js/modules/esnext.async-iterator.map.js");
|
|
7
|
-
|
|
8
|
-
require("core-js/modules/esnext.iterator.map.js");
|
|
9
|
-
|
|
10
|
-
require("core-js/modules/es.error.cause.js");
|
|
11
|
-
|
|
12
|
-
require("core-js/modules/esnext.async-iterator.filter.js");
|
|
13
|
-
|
|
14
|
-
require("core-js/modules/esnext.iterator.constructor.js");
|
|
15
|
-
|
|
16
|
-
require("core-js/modules/esnext.iterator.filter.js");
|
|
17
|
-
|
|
18
|
-
var _path = _interopRequireDefault(require("path"));
|
|
19
|
-
|
|
20
|
-
var _fsExtra = _interopRequireDefault(require("fs-extra"));
|
|
21
|
-
|
|
22
|
-
var _picocolors = _interopRequireDefault(require("picocolors"));
|
|
23
|
-
|
|
24
|
-
var _schema = require("../../schema");
|
|
25
|
-
|
|
26
|
-
var _utils = require("@ditojs/utils");
|
|
27
|
-
|
|
28
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
29
|
-
|
|
30
|
-
const typeToKnex = {
|
|
31
|
-
number: 'double',
|
|
32
|
-
object: 'json',
|
|
33
|
-
array: 'json'
|
|
34
|
-
};
|
|
35
|
-
const defaultValues = {
|
|
36
|
-
'now()': `knex.raw('CURRENT_TIMESTAMP')`
|
|
37
|
-
};
|
|
38
|
-
|
|
39
|
-
const migrationDir = _path.default.join(process.cwd(), 'migrations');
|
|
40
|
-
|
|
41
|
-
async function createMigration(app, name, ...modelNames) {
|
|
42
|
-
const models = modelNames.map(modelName => {
|
|
43
|
-
const modelClass = app.models[modelName];
|
|
44
|
-
|
|
45
|
-
if (!modelClass) {
|
|
46
|
-
throw new Error(`Model class with name '${modelName}' does not exist`);
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
return modelClass;
|
|
50
|
-
});
|
|
51
|
-
const tables = [];
|
|
52
|
-
|
|
53
|
-
for (const modelClass of models) {
|
|
54
|
-
collectModelTables(modelClass, app, tables);
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
for (const modelClass of models) {
|
|
58
|
-
collectThroughTables(modelClass, app, tables);
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
const createTables = [];
|
|
62
|
-
const dropTables = [];
|
|
63
|
-
|
|
64
|
-
for (const {
|
|
65
|
-
tableName,
|
|
66
|
-
statements
|
|
67
|
-
} of tables) {
|
|
68
|
-
createTables.push((0, _utils.deindent)`
|
|
69
|
-
.createTable('${tableName}', table => {
|
|
70
|
-
${statements.join('\n')}
|
|
71
|
-
})`);
|
|
72
|
-
dropTables.unshift((0, _utils.deindent)`
|
|
73
|
-
.dropTableIfExists('${tableName}')`);
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
const getCode = tables => tables.length > 0 ? (0, _utils.deindent)`
|
|
77
|
-
await knex.schema
|
|
78
|
-
${tables.join('\n')}` : '';
|
|
79
|
-
|
|
80
|
-
const filename = `${getTimestamp()}_${name}.js`;
|
|
81
|
-
|
|
82
|
-
const file = _path.default.join(migrationDir, filename);
|
|
83
|
-
|
|
84
|
-
if (await _fsExtra.default.exists(file)) {
|
|
85
|
-
console.info(_picocolors.default.red(`Migration '${filename}' already exists.`));
|
|
86
|
-
return false;
|
|
87
|
-
} else {
|
|
88
|
-
await _fsExtra.default.writeFile(file, (0, _utils.deindent)`
|
|
89
|
-
export async function up(knex) {
|
|
90
|
-
${getCode(createTables)}
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
export async function down(knex) {
|
|
94
|
-
${getCode(dropTables)}
|
|
95
|
-
}
|
|
96
|
-
`);
|
|
97
|
-
console.info(_picocolors.default.cyan(`Migration '${filename}' successfully created.`));
|
|
98
|
-
return true;
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
async function collectModelTables(modelClass, app, tables) {
|
|
103
|
-
const tableName = app.normalizeIdentifier(modelClass.tableName);
|
|
104
|
-
const {
|
|
105
|
-
properties,
|
|
106
|
-
relations
|
|
107
|
-
} = modelClass.definition;
|
|
108
|
-
const statements = [];
|
|
109
|
-
tables.push({
|
|
110
|
-
tableName,
|
|
111
|
-
statements
|
|
112
|
-
});
|
|
113
|
-
const uniqueComposites = {};
|
|
114
|
-
|
|
115
|
-
for (const [name, property] of Object.entries(properties)) {
|
|
116
|
-
const column = app.normalizeIdentifier(name);
|
|
117
|
-
let {
|
|
118
|
-
description,
|
|
119
|
-
type,
|
|
120
|
-
specificType,
|
|
121
|
-
unsigned,
|
|
122
|
-
computed,
|
|
123
|
-
nullable,
|
|
124
|
-
required,
|
|
125
|
-
primary,
|
|
126
|
-
foreign,
|
|
127
|
-
unique,
|
|
128
|
-
index,
|
|
129
|
-
default: _default
|
|
130
|
-
} = property;
|
|
131
|
-
const knexType = typeToKnex[type] || type;
|
|
132
|
-
|
|
133
|
-
if (!computed) {
|
|
134
|
-
if (description) {
|
|
135
|
-
statements.push(`// ${description.replace(/\s{2,}/g, ' ').trim()}`);
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
if ((0, _utils.isString)(unique)) {
|
|
139
|
-
const composites = uniqueComposites[unique] || (uniqueComposites[unique] = []);
|
|
140
|
-
composites.push(column);
|
|
141
|
-
unique = false;
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
const statement = primary ? [`table.increments('${column}').primary()`] : specificType ? [`table.specificType('${column}', '${specificType}')`] : [`table.${knexType}('${column}')`];
|
|
145
|
-
statement.push(unsigned && 'unsigned()', !primary && required && 'notNullable()', nullable && 'nullable()', unique && 'unique()', index && 'index()');
|
|
146
|
-
|
|
147
|
-
if (_default !== undefined) {
|
|
148
|
-
let value = defaultValues[_default];
|
|
149
|
-
|
|
150
|
-
if (!value) {
|
|
151
|
-
value = (0, _utils.isArray)(_default) || (0, _utils.isObject)(_default) ? JSON.stringify(_default) : _default;
|
|
152
|
-
|
|
153
|
-
if ((0, _utils.isString)(value)) {
|
|
154
|
-
value = `'${value}'`;
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
statement.push(`defaultTo(${value})`);
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
if (foreign) {
|
|
162
|
-
for (const relation of Object.values(relations)) {
|
|
163
|
-
const {
|
|
164
|
-
from,
|
|
165
|
-
to,
|
|
166
|
-
owner
|
|
167
|
-
} = relation;
|
|
168
|
-
const [fromClass, fromProperty] = (from == null ? void 0 : from.split('.')) || [];
|
|
169
|
-
|
|
170
|
-
if (fromProperty === name) {
|
|
171
|
-
if (fromClass !== modelClass.name) {
|
|
172
|
-
throw Error(`Invalid relation declaration: ${relation}`);
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
const [toClass, toProperty] = (to == null ? void 0 : to.split('.')) || [];
|
|
176
|
-
statement.push('\n', `references('${app.normalizeIdentifier(toProperty)}')`, `inTable('${app.normalizeIdentifier(toClass)}')`, !owner && `onDelete('CASCADE')`);
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
|
-
|
|
181
|
-
statements.push(statement.filter(str => !!str).join('.').replace(/\.\n\./g, '\n .'));
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
|
|
185
|
-
for (const composites of Object.values(uniqueComposites)) {
|
|
186
|
-
statements.push(`table.unique([${composites.map(column => `'${column}'`).join(', ')}])`);
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
async function collectThroughTables(modelClass, app, tables) {
|
|
191
|
-
const {
|
|
192
|
-
relations
|
|
193
|
-
} = modelClass.definition;
|
|
194
|
-
|
|
195
|
-
for (const relation of Object.values(relations)) {
|
|
196
|
-
const {
|
|
197
|
-
from,
|
|
198
|
-
to,
|
|
199
|
-
inverse
|
|
200
|
-
} = relation;
|
|
201
|
-
const relationClass = (0, _schema.getRelationClass)(relation.relation);
|
|
202
|
-
|
|
203
|
-
if ((0, _schema.isThroughRelationClass)(relationClass) && !inverse) {
|
|
204
|
-
const [fromClass, fromProperty] = (from == null ? void 0 : from.split('.')) || [];
|
|
205
|
-
const [toClass, toProperty] = (to == null ? void 0 : to.split('.')) || [];
|
|
206
|
-
const statements = [];
|
|
207
|
-
const tableName = app.normalizeIdentifier(`${fromClass}${toClass}`);
|
|
208
|
-
const fromId = app.normalizeIdentifier(`${fromClass}${(0, _utils.capitalize)(fromProperty)}`);
|
|
209
|
-
const toId = app.normalizeIdentifier(`${toClass}${(0, _utils.capitalize)(toProperty)}`);
|
|
210
|
-
tables.push({
|
|
211
|
-
tableName,
|
|
212
|
-
statements
|
|
213
|
-
});
|
|
214
|
-
statements.push(`table.increments('id').primary()`);
|
|
215
|
-
statements.push((0, _utils.deindent)`
|
|
216
|
-
table.integer('${fromId}').unsigned().index()
|
|
217
|
-
.references('${app.normalizeIdentifier(fromProperty)}')\\
|
|
218
|
-
.inTable('${app.normalizeIdentifier(fromClass)}')\\
|
|
219
|
-
.onDelete('CASCADE')`);
|
|
220
|
-
statements.push((0, _utils.deindent)`
|
|
221
|
-
table.integer('${toId}').unsigned().index()
|
|
222
|
-
.references('${app.normalizeIdentifier(toProperty)}')\\
|
|
223
|
-
.inTable('${app.normalizeIdentifier(toClass)}')\\
|
|
224
|
-
.onDelete('CASCADE')`);
|
|
225
|
-
}
|
|
226
|
-
}
|
|
227
|
-
}
|
|
228
|
-
|
|
229
|
-
function padDate(segment) {
|
|
230
|
-
return segment.toString().padStart(2, '0');
|
|
231
|
-
}
|
|
232
|
-
|
|
233
|
-
function getTimestamp() {
|
|
234
|
-
const d = new Date();
|
|
235
|
-
return d.getFullYear().toString() + padDate(d.getMonth() + 1) + padDate(d.getDate()) + padDate(d.getHours()) + padDate(d.getMinutes()) + padDate(d.getSeconds());
|
|
236
|
-
}
|
|
237
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbGkvZGIvY3JlYXRlTWlncmF0aW9uLmpzIl0sIm5hbWVzIjpbInR5cGVUb0tuZXgiLCJudW1iZXIiLCJvYmplY3QiLCJhcnJheSIsImRlZmF1bHRWYWx1ZXMiLCJtaWdyYXRpb25EaXIiLCJwYXRoIiwiam9pbiIsInByb2Nlc3MiLCJjd2QiLCJjcmVhdGVNaWdyYXRpb24iLCJhcHAiLCJuYW1lIiwibW9kZWxOYW1lcyIsIm1vZGVscyIsIm1hcCIsIm1vZGVsTmFtZSIsIm1vZGVsQ2xhc3MiLCJFcnJvciIsInRhYmxlcyIsImNvbGxlY3RNb2RlbFRhYmxlcyIsImNvbGxlY3RUaHJvdWdoVGFibGVzIiwiY3JlYXRlVGFibGVzIiwiZHJvcFRhYmxlcyIsInRhYmxlTmFtZSIsInN0YXRlbWVudHMiLCJwdXNoIiwidW5zaGlmdCIsImdldENvZGUiLCJsZW5ndGgiLCJmaWxlbmFtZSIsImdldFRpbWVzdGFtcCIsImZpbGUiLCJmcyIsImV4aXN0cyIsImNvbnNvbGUiLCJpbmZvIiwicGljbyIsInJlZCIsIndyaXRlRmlsZSIsImN5YW4iLCJub3JtYWxpemVJZGVudGlmaWVyIiwicHJvcGVydGllcyIsInJlbGF0aW9ucyIsImRlZmluaXRpb24iLCJ1bmlxdWVDb21wb3NpdGVzIiwicHJvcGVydHkiLCJPYmplY3QiLCJlbnRyaWVzIiwiY29sdW1uIiwiZGVzY3JpcHRpb24iLCJ0eXBlIiwic3BlY2lmaWNUeXBlIiwidW5zaWduZWQiLCJjb21wdXRlZCIsIm51bGxhYmxlIiwicmVxdWlyZWQiLCJwcmltYXJ5IiwiZm9yZWlnbiIsInVuaXF1ZSIsImluZGV4IiwiZGVmYXVsdCIsIl9kZWZhdWx0Iiwia25leFR5cGUiLCJyZXBsYWNlIiwidHJpbSIsImNvbXBvc2l0ZXMiLCJzdGF0ZW1lbnQiLCJ1bmRlZmluZWQiLCJ2YWx1ZSIsIkpTT04iLCJzdHJpbmdpZnkiLCJyZWxhdGlvbiIsInZhbHVlcyIsImZyb20iLCJ0byIsIm93bmVyIiwiZnJvbUNsYXNzIiwiZnJvbVByb3BlcnR5Iiwic3BsaXQiLCJ0b0NsYXNzIiwidG9Qcm9wZXJ0eSIsImZpbHRlciIsInN0ciIsImludmVyc2UiLCJyZWxhdGlvbkNsYXNzIiwiZnJvbUlkIiwidG9JZCIsInBhZERhdGUiLCJzZWdtZW50IiwidG9TdHJpbmciLCJwYWRTdGFydCIsImQiLCJEYXRlIiwiZ2V0RnVsbFllYXIiLCJnZXRNb250aCIsImdldERhdGUiLCJnZXRIb3VycyIsImdldE1pbnV0ZXMiLCJnZXRTZWNvbmRzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7O0FBSUEsTUFBTUEsVUFBVSxHQUFHO0FBQ2pCQyxFQUFBQSxNQUFNLEVBQUUsUUFEUztBQUVqQkMsRUFBQUEsTUFBTSxFQUFFLE1BRlM7QUFHakJDLEVBQUFBLEtBQUssRUFBRTtBQUhVLENBQW5CO0FBTUEsTUFBTUMsYUFBYSxHQUFHO0FBQ3BCLFdBQVU7QUFEVSxDQUF0Qjs7QUFJQSxNQUFNQyxZQUFZLEdBQUdDLGNBQUtDLElBQUwsQ0FBVUMsT0FBTyxDQUFDQyxHQUFSLEVBQVYsRUFBeUIsWUFBekIsQ0FBckI7O0FBRU8sZUFBZUMsZUFBZixDQUErQkMsR0FBL0IsRUFBb0NDLElBQXBDLEVBQTBDLEdBQUdDLFVBQTdDLEVBQXlEO0FBQzlELFFBQU1DLE1BQU0sR0FBR0QsVUFBVSxDQUFDRSxHQUFYLENBQWVDLFNBQVMsSUFBSTtBQUN6QyxVQUFNQyxVQUFVLEdBQUdOLEdBQUcsQ0FBQ0csTUFBSixDQUFXRSxTQUFYLENBQW5COztBQUNBLFFBQUksQ0FBQ0MsVUFBTCxFQUFpQjtBQUNmLFlBQU0sSUFBSUMsS0FBSixDQUFXLDBCQUF5QkYsU0FBVSxrQkFBOUMsQ0FBTjtBQUNEOztBQUNELFdBQU9DLFVBQVA7QUFDRCxHQU5jLENBQWY7QUFPQSxRQUFNRSxNQUFNLEdBQUcsRUFBZjs7QUFDQSxPQUFLLE1BQU1GLFVBQVgsSUFBeUJILE1BQXpCLEVBQWlDO0FBQy9CTSxJQUFB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RjtBQUNGOztBQUdELFNBQVNRLE9BQVQsQ0FBaUJDLE9BQWpCLEVBQTBCO0FBQ3hCLFNBQU9BLE9BQU8sQ0FBQ0MsUUFBUixHQUFtQkMsUUFBbkIsQ0FBNEIsQ0FBNUIsRUFBK0IsR0FBL0IsQ0FBUDtBQUNEOztBQUlELFNBQVM1RCxZQUFULEdBQXdCO0FBQ3RCLFFBQU02RCxDQUFDLEdBQUcsSUFBSUMsSUFBSixFQUFWO0FBQ0EsU0FBT0QsQ0FBQyxDQUFDRSxXQUFGLEdBQWdCSixRQUFoQixLQUNMRixPQUFPLENBQUNJLENBQUMsQ0FBQ0csUUFBRixLQUFlLENBQWhCLENBREYsR0FFTFAsT0FBTyxDQUFDSSxDQUFDLENBQUNJLE9BQUYsRUFBRCxDQUZGLEdBR0xSLE9BQU8sQ0FBQ0ksQ0FBQyxDQUFDSyxRQUFGLEVBQUQsQ0FIRixHQUlMVCxPQUFPLENBQUNJLENBQUMsQ0FBQ00sVUFBRixFQUFELENBSkYsR0FLTFYsT0FBTyxDQUFDSSxDQUFDLENBQUNPLFVBQUYsRUFBRCxDQUxUO0FBTUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgcGF0aCBmcm9tICdwYXRoJ1xuaW1wb3J0IGZzIGZyb20gJ2ZzLWV4dHJhJ1xuaW1wb3J0IHBpY28gZnJvbSAncGljb2NvbG9ycydcbmltcG9ydCB7IGdldFJlbGF0aW9uQ2xhc3MsIGlzVGhyb3VnaFJlbGF0aW9uQ2xhc3MgfSBmcm9tICdAL3NjaGVtYSdcbmltcG9ydCB7XG4gIGlzT2JqZWN0LCBpc0FycmF5LCBpc1N0cmluZywgZGVpbmRlbnQsIGNhcGl0YWxpemVcbn0gZnJvbSAnQGRpdG9qcy91dGlscydcblxuY29uc3QgdHlwZVRvS25leCA9IHtcbiAgbnVtYmVyOiAnZG91YmxlJyxcbiAgb2JqZWN0OiAnanNvbicsXG4gIGFycmF5OiAnanNvbidcbn1cblxuY29uc3QgZGVmYXVsdFZhbHVlcyA9IHtcbiAgJ25vdygpJzogYGtuZXgucmF3KCdDVVJSRU5UX1RJTUVTVEFNUCcpYFxufVxuXG5jb25zdCBtaWdyYXRpb25EaXIgPSBwYXRoLmpvaW4ocHJvY2Vzcy5jd2QoKSwgJ21pZ3JhdGlvbnMnKVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY3JlYXRlTWlncmF0aW9uKGFwcCwgbmFtZSwgLi4ubW9kZWxOYW1lcykge1xuICBjb25zdCBtb2RlbHMgPSBtb2RlbE5hbWVzLm1hcChtb2RlbE5hbWUgPT4ge1xuICAgIGNvbnN0IG1vZGVsQ2xhc3MgPSBhcHAubW9kZWxzW21vZGVsTmFtZV1cbiAgICBpZiAoIW1vZGVsQ2xhc3MpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgTW9kZWwgY2xhc3Mgd2l0aCBuYW1lICcke21vZGVsTmFtZX0nIGRvZXMgbm90IGV4aXN0YClcbiAgICB9XG4gICAgcmV0dXJuIG1vZGVsQ2xhc3NcbiAgfSlcbiAgY29uc3QgdGFibGVzID0gW11cbiAgZm9yIChjb25zdCBtb2RlbENsYXNzIG9mIG1vZGVscykge1xuICAgIGNvbGxlY3RNb2RlbFRhYmxlcyhtb2RlbENsYXNzLCBhcHAsIHRhYmxlcylcbiAgfVxuICBmb3IgKGNvbnN0IG1vZGVsQ2xhc3Mgb2YgbW9kZWxzKSB7XG4gICAgY29sbGVjdFRocm91Z2hUYWJsZXMobW9kZWxDbGFzcywgYXBwLCB0YWJsZXMpXG4gIH1cbiAgY29uc3QgY3JlYXRlVGFibGVzID0gW11cbiAgY29uc3QgZHJvcFRhYmxlcyA9IFtdXG4gIGZvciAoY29uc3QgeyB0YWJsZU5hbWUsIHN0YXRlbWVudHMgfSBvZiB0YWJsZXMpIHtcbiAgICBjcmVhdGVUYWJsZXMucHVzaChkZWluZGVudGBcbiAgICAgIC5jcmVhdGVUYWJsZSgnJHt0YWJsZU5hbWV9JywgdGFibGUgPT4ge1xuICAgICAgICAke3N0YXRlbWVudHMuam9pbignXFxuJyl9XG4gICAgICB9KWApXG4gICAgZHJvcFRhYmxlcy51bnNoaWZ0KGRlaW5kZW50YFxuICAgICAgLmRyb3BUYWJsZUlmRXhpc3RzKCcke3RhYmxlTmFtZX0nKWApXG4gIH1cbiAgY29uc3QgZ2V0Q29kZSA9IHRhYmxlcyA9PiB0YWJsZXMubGVuZ3RoID4gMFxuICAgID8gZGVpbmRlbnRgXG4gICAgICBhd2FpdCBrbmV4LnNjaGVtYVxuICAgICAgICAke3RhYmxlcy5qb2luKCdcXG4nKX1gXG4gICAgOiAnJ1xuICBjb25zdCBmaWxlbmFtZSA9IGAke2dldFRpbWVzdGFtcCgpfV8ke25hbWV9LmpzYFxuICBjb25zdCBmaWxlID0gcGF0aC5qb2luKG1pZ3JhdGlvbkRpciwgZmlsZW5hbWUpXG4gIGlmIChhd2FpdCBmcy5leGlzdHMoZmlsZSkpIHtcbiAgICAvLyBUaGlzIHNob3VsZCBuZXZlciBoYXBwZW4sIGJ1dCBsZXQncyBiZSBvbiB0aGUgc2FmZSBzaWRlIGhlcmU6XG4gICAgY29uc29sZS5pbmZvKHBpY28ucmVkKGBNaWdyYXRpb24gJyR7ZmlsZW5hbWV9JyBhbHJlYWR5IGV4aXN0cy5gKSlcbiAgICByZXR1cm4gZmFsc2VcbiAgfSBlbHNlIHtcbiAgICBhd2FpdCBmcy53cml0ZUZpbGUoZmlsZSwgZGVpbmRlbnRgXG4gICAgICBleHBvcnQgYXN5bmMgZnVuY3Rpb24gdXAoa25leCkge1xuICAgICAgICAke2dldENvZGUoY3JlYXRlVGFibGVzKX1cbiAgICAgIH1cblxuICAgICAgZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGRvd24oa25leCkge1xuICAgICAgICAke2dldENvZGUoZHJvcFRhYmxlcyl9XG4gICAgICB9XG4gICAgYClcbiAgICBjb25zb2xlLmluZm8ocGljby5jeWFuKGBNaWdyYXRpb24gJyR7ZmlsZW5hbWV9JyBzdWNjZXNzZnVsbHkgY3JlYXRlZC5gKSlcbiAgICByZXR1cm4gdHJ1ZVxuICB9XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGNvbGxlY3RNb2RlbFRhYmxlcyhtb2RlbENsYXNzLCBhcHAsIHRhYmxlcykge1xuICBjb25zdCB0YWJsZU5hbWUgPSBhcHAubm9ybWFsaXplSWRlbnRpZmllcihtb2RlbENsYXNzLnRhYmxlTmFtZSlcbiAgY29uc3QgeyBwcm9wZXJ0aWVzLCByZWxhdGlvbnMgfSA9IG1vZGVsQ2xhc3MuZGVmaW5pdGlvblxuICBjb25zdCBzdGF0ZW1lbnRzID0gW11cbiAgdGFibGVzLnB1c2goeyB0YWJsZU5hbWUsIHN0YXRlbWVudHMgfSlcbiAgY29uc3QgdW5pcXVlQ29tcG9zaXRlcyA9IHt9XG4gIGZvciAoY29uc3QgW25hbWUsIHByb3BlcnR5XSBvZiBPYmplY3QuZW50cmllcyhwcm9wZXJ0aWVzKSkge1xuICAgIGNvbnN0IGNvbHVtbiA9IGFwcC5ub3JtYWxpemVJZGVudGlmaWVyKG5hbWUpXG4gICAgbGV0IHtcbiAgICAgIGRlc2NyaXB0aW9uLCB0eXBlLCBzcGVjaWZpY1R5cGUsIHVuc2lnbmVkLCBjb21wdXRlZCwgbnVsbGFibGUsIHJlcXVpcmVkLFxuICAgICAgcHJpbWFyeSwgZm9yZWlnbiwgdW5pcXVlLCBpbmRleCxcbiAgICAgIGRlZmF1bHQ6IF9kZWZhdWx0XG4gICAgfSA9IHByb3BlcnR5XG4gICAgY29uc3Qga25leFR5cGUgPSB0eXBlVG9LbmV4W3R5cGVdIHx8IHR5cGVcbiAgICBpZiAoIWNvbXB1dGVkKSB7XG4gICAgICBpZiAoZGVzY3JpcHRpb24pIHtcbiAgICAgICAgc3RhdGVtZW50cy5wdXNoKGAvLyAke2Rlc2NyaXB0aW9uLnJlcGxhY2UoL1xcc3syLH0vZywgJyAnKS50cmltKCl9YClcbiAgICAgIH1cbiAgICAgIGlmIChpc1N0cmluZyh1bmlxdWUpKSB7XG4gICAgICAgIC8vIFRvIGRlY2xhcmUgY29tcG9zaXRlIGZvcmVpZ24ga2V5cyBhcyB1bmlxdWUsIHlvdSBjYW4gZ2l2ZSBlYWNoXG4gICAgICAgIC8vIHByb3BlcnR5IHRoZSBzYW1lIHN0cmluZyB2YWx1ZSBpbiB0aGUgYHVuaXF1ZWAga2V5d29yZHMsIGUuZy46XG4gICAgICAgIC8vIGB1bmlxdWU6ICdjdXN0b21lcklkX25hbWUnXG4gICAgICAgIGNvbnN0IGNvbXBvc2l0ZXMgPSB1bmlxdWVDb21wb3NpdGVzW3VuaXF1ZV0gfHxcbiAgICAgICAgICAodW5pcXVlQ29tcG9zaXRlc1t1bmlxdWVdID0gW10pXG4gICAgICAgIGNvbXBvc2l0ZXMucHVzaChjb2x1bW4pXG4gICAgICAgIHVuaXF1ZSA9IGZhbHNlXG4gICAgICB9XG4gICAgICBjb25zdCBzdGF0ZW1lbnQgPSBwcmltYXJ5XG4gICAgICAgID8gW2B0YWJsZS5pbmNyZW1lbnRzKCcke2NvbHVtbn0nKS5wcmltYXJ5KClgXVxuICAgICAgICA6IHNwZWNpZmljVHlwZVxuICAgICAgICAgID8gW2B0YWJsZS5zcGVjaWZpY1R5cGUoJyR7Y29sdW1ufScsICcke3NwZWNpZmljVHlwZX0nKWBdXG4gICAgICAgICAgOiBbYHRhYmxlLiR7a25leFR5cGV9KCcke2NvbHVtbn0nKWBdXG4gICAgICBzdGF0ZW1lbnQucHVzaChcbiAgICAgICAgdW5zaWduZWQgJiYgJ3Vuc2lnbmVkKCknLFxuICAgICAgICAhcHJpbWFyeSAmJiByZXF1aXJlZCAmJiAnbm90TnVsbGFibGUoKScsXG4gICAgICAgIG51bGxhYmxlICYmICdudWxsYWJsZSgpJyxcbiAgICAgICAgdW5pcXVlICYmICd1bmlxdWUoKScsXG4gICAgICAgIGluZGV4ICYmICdpbmRleCgpJ1xuICAgICAgKVxuICAgICAgaWYgKF9kZWZhdWx0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgbGV0IHZhbHVlID0gZGVmYXVsdFZhbHVlc1tfZGVmYXVsdF1cbiAgICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICAgIHZhbHVlID0gaXNBcnJheShfZGVmYXVsdCkgfHwgaXNPYmplY3QoX2RlZmF1bHQpXG4gICAgICAgICAgICA/IEpTT04uc3RyaW5naWZ5KF9kZWZhdWx0KVxuICAgICAgICAgICAgOiBfZGVmYXVsdFxuICAgICAgICAgIGlmIChpc1N0cmluZyh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHZhbHVlID0gYCcke3ZhbHVlfSdgXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHN0YXRlbWVudC5wdXNoKGBkZWZhdWx0VG8oJHt2YWx1ZX0pYClcbiAgICAgIH1cbiAgICAgIGlmIChmb3JlaWduKSB7XG4gICAgICAgIGZvciAoY29uc3QgcmVsYXRpb24gb2YgT2JqZWN0LnZhbHVlcyhyZWxhdGlvbnMpKSB7XG4gICAgICAgICAgLy8gVE9ETzogU3VwcG9ydCBjb21wb3NpdGUga2V5cyBmb3IgZm9yZWlnbiByZWZlcmVuY2VzOlxuICAgICAgICAgIC8vIFVzZSBgYXNBcnJheShmcm9tKWAsIGBhc0FycmF5KHRvKWBcbiAgICAgICAgICBjb25zdCB7IGZyb20sIHRvLCBvd25lciB9ID0gcmVsYXRpb25cbiAgICAgICAgICBjb25zdCBbZnJvbUNsYXNzLCBmcm9tUHJvcGVydHldID0gZnJvbT8uc3BsaXQoJy4nKSB8fCBbXVxuICAgICAgICAgIGlmIChmcm9tUHJvcGVydHkgPT09IG5hbWUpIHtcbiAgICAgICAgICAgIGlmIChmcm9tQ2xhc3MgIT09IG1vZGVsQ2xhc3MubmFtZSkge1xuICAgICAgICAgICAgICB0aHJvdyBFcnJvcihgSW52YWxpZCByZWxhdGlvbiBkZWNsYXJhdGlvbjogJHtyZWxhdGlvbn1gKVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgW3RvQ2xhc3MsIHRvUHJvcGVydHldID0gdG8/LnNwbGl0KCcuJykgfHwgW11cbiAgICAgICAgICAgIHN0YXRlbWVudC5wdXNoKFxuICAgICAgICAgICAgICAnXFxuJyxcbiAgICAgICAgICAgICAgYHJlZmVyZW5jZXMoJyR7YXBwLm5vcm1hbGl6ZUlkZW50aWZpZXIodG9Qcm9wZXJ0eSl9JylgLFxuICAgICAgICAgICAgICBgaW5UYWJsZSgnJHthcHAubm9ybWFsaXplSWRlbnRpZmllcih0b0NsYXNzKX0nKWAsXG4gICAgICAgICAgICAgIC8vIE9ubHkgcmVsYXRpb25zIHRoYXQgYXJlbid0IG93bmVycyBvZiB0aGVpciBkYXRhIHNob3VsZCBjYXNjYWRlXG4gICAgICAgICAgICAgIC8vIG9uIGRlbGV0ZS5cbiAgICAgICAgICAgICAgLy8gVE9ETzogRmluZCB0aGUgcmV2ZXJzZSByZWxhdGlvbiBvZiB0aGlzIGluIHRoZSBvdGhlciBjbGFzcyBhbmRcbiAgICAgICAgICAgICAgLy8gb25seSBhZGQgYG9uRGVsZXRlKCdDQVNDQURFJylgIGlmIHRoYXQgb25lJ3MgYW4gb3duZXIuXG4gICAgICAgICAgICAgICFvd25lciAmJiBgb25EZWxldGUoJ0NBU0NBREUnKWBcbiAgICAgICAgICAgIClcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHN0YXRlbWVudHMucHVzaChzdGF0ZW1lbnQuZmlsdGVyKHN0ciA9PiAhIXN0cikuam9pbignLicpXG4gICAgICAgIC5yZXBsYWNlKC9cXC5cXG5cXC4vZywgJ1xcbiAgLicpKVxuICAgIH1cbiAgfVxuICBmb3IgKGNvbnN0IGNvbXBvc2l0ZXMgb2YgT2JqZWN0LnZhbHVlcyh1bmlxdWVDb21wb3NpdGVzKSkge1xuICAgIHN0YXRlbWVudHMucHVzaChgdGFibGUudW5pcXVlKFske1xuICAgICAgY29tcG9zaXRlcy5tYXAoY29sdW1uID0+IGAnJHtjb2x1bW59J2ApLmpvaW4oJywgJylcbiAgICB9XSlgKVxuICB9XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGNvbGxlY3RUaHJvdWdoVGFibGVzKG1vZGVsQ2xhc3MsIGFwcCwgdGFibGVzKSB7XG4gIGNvbnN0IHsgcmVsYXRpb25zIH0gPSBtb2RlbENsYXNzLmRlZmluaXRpb25cbiAgZm9yIChjb25zdCByZWxhdGlvbiBvZiBPYmplY3QudmFsdWVzKHJlbGF0aW9ucykpIHtcbiAgICBjb25zdCB7IGZyb20sIHRvLCBpbnZlcnNlIH0gPSByZWxhdGlvblxuICAgIGNvbnN0IHJlbGF0aW9uQ2xhc3MgPSBnZXRSZWxhdGlvbkNsYXNzKHJlbGF0aW9uLnJlbGF0aW9uKVxuICAgIGlmIChpc1Rocm91Z2hSZWxhdGlvbkNsYXNzKHJlbGF0aW9uQ2xhc3MpICYmICFpbnZlcnNlKSB7XG4gICAgICAvLyBUT0RPOiBTdXBwb3J0IGNvbXBvc2l0ZSBrZXlzIGZvciBmb3JlaWduIHJlZmVyZW5jZXM6XG4gICAgICAvLyBVc2UgYGFzQXJyYXkoZnJvbSlgLCBgYXNBcnJheSh0bylgXG4gICAgICBjb25zdCBbZnJvbUNsYXNzLCBmcm9tUHJvcGVydHldID0gZnJvbT8uc3BsaXQoJy4nKSB8fCBbXVxuICAgICAgY29uc3QgW3RvQ2xhc3MsIHRvUHJvcGVydHldID0gdG8/LnNwbGl0KCcuJykgfHwgW11cbiAgICAgIGNvbnN0IHN0YXRlbWVudHMgPSBbXVxuICAgICAgLy8gU2VlIGNvbnZlcnRSZWxhdGlvbnMoKVxuICAgICAgY29uc3QgdGFibGVOYW1lID0gYXBwLm5vcm1hbGl6ZUlkZW50aWZpZXIoYCR7ZnJvbUNsYXNzfSR7dG9DbGFzc31gKVxuICAgICAgY29uc3QgZnJvbUlkID0gYXBwLm5vcm1hbGl6ZUlkZW50aWZpZXIoXG4gICAgICAgIGAke2Zyb21DbGFzc30ke2NhcGl0YWxpemUoZnJvbVByb3BlcnR5KX1gKVxuICAgICAgY29uc3QgdG9JZCA9IGFwcC5ub3JtYWxpemVJZGVudGlmaWVyKFxuICAgICAgICBgJHt0b0NsYXNzfSR7Y2FwaXRhbGl6ZSh0b1Byb3BlcnR5KX1gKVxuICAgICAgdGFibGVzLnB1c2goeyB0YWJsZU5hbWUsIHN0YXRlbWVudHMgfSlcbiAgICAgIHN0YXRlbWVudHMucHVzaChgdGFibGUuaW5jcmVtZW50cygnaWQnKS5wcmltYXJ5KClgKVxuICAgICAgc3RhdGVtZW50cy5wdXNoKGRlaW5kZW50YFxuICAgICAgICB0YWJsZS5pbnRlZ2VyKCcke2Zyb21JZH0nKS51bnNpZ25lZCgpLmluZGV4KClcbiAgICAgICAgICAucmVmZXJlbmNlcygnJHthcHAubm9ybWFsaXplSWRlbnRpZmllcihmcm9tUHJvcGVydHkpfScpXFxcXFxuICAgICAgICAgIC5pblRhYmxlKCcke2FwcC5ub3JtYWxpemVJZGVudGlmaWVyKGZyb21DbGFzcyl9JylcXFxcXG4gICAgICAgICAgLm9uRGVsZXRlKCdDQVNDQURFJylgKVxuICAgICAgc3RhdGVtZW50cy5wdXNoKGRlaW5kZW50YFxuICAgICAgICB0YWJsZS5pbnRlZ2VyKCcke3RvSWR9JykudW5zaWduZWQoKS5pbmRleCgpXG4gICAgICAgICAgLnJlZmVyZW5jZXMoJyR7YXBwLm5vcm1hbGl6ZUlkZW50aWZpZXIodG9Qcm9wZXJ0eSl9JylcXFxcXG4gICAgICAgICAgLmluVGFibGUoJyR7YXBwLm5vcm1hbGl6ZUlkZW50aWZpZXIodG9DbGFzcyl9JylcXFxcXG4gICAgICAgICAgLm9uRGVsZXRlKCdDQVNDQURFJylgKVxuICAgIH1cbiAgfVxufVxuXG4vLyBFbnN1cmUgdGhhdCB3ZSBoYXZlIDIgcGxhY2VzIGZvciBlYWNoIG9mIHRoZSBkYXRlIHNlZ21lbnRzLlxuZnVuY3Rpb24gcGFkRGF0ZShzZWdtZW50KSB7XG4gIHJldHVybiBzZWdtZW50LnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKVxufVxuXG4vLyBHZXQgYSBkYXRlIG9iamVjdCBpbiB0aGUgY29ycmVjdCBmb3JtYXQsIHdpdGhvdXQgcmVxdWlyaW5nIGEgZnVsbCBvdXQgbGlicmFyeVxuLy8gbGlrZSBcIm1vbWVudC5qc1wiLlxuZnVuY3Rpb24gZ2V0VGltZXN0YW1wKCkge1xuICBjb25zdCBkID0gbmV3IERhdGUoKVxuICByZXR1cm4gZC5nZXRGdWxsWWVhcigpLnRvU3RyaW5nKCkgK1xuICAgIHBhZERhdGUoZC5nZXRNb250aCgpICsgMSkgK1xuICAgIHBhZERhdGUoZC5nZXREYXRlKCkpICtcbiAgICBwYWREYXRlKGQuZ2V0SG91cnMoKSkgK1xuICAgIHBhZERhdGUoZC5nZXRNaW51dGVzKCkpICtcbiAgICBwYWREYXRlKGQuZ2V0U2Vjb25kcygpKVxufVxuIl19
|
package/lib/cli/db/index.js
DELETED
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
require("core-js/modules/esnext.async-iterator.for-each.js");
|
|
4
|
-
|
|
5
|
-
require("core-js/modules/esnext.iterator.constructor.js");
|
|
6
|
-
|
|
7
|
-
require("core-js/modules/esnext.iterator.for-each.js");
|
|
8
|
-
|
|
9
|
-
exports.__esModule = true;
|
|
10
|
-
|
|
11
|
-
var _createMigration = require("./createMigration");
|
|
12
|
-
|
|
13
|
-
Object.keys(_createMigration).forEach(function (key) {
|
|
14
|
-
if (key === "default" || key === "__esModule") return;
|
|
15
|
-
if (key in exports && exports[key] === _createMigration[key]) return;
|
|
16
|
-
exports[key] = _createMigration[key];
|
|
17
|
-
});
|
|
18
|
-
|
|
19
|
-
var _listAssetConfig = require("./listAssetConfig");
|
|
20
|
-
|
|
21
|
-
Object.keys(_listAssetConfig).forEach(function (key) {
|
|
22
|
-
if (key === "default" || key === "__esModule") return;
|
|
23
|
-
if (key in exports && exports[key] === _listAssetConfig[key]) return;
|
|
24
|
-
exports[key] = _listAssetConfig[key];
|
|
25
|
-
});
|
|
26
|
-
|
|
27
|
-
var _migrate = require("./migrate");
|
|
28
|
-
|
|
29
|
-
Object.keys(_migrate).forEach(function (key) {
|
|
30
|
-
if (key === "default" || key === "__esModule") return;
|
|
31
|
-
if (key in exports && exports[key] === _migrate[key]) return;
|
|
32
|
-
exports[key] = _migrate[key];
|
|
33
|
-
});
|
|
34
|
-
|
|
35
|
-
var _rollback = require("./rollback");
|
|
36
|
-
|
|
37
|
-
Object.keys(_rollback).forEach(function (key) {
|
|
38
|
-
if (key === "default" || key === "__esModule") return;
|
|
39
|
-
if (key in exports && exports[key] === _rollback[key]) return;
|
|
40
|
-
exports[key] = _rollback[key];
|
|
41
|
-
});
|
|
42
|
-
|
|
43
|
-
var _reset = require("./reset");
|
|
44
|
-
|
|
45
|
-
Object.keys(_reset).forEach(function (key) {
|
|
46
|
-
if (key === "default" || key === "__esModule") return;
|
|
47
|
-
if (key in exports && exports[key] === _reset[key]) return;
|
|
48
|
-
exports[key] = _reset[key];
|
|
49
|
-
});
|
|
50
|
-
|
|
51
|
-
var _seed = require("./seed");
|
|
52
|
-
|
|
53
|
-
Object.keys(_seed).forEach(function (key) {
|
|
54
|
-
if (key === "default" || key === "__esModule") return;
|
|
55
|
-
if (key in exports && exports[key] === _seed[key]) return;
|
|
56
|
-
exports[key] = _seed[key];
|
|
57
|
-
});
|
|
58
|
-
|
|
59
|
-
var _unlock = require("./unlock");
|
|
60
|
-
|
|
61
|
-
Object.keys(_unlock).forEach(function (key) {
|
|
62
|
-
if (key === "default" || key === "__esModule") return;
|
|
63
|
-
if (key in exports && exports[key] === _unlock[key]) return;
|
|
64
|
-
exports[key] = _unlock[key];
|
|
65
|
-
});
|
|
66
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbGkvZGIvaW5kZXguanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQ0E7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFDQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUNBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQ0E7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFDQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUNBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NyZWF0ZU1pZ3JhdGlvbidcbmV4cG9ydCAqIGZyb20gJy4vbGlzdEFzc2V0Q29uZmlnJ1xuZXhwb3J0ICogZnJvbSAnLi9taWdyYXRlJ1xuZXhwb3J0ICogZnJvbSAnLi9yb2xsYmFjaydcbmV4cG9ydCAqIGZyb20gJy4vcmVzZXQnXG5leHBvcnQgKiBmcm9tICcuL3NlZWQnXG5leHBvcnQgKiBmcm9tICcuL3VubG9jaydcbiJdfQ==
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
exports.__esModule = true;
|
|
4
|
-
exports.listAssetConfig = listAssetConfig;
|
|
5
|
-
|
|
6
|
-
var _utils = require("../../utils");
|
|
7
|
-
|
|
8
|
-
async function listAssetConfig(app, ...args) {
|
|
9
|
-
const assetConfig = app.getAssetConfig({
|
|
10
|
-
models: args.length > 0 ? args : Object.keys(app.models),
|
|
11
|
-
normalizeDbNames: true
|
|
12
|
-
});
|
|
13
|
-
console.info((0, _utils.formatJson)(assetConfig));
|
|
14
|
-
return true;
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbGkvZGIvbGlzdEFzc2V0Q29uZmlnLmpzIl0sIm5hbWVzIjpbImxpc3RBc3NldENvbmZpZyIsImFwcCIsImFyZ3MiLCJhc3NldENvbmZpZyIsImdldEFzc2V0Q29uZmlnIiwibW9kZWxzIiwibGVuZ3RoIiwiT2JqZWN0Iiwia2V5cyIsIm5vcm1hbGl6ZURiTmFtZXMiLCJjb25zb2xlIiwiaW5mbyJdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTs7QUFFTyxlQUFlQSxlQUFmLENBQStCQyxHQUEvQixFQUFvQyxHQUFHQyxJQUF2QyxFQUE2QztBQUNsRCxRQUFNQyxXQUFXLEdBQUdGLEdBQUcsQ0FBQ0csY0FBSixDQUFtQjtBQUNyQ0MsSUFBQUEsTUFBTSxFQUFFSCxJQUFJLENBQUNJLE1BQUwsR0FBYyxDQUFkLEdBQWtCSixJQUFsQixHQUF5QkssTUFBTSxDQUFDQyxJQUFQLENBQVlQLEdBQUcsQ0FBQ0ksTUFBaEIsQ0FESTtBQUVyQ0ksSUFBQUEsZ0JBQWdCLEVBQUU7QUFGbUIsR0FBbkIsQ0FBcEI7QUFJQUMsRUFBQUEsT0FBTyxDQUFDQyxJQUFSLENBQWEsdUJBQVdSLFdBQVgsQ0FBYjtBQUNBLFNBQU8sSUFBUDtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZm9ybWF0SnNvbiB9IGZyb20gJ0AvdXRpbHMnXG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBsaXN0QXNzZXRDb25maWcoYXBwLCAuLi5hcmdzKSB7XG4gIGNvbnN0IGFzc2V0Q29uZmlnID0gYXBwLmdldEFzc2V0Q29uZmlnKHtcbiAgICBtb2RlbHM6IGFyZ3MubGVuZ3RoID4gMCA/IGFyZ3MgOiBPYmplY3Qua2V5cyhhcHAubW9kZWxzKSxcbiAgICBub3JtYWxpemVEYk5hbWVzOiB0cnVlXG4gIH0pXG4gIGNvbnNvbGUuaW5mbyhmb3JtYXRKc29uKGFzc2V0Q29uZmlnKSlcbiAgcmV0dXJuIHRydWVcbn1cbiJdfQ==
|
package/lib/cli/db/migrate.js
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
exports.__esModule = true;
|
|
4
|
-
exports.migrate = migrate;
|
|
5
|
-
|
|
6
|
-
var _picocolors = _interopRequireDefault(require("picocolors"));
|
|
7
|
-
|
|
8
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
9
|
-
|
|
10
|
-
async function migrate(knex) {
|
|
11
|
-
const [batch, log] = await knex.migrate.latest();
|
|
12
|
-
console.info(log.length === 0 ? _picocolors.default.cyan('Already up to date') : _picocolors.default.green(`Batch ${batch} run: ${log.length} migrations\n`) + _picocolors.default.cyan(log.join('\n')));
|
|
13
|
-
return true;
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbGkvZGIvbWlncmF0ZS5qcyJdLCJuYW1lcyI6WyJtaWdyYXRlIiwia25leCIsImJhdGNoIiwibG9nIiwibGF0ZXN0IiwiY29uc29sZSIsImluZm8iLCJsZW5ndGgiLCJwaWNvIiwiY3lhbiIsImdyZWVuIiwiam9pbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTs7OztBQUVPLGVBQWVBLE9BQWYsQ0FBdUJDLElBQXZCLEVBQTZCO0FBQ2xDLFFBQU0sQ0FBQ0MsS0FBRCxFQUFRQyxHQUFSLElBQWUsTUFBTUYsSUFBSSxDQUFDRCxPQUFMLENBQWFJLE1BQWIsRUFBM0I7QUFDQUMsRUFBQUEsT0FBTyxDQUFDQyxJQUFSLENBQWFILEdBQUcsQ0FBQ0ksTUFBSixLQUFlLENBQWYsR0FDVEMsb0JBQUtDLElBQUwsQ0FBVSxvQkFBVixDQURTLEdBRVRELG9CQUFLRSxLQUFMLENBQVksU0FBUVIsS0FBTSxTQUFRQyxHQUFHLENBQUNJLE1BQU8sZUFBN0MsSUFDQUMsb0JBQUtDLElBQUwsQ0FBVU4sR0FBRyxDQUFDUSxJQUFKLENBQVMsSUFBVCxDQUFWLENBSEo7QUFJQSxTQUFPLElBQVA7QUFDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBwaWNvIGZyb20gJ3BpY29jb2xvcnMnXG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBtaWdyYXRlKGtuZXgpIHtcbiAgY29uc3QgW2JhdGNoLCBsb2ddID0gYXdhaXQga25leC5taWdyYXRlLmxhdGVzdCgpXG4gIGNvbnNvbGUuaW5mbyhsb2cubGVuZ3RoID09PSAwXG4gICAgPyBwaWNvLmN5YW4oJ0FscmVhZHkgdXAgdG8gZGF0ZScpXG4gICAgOiBwaWNvLmdyZWVuKGBCYXRjaCAke2JhdGNofSBydW46ICR7bG9nLmxlbmd0aH0gbWlncmF0aW9uc1xcbmApICtcbiAgICAgIHBpY28uY3lhbihsb2cuam9pbignXFxuJykpKVxuICByZXR1cm4gdHJ1ZVxufVxuIl19
|
package/lib/cli/db/reset.js
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
exports.__esModule = true;
|
|
4
|
-
exports.reset = reset;
|
|
5
|
-
|
|
6
|
-
var _picocolors = _interopRequireDefault(require("picocolors"));
|
|
7
|
-
|
|
8
|
-
var _migrate = require("./migrate");
|
|
9
|
-
|
|
10
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
-
|
|
12
|
-
async function reset(knex) {
|
|
13
|
-
const batches = [];
|
|
14
|
-
const migrations = [];
|
|
15
|
-
|
|
16
|
-
while (true) {
|
|
17
|
-
const [batch, log] = await knex.migrate.rollback();
|
|
18
|
-
if (log.length === 0) break;
|
|
19
|
-
batches.push(batch);
|
|
20
|
-
migrations.push(...log);
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
console.info(migrations.length === 0 ? _picocolors.default.cyan('Already at the base migration') : _picocolors.default.green(`${batches.length > 1 ? 'Batches' : 'Batch'} ${batches} ` + `rolled back: ${migrations.length} migrations\n`) + _picocolors.default.cyan(migrations.join('\n')));
|
|
24
|
-
await (0, _migrate.migrate)(knex);
|
|
25
|
-
return true;
|
|
26
|
-
}
|
|
27
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbGkvZGIvcmVzZXQuanMiXSwibmFtZXMiOlsicmVzZXQiLCJrbmV4IiwiYmF0Y2hlcyIsIm1pZ3JhdGlvbnMiLCJiYXRjaCIsImxvZyIsIm1pZ3JhdGUiLCJyb2xsYmFjayIsImxlbmd0aCIsInB1c2giLCJjb25zb2xlIiwiaW5mbyIsInBpY28iLCJjeWFuIiwiZ3JlZW4iLCJqb2luIl0sIm1hcHBpbmdzIjoiOzs7OztBQUFBOztBQUNBOzs7O0FBRU8sZUFBZUEsS0FBZixDQUFxQkMsSUFBckIsRUFBMkI7QUFDaEMsUUFBTUMsT0FBTyxHQUFHLEVBQWhCO0FBQ0EsUUFBTUMsVUFBVSxHQUFHLEVBQW5COztBQUNBLFNBQU8sSUFBUCxFQUFhO0FBQ1gsVUFBTSxDQUFDQyxLQUFELEVBQVFDLEdBQVIsSUFBZSxNQUFNSixJQUFJLENBQUNLLE9BQUwsQ0FBYUMsUUFBYixFQUEzQjtBQUNBLFFBQUlGLEdBQUcsQ0FBQ0csTUFBSixLQUFlLENBQW5CLEVBQXNCO0FBQ3RCTixJQUFBQSxPQUFPLENBQUNPLElBQVIsQ0FBYUwsS0FBYjtBQUNBRCxJQUFBQSxVQUFVLENBQUNNLElBQVgsQ0FBZ0IsR0FBR0osR0FBbkI7QUFDRDs7QUFDREssRUFBQUEsT0FBTyxDQUFDQyxJQUFSLENBQWFSLFVBQVUsQ0FBQ0ssTUFBWCxLQUFzQixDQUF0QixHQUNUSSxvQkFBS0MsSUFBTCxDQUFVLCtCQUFWLENBRFMsR0FFVEQsb0JBQUtFLEtBQUwsQ0FBWSxHQUFFWixPQUFPLENBQUNNLE1BQVIsR0FBaUIsQ0FBakIsR0FBcUIsU0FBckIsR0FBaUMsT0FBUSxJQUFHTixPQUFRLEdBQXZELEdBQ1YsZ0JBQWVDLFVBQVUsQ0FBQ0ssTUFBTyxlQURsQyxJQUVBSSxvQkFBS0MsSUFBTCxDQUFVVixVQUFVLENBQUNZLElBQVgsQ0FBZ0IsSUFBaEIsQ0FBVixDQUpKO0FBS0EsUUFBTSxzQkFBUWQsSUFBUixDQUFOO0FBQ0EsU0FBTyxJQUFQO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgcGljbyBmcm9tICdwaWNvY29sb3JzJ1xuaW1wb3J0IHsgbWlncmF0ZSB9IGZyb20gJy4vbWlncmF0ZSdcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlc2V0KGtuZXgpIHtcbiAgY29uc3QgYmF0Y2hlcyA9IFtdXG4gIGNvbnN0IG1pZ3JhdGlvbnMgPSBbXVxuICB3aGlsZSAodHJ1ZSkge1xuICAgIGNvbnN0IFtiYXRjaCwgbG9nXSA9IGF3YWl0IGtuZXgubWlncmF0ZS5yb2xsYmFjaygpXG4gICAgaWYgKGxvZy5sZW5ndGggPT09IDApIGJyZWFrXG4gICAgYmF0Y2hlcy5wdXNoKGJhdGNoKVxuICAgIG1pZ3JhdGlvbnMucHVzaCguLi5sb2cpXG4gIH1cbiAgY29uc29sZS5pbmZvKG1pZ3JhdGlvbnMubGVuZ3RoID09PSAwXG4gICAgPyBwaWNvLmN5YW4oJ0FscmVhZHkgYXQgdGhlIGJhc2UgbWlncmF0aW9uJylcbiAgICA6IHBpY28uZ3JlZW4oYCR7YmF0Y2hlcy5sZW5ndGggPiAxID8gJ0JhdGNoZXMnIDogJ0JhdGNoJ30gJHtiYXRjaGVzfSBgICtcbiAgICAgIGByb2xsZWQgYmFjazogJHttaWdyYXRpb25zLmxlbmd0aH0gbWlncmF0aW9uc1xcbmApICtcbiAgICAgIHBpY28uY3lhbihtaWdyYXRpb25zLmpvaW4oJ1xcbicpKSlcbiAgYXdhaXQgbWlncmF0ZShrbmV4KVxuICByZXR1cm4gdHJ1ZVxufVxuIl19
|
package/lib/cli/db/rollback.js
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
exports.__esModule = true;
|
|
4
|
-
exports.rollback = rollback;
|
|
5
|
-
|
|
6
|
-
var _picocolors = _interopRequireDefault(require("picocolors"));
|
|
7
|
-
|
|
8
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
9
|
-
|
|
10
|
-
async function rollback(knex) {
|
|
11
|
-
const [batch, log] = await knex.migrate.rollback();
|
|
12
|
-
console.info(log.length === 0 ? _picocolors.default.cyan('Already at the base migration') : _picocolors.default.green(`Batch ${batch} rolled back: ${log.length} migrations\n`) + _picocolors.default.cyan(log.join('\n')));
|
|
13
|
-
return true;
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbGkvZGIvcm9sbGJhY2suanMiXSwibmFtZXMiOlsicm9sbGJhY2siLCJrbmV4IiwiYmF0Y2giLCJsb2ciLCJtaWdyYXRlIiwiY29uc29sZSIsImluZm8iLCJsZW5ndGgiLCJwaWNvIiwiY3lhbiIsImdyZWVuIiwiam9pbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTs7OztBQUVPLGVBQWVBLFFBQWYsQ0FBd0JDLElBQXhCLEVBQThCO0FBQ25DLFFBQU0sQ0FBQ0MsS0FBRCxFQUFRQyxHQUFSLElBQWUsTUFBTUYsSUFBSSxDQUFDRyxPQUFMLENBQWFKLFFBQWIsRUFBM0I7QUFDQUssRUFBQUEsT0FBTyxDQUFDQyxJQUFSLENBQWFILEdBQUcsQ0FBQ0ksTUFBSixLQUFlLENBQWYsR0FDVEMsb0JBQUtDLElBQUwsQ0FBVSwrQkFBVixDQURTLEdBRVRELG9CQUFLRSxLQUFMLENBQVksU0FBUVIsS0FBTSxpQkFBZ0JDLEdBQUcsQ0FBQ0ksTUFBTyxlQUFyRCxJQUNBQyxvQkFBS0MsSUFBTCxDQUFVTixHQUFHLENBQUNRLElBQUosQ0FBUyxJQUFULENBQVYsQ0FISjtBQUlBLFNBQU8sSUFBUDtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHBpY28gZnJvbSAncGljb2NvbG9ycydcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJvbGxiYWNrKGtuZXgpIHtcbiAgY29uc3QgW2JhdGNoLCBsb2ddID0gYXdhaXQga25leC5taWdyYXRlLnJvbGxiYWNrKClcbiAgY29uc29sZS5pbmZvKGxvZy5sZW5ndGggPT09IDBcbiAgICA/IHBpY28uY3lhbignQWxyZWFkeSBhdCB0aGUgYmFzZSBtaWdyYXRpb24nKVxuICAgIDogcGljby5ncmVlbihgQmF0Y2ggJHtiYXRjaH0gcm9sbGVkIGJhY2s6ICR7bG9nLmxlbmd0aH0gbWlncmF0aW9uc1xcbmApICtcbiAgICAgIHBpY28uY3lhbihsb2cuam9pbignXFxuJykpKVxuICByZXR1cm4gdHJ1ZVxufVxuIl19
|
package/lib/cli/db/seed.js
DELETED
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
require("core-js/modules/esnext.weak-map.delete-all.js");
|
|
4
|
-
|
|
5
|
-
require("core-js/modules/esnext.weak-map.emplace.js");
|
|
6
|
-
|
|
7
|
-
exports.__esModule = true;
|
|
8
|
-
exports.seed = seed;
|
|
9
|
-
|
|
10
|
-
require("core-js/modules/esnext.async-iterator.reduce.js");
|
|
11
|
-
|
|
12
|
-
require("core-js/modules/esnext.iterator.constructor.js");
|
|
13
|
-
|
|
14
|
-
require("core-js/modules/esnext.iterator.reduce.js");
|
|
15
|
-
|
|
16
|
-
var _path = _interopRequireDefault(require("path"));
|
|
17
|
-
|
|
18
|
-
var _fsExtra = _interopRequireDefault(require("fs-extra"));
|
|
19
|
-
|
|
20
|
-
var _picocolors = _interopRequireDefault(require("picocolors"));
|
|
21
|
-
|
|
22
|
-
var _util = _interopRequireDefault(require("util"));
|
|
23
|
-
|
|
24
|
-
var _pluralize = _interopRequireDefault(require("pluralize"));
|
|
25
|
-
|
|
26
|
-
var _utils = require("@ditojs/utils");
|
|
27
|
-
|
|
28
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
29
|
-
|
|
30
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
31
|
-
|
|
32
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
33
|
-
|
|
34
|
-
async function seed(app) {
|
|
35
|
-
const seedDir = _path.default.join(process.cwd(), 'seeds');
|
|
36
|
-
|
|
37
|
-
const files = await _fsExtra.default.readdir(seedDir);
|
|
38
|
-
const seeds = [];
|
|
39
|
-
const modelIndices = Object.keys(app.models).reduce((indices, name, index) => {
|
|
40
|
-
indices[name] = index;
|
|
41
|
-
return indices;
|
|
42
|
-
}, {});
|
|
43
|
-
|
|
44
|
-
for (const file of files) {
|
|
45
|
-
const {
|
|
46
|
-
name,
|
|
47
|
-
ext,
|
|
48
|
-
base
|
|
49
|
-
} = _path.default.parse(file);
|
|
50
|
-
|
|
51
|
-
if (!name.startsWith('.') && ['.js', '.json'].includes(ext)) {
|
|
52
|
-
const object = await Promise.resolve(`${_path.default.resolve(seedDir, file)}`).then(s => _interopRequireWildcard(require(s)));
|
|
53
|
-
const seed = object.default || object;
|
|
54
|
-
const modelClass = app.models[name] || app.models[(0, _utils.camelize)(_pluralize.default.singular(name), true)];
|
|
55
|
-
const index = modelClass ? modelIndices[modelClass.name] : Infinity;
|
|
56
|
-
seeds.push({
|
|
57
|
-
base,
|
|
58
|
-
seed,
|
|
59
|
-
modelClass,
|
|
60
|
-
index
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
seeds.sort((entry1, entry2) => entry1.index - entry2.index);
|
|
66
|
-
|
|
67
|
-
for (const {
|
|
68
|
-
base,
|
|
69
|
-
seed,
|
|
70
|
-
modelClass
|
|
71
|
-
} of seeds) {
|
|
72
|
-
await handleSeed(app, base, seed, modelClass);
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
return true;
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
async function handleSeed(app, base, seed, modelClass) {
|
|
79
|
-
try {
|
|
80
|
-
let res;
|
|
81
|
-
|
|
82
|
-
if ((0, _utils.isFunction)(seed)) {
|
|
83
|
-
res = await seed(app.models);
|
|
84
|
-
} else if (modelClass) {
|
|
85
|
-
await modelClass.truncate({
|
|
86
|
-
cascade: true
|
|
87
|
-
});
|
|
88
|
-
res = await modelClass.insertGraph(seed);
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
if ((0, _utils.isArray)(res)) {
|
|
92
|
-
console.info(_picocolors.default.green(`${base}:`), _picocolors.default.cyan(`${res.length} seed records created.`));
|
|
93
|
-
} else {
|
|
94
|
-
console.info(_picocolors.default.red(`${base}:`), _picocolors.default.cyan('No seed records created.'));
|
|
95
|
-
}
|
|
96
|
-
} catch (err) {
|
|
97
|
-
console.error(_picocolors.default.red(`${base}:`), _util.default.inspect(err, {
|
|
98
|
-
colors: true,
|
|
99
|
-
depth: null,
|
|
100
|
-
maxArrayLength: null
|
|
101
|
-
}));
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbGkvZGIvc2VlZC5qcyJdLCJuYW1lcyI6WyJzZWVkIiwiYXBwIiwic2VlZERpciIsInBhdGgiLCJqb2luIiwicHJvY2VzcyIsImN3ZCIsImZpbGVzIiwiZnMiLCJyZWFkZGlyIiwic2VlZHMiLCJtb2RlbEluZGljZXMiLCJPYmplY3QiLCJrZXlzIiwibW9kZWxzIiwicmVkdWNlIiwiaW5kaWNlcyIsIm5hbWUiLCJpbmRleCIsImZpbGUiLCJleHQiLCJiYXNlIiwicGFyc2UiLCJzdGFydHNXaXRoIiwiaW5jbHVkZXMiLCJvYmplY3QiLCJyZXNvbHZlIiwiZGVmYXVsdCIsIm1vZGVsQ2xhc3MiLCJwbHVyYWxpemUiLCJzaW5ndWxhciIsIkluZmluaXR5IiwicHVzaCIsInNvcnQiLCJlbnRyeTEiLCJlbnRyeTIiLCJoYW5kbGVTZWVkIiwicmVzIiwidHJ1bmNhdGUiLCJjYXNjYWRlIiwiaW5zZXJ0R3JhcGgiLCJjb25zb2xlIiwiaW5mbyIsInBpY28iLCJncmVlbiIsImN5YW4iLCJsZW5ndGgiLCJyZWQiLCJlcnIiLCJlcnJvciIsInV0aWwiLCJpbnNwZWN0IiwiY29sb3JzIiwiZGVwdGgiLCJtYXhBcnJheUxlbmd0aCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7Ozs7O0FBRU8sZUFBZUEsSUFBZixDQUFvQkMsR0FBcEIsRUFBeUI7QUFDOUIsUUFBTUMsT0FBTyxHQUFHQyxjQUFLQyxJQUFMLENBQVVDLE9BQU8sQ0FBQ0MsR0FBUixFQUFWLEVBQXlCLE9BQXpCLENBQWhCOztBQUNBLFFBQU1DLEtBQUssR0FBRyxNQUFNQyxpQkFBR0MsT0FBSCxDQUFXUCxPQUFYLENBQXBCO0FBQ0EsUUFBTVEsS0FBSyxHQUFHLEVBQWQ7QUFFQSxRQUFNQyxZQUFZLEdBQUdDLE1BQU0sQ0FBQ0MsSUFBUCxDQUFZWixHQUFHLENBQUNhLE1BQWhCLEVBQXdCQyxNQUF4QixDQUNu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QkFBS0UsSUFBTCxDQUFVLDBCQUFWLENBRkY7QUFJRDtBQUNGLEdBbkJELENBbUJFLE9BQU9HLEdBQVAsRUFBWTtBQUNaUCxJQUFBQSxPQUFPLENBQUNRLEtBQVIsQ0FDRU4sb0JBQUtJLEdBQUwsQ0FBVSxHQUFFMUIsSUFBSyxHQUFqQixDQURGLEVBRUU2QixjQUFLQyxPQUFMLENBQWFILEdBQWIsRUFBa0I7QUFDaEJJLE1BQUFBLE1BQU0sRUFBRSxJQURRO0FBRWhCQyxNQUFBQSxLQUFLLEVBQUUsSUFGUztBQUdoQkMsTUFBQUEsY0FBYyxFQUFFO0FBSEEsS0FBbEIsQ0FGRjtBQVFEO0FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgcGF0aCBmcm9tICdwYXRoJ1xuaW1wb3J0IGZzIGZyb20gJ2ZzLWV4dHJhJ1xuaW1wb3J0IHBpY28gZnJvbSAncGljb2NvbG9ycydcbmltcG9ydCB1dGlsIGZyb20gJ3V0aWwnXG5pbXBvcnQgcGx1cmFsaXplIGZyb20gJ3BsdXJhbGl6ZSdcbmltcG9ydCB7IGlzRnVuY3Rpb24sIGlzQXJyYXksIGNhbWVsaXplIH0gZnJvbSAnQGRpdG9qcy91dGlscydcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNlZWQoYXBwKSB7XG4gIGNvbnN0IHNlZWREaXIgPSBwYXRoLmpvaW4ocHJvY2Vzcy5jd2QoKSwgJ3NlZWRzJylcbiAgY29uc3QgZmlsZXMgPSBhd2FpdCBmcy5yZWFkZGlyKHNlZWREaXIpXG4gIGNvbnN0IHNlZWRzID0gW11cbiAgLy8gQ3JlYXRlIGEgbG9va3VwIHRhYmxlIHdpdGggc29ydCBpbmRpY2VzIHBlciBtb2RlbCBuYW1lLlxuICBjb25zdCBtb2RlbEluZGljZXMgPSBPYmplY3Qua2V5cyhhcHAubW9kZWxzKS5yZWR1Y2UoXG4gICAgKGluZGljZXMsIG5hbWUsIGluZGV4KSA9PiB7XG4gICAgICBpbmRpY2VzW25hbWVdID0gaW5kZXhcbiAgICAgIHJldHVybiBpbmRpY2VzXG4gICAgfSxcbiAgICB7fVxuICApXG4gIC8vIENvbGxlY3QgYWxsIHNlZWQsIGFuZCBzZXBhcmF0ZSBiZXR3ZWVuIHNlZWQgZnVuY3Rpb25zIGFuZCBtb2RlbCBzZWUgZGF0YTpcbiAgZm9yIChjb25zdCBmaWxlIG9mIGZpbGVzKSB7XG4gICAgY29uc3QgeyBuYW1lLCBleHQsIGJhc2UgfSA9IHBhdGgucGFyc2UoZmlsZSlcbiAgICBpZiAoIW5hbWUuc3RhcnRzV2l0aCgnLicpICYmIFsnLmpzJywgJy5qc29uJ10uaW5jbHVkZXMoZXh0KSkge1xuICAgICAgY29uc3Qgb2JqZWN0ID0gYXdhaXQgaW1wb3J0KHBhdGgucmVzb2x2ZShzZWVkRGlyLCBmaWxlKSlcbiAgICAgIGNvbnN0IHNlZWQgPSBvYmplY3QuZGVmYXVsdCB8fCBvYmplY3RcbiAgICAgIC8vIFRyeSB0byBkZXRlcm1pbmUgdGhlIHJlbGF0ZWQgbW9kZWwgZnJvbSB0aGUgc2VlZCBuYW1lLCBhbmQgdXNlIGl0IGFsc29cbiAgICAgIC8vIHRvIGRldGVybWluZSBzZWVkIHNlcXVlbmNlIGJhc2VkIG9uIGl0cyBpbmRleCBpbiBgYXBwLm1vZGVsc2AuXG4gICAgICBjb25zdCBtb2RlbENsYXNzID1cbiAgICAgICAgYXBwLm1vZGVsc1tuYW1lXSB8fFxuICAgICAgICBhcHAubW9kZWxzW2NhbWVsaXplKHBsdXJhbGl6ZS5zaW5ndWxhcihuYW1lKSwgdHJ1ZSldXG4gICAgICBjb25zdCBpbmRleCA9IG1vZGVsQ2xhc3MgPyBtb2RlbEluZGljZXNbbW9kZWxDbGFzcy5uYW1lXSA6IEluZmluaXR5XG4gICAgICBzZWVkcy5wdXNoKHtcbiAgICAgICAgYmFzZSxcbiAgICAgICAgc2VlZCxcbiAgICAgICAgbW9kZWxDbGFzcyxcbiAgICAgICAgaW5kZXhcbiAgICAgIH0pXG4gICAgfVxuICB9XG4gIC8vIE5vdyBzb3J0IHRoZSBzZWVkIG1vZGVsIGRhdGEgYWNjb3JkaW5nIHRvIGBhcHAubW9kZWxzYCBzb3J0aW5nLFxuICAvLyBhcyBkZXRlcm1pbmVkIGJ5IGBBcHBsaWNhdGlvbi5zb3J0TW9kZWxzKClgOlxuICBzZWVkcy5zb3J0KChlbnRyeTEsIGVudHJ5MikgPT4gZW50cnkxLmluZGV4IC0gZW50cnkyLmluZGV4KVxuICBmb3IgKGNvbnN0IHsgYmFzZSwgc2VlZCwgbW9kZWxDbGFzcyB9IG9mIHNlZWRzKSB7XG4gICAgYXdhaXQgaGFuZGxlU2VlZChhcHAsIGJhc2UsIHNlZWQsIG1vZGVsQ2xhc3MpXG4gIH1cbiAgcmV0dXJuIHRydWVcbn1cblxuYXN5bmMgZnVuY3Rpb24gaGFuZGxlU2VlZChhcHAsIGJhc2UsIHNlZWQsIG1vZGVsQ2xhc3MpIHtcbiAgdHJ5IHtcbiAgICBsZXQgcmVzXG4gICAgaWYgKGlzRnVuY3Rpb24oc2VlZCkpIHtcbiAgICAgIHJlcyA9IGF3YWl0IHNlZWQoYXBwLm1vZGVscylcbiAgICB9IGVsc2UgaWYgKG1vZGVsQ2xhc3MpIHtcbiAgICAgIGF3YWl0IG1vZGVsQ2xhc3MudHJ1bmNhdGUoeyBjYXNjYWRlOiB0cnVlIH0pXG4gICAgICByZXMgPSBhd2FpdCBtb2RlbENsYXNzLmluc2VydEdyYXBoKHNlZWQpXG4gICAgfVxuICAgIGlmIChpc0FycmF5KHJlcykpIHtcbiAgICAgIGNvbnNvbGUuaW5mbyhcbiAgICAgICAgcGljby5ncmVlbihgJHtiYXNlfTpgKSxcbiAgICAgICAgcGljby5jeWFuKGAke3Jlcy5sZW5ndGh9IHNlZWQgcmVjb3JkcyBjcmVhdGVkLmApXG4gICAgICApXG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUuaW5mbyhcbiAgICAgICAgcGljby5yZWQoYCR7YmFzZX06YCksXG4gICAgICAgIHBpY28uY3lhbignTm8gc2VlZCByZWNvcmRzIGNyZWF0ZWQuJylcbiAgICAgIClcbiAgICB9XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICBwaWNvLnJlZChgJHtiYXNlfTpgKSxcbiAgICAgIHV0aWwuaW5zcGVjdChlcnIsIHtcbiAgICAgICAgY29sb3JzOiB0cnVlLFxuICAgICAgICBkZXB0aDogbnVsbCxcbiAgICAgICAgbWF4QXJyYXlMZW5ndGg6IG51bGxcbiAgICAgIH0pXG4gICAgKVxuICB9XG59XG4iXX0=
|
package/lib/cli/db/unlock.js
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
exports.__esModule = true;
|
|
4
|
-
exports.unlock = unlock;
|
|
5
|
-
|
|
6
|
-
var _picocolors = _interopRequireDefault(require("picocolors"));
|
|
7
|
-
|
|
8
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
9
|
-
|
|
10
|
-
async function unlock(knex) {
|
|
11
|
-
await knex.migrate.forceFreeMigrationsLock();
|
|
12
|
-
console.info(_picocolors.default.green(`Successfully unlocked the migrations lock table`));
|
|
13
|
-
return true;
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbGkvZGIvdW5sb2NrLmpzIl0sIm5hbWVzIjpbInVubG9jayIsImtuZXgiLCJtaWdyYXRlIiwiZm9yY2VGcmVlTWlncmF0aW9uc0xvY2siLCJjb25zb2xlIiwiaW5mbyIsInBpY28iLCJncmVlbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTs7OztBQUVPLGVBQWVBLE1BQWYsQ0FBc0JDLElBQXRCLEVBQTRCO0FBQ2pDLFFBQU1BLElBQUksQ0FBQ0MsT0FBTCxDQUFhQyx1QkFBYixFQUFOO0FBQ0FDLEVBQUFBLE9BQU8sQ0FBQ0MsSUFBUixDQUNFQyxvQkFBS0MsS0FBTCxDQUFZLGlEQUFaLENBREY7QUFHQSxTQUFPLElBQVA7QUFDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBwaWNvIGZyb20gJ3BpY29jb2xvcnMnXG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB1bmxvY2soa25leCkge1xuICBhd2FpdCBrbmV4Lm1pZ3JhdGUuZm9yY2VGcmVlTWlncmF0aW9uc0xvY2soKVxuICBjb25zb2xlLmluZm8oXG4gICAgcGljby5ncmVlbihgU3VjY2Vzc2Z1bGx5IHVubG9ja2VkIHRoZSBtaWdyYXRpb25zIGxvY2sgdGFibGVgKVxuICApXG4gIHJldHVybiB0cnVlXG59XG4iXX0=
|