New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@directus/schema

Package Overview
Dependencies
Maintainers
3
Versions
170
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@directus/schema - npm Package Compare versions

Comparing version 9.0.0-rc.56 to 9.0.0-rc.57

20

dist/dialects/oracledb.js

@@ -69,2 +69,3 @@ "use strict";

var oracledb_1 = __importDefault(require("knex-schema-inspector/dist/dialects/oracledb"));
var lodash_1 = require("lodash");
var Oracle = /** @class */ (function (_super) {

@@ -78,8 +79,9 @@ __extends(Oracle, _super);

return __awaiter(this, void 0, void 0, function () {
var columns, overview, _loop_1, _i, _b, column;
return __generator(this, function (_c) {
switch (_c.label) {
case 0: return [4 /*yield*/, this.knex.raw("\n\t\t\tSELECT\n\t\t\t\t\"USER_TAB_COLUMNS\".\"TABLE_NAME\" AS table_name,\n\t\t\t\t\"USER_TAB_COLUMNS\".\"COLUMN_NAME\" AS column_name,\n\t\t\t\t\"USER_TAB_COLUMNS\".\"DATA_DEFAULT\" AS default_value,\n\t\t\t\t\"USER_TAB_COLUMNS\".\"NULLABLE\" AS is_nullable,\n\t\t\t\t\"USER_TAB_COLUMNS\".\"DATA_TYPE\" AS data_type,\n\t\t\t\t\"USER_TAB_COLUMNS\".\"DATA_PRECISION\" AS numeric_precision,\n\t\t\t\t\"USER_TAB_COLUMNS\".\"DATA_SCALE\" AS numeric_scale,\n\t\t\t\t\"USER_CONSTRAINTS\".\"CONSTRAINT_TYPE\" AS column_key\n\t\t\tFROM\n\t\t\t\t\"USER_TAB_COLUMNS\"\n\t\t\t\tLEFT JOIN \"USER_CONS_COLUMNS\" ON \"USER_TAB_COLUMNS\".\"TABLE_NAME\" = \"USER_CONS_COLUMNS\".\"TABLE_NAME\"\n\t\t\t\t\tAND \"USER_TAB_COLUMNS\".\"COLUMN_NAME\" = \"USER_CONS_COLUMNS\".\"COLUMN_NAME\"\n\t\t\t\tLEFT JOIN \"USER_CONSTRAINTS\" ON \"USER_CONS_COLUMNS\".\"CONSTRAINT_NAME\" = \"USER_CONSTRAINTS\".\"CONSTRAINT_NAME\"\n\t\t")];
var columns, columnsLowercase, overview, _loop_1, _i, columnsLowercase_1, column;
return __generator(this, function (_b) {
switch (_b.label) {
case 0: return [4 /*yield*/, this.knex.raw("\n\t\t\tSELECT\n\t\t\t\t\"USER_TAB_COLUMNS\".\"TABLE_NAME\" AS TABLE_NAME,\n\t\t\t\t\"USER_TAB_COLUMNS\".\"COLUMN_NAME\" AS COLUMN_NAME,\n\t\t\t\t\"USER_TAB_COLUMNS\".\"DATA_DEFAULT\" AS DEFAULT_VALUE,\n\t\t\t\t\"USER_TAB_COLUMNS\".\"NULLABLE\" AS IS_NULLABLE,\n\t\t\t\t\"USER_TAB_COLUMNS\".\"DATA_TYPE\" AS DATA_TYPE,\n\t\t\t\t\"USER_TAB_COLUMNS\".\"DATA_PRECISION\" AS NUMERIC_PRECISION,\n\t\t\t\t\"USER_TAB_COLUMNS\".\"DATA_SCALE\" AS NUMERIC_SCALE,\n\t\t\t\t\"USER_CONSTRAINTS\".\"CONSTRAINT_TYPE\" AS COLUMN_KEY\n\t\t\tFROM\n\t\t\t\t\"USER_TAB_COLUMNS\"\n\t\t\t\tLEFT JOIN \"USER_CONS_COLUMNS\" ON \"USER_TAB_COLUMNS\".\"TABLE_NAME\" = \"USER_CONS_COLUMNS\".\"TABLE_NAME\"\n\t\t\t\t\tAND \"USER_TAB_COLUMNS\".\"COLUMN_NAME\" = \"USER_CONS_COLUMNS\".\"COLUMN_NAME\"\n\t\t\t\tLEFT JOIN \"USER_CONSTRAINTS\" ON \"USER_CONS_COLUMNS\".\"CONSTRAINT_NAME\" = \"USER_CONSTRAINTS\".\"CONSTRAINT_NAME\"\n\t\t")];
case 1:
columns = _c.sent();
columns = _b.sent();
columnsLowercase = columns.map(function (column) { return lodash_1.mapKeys(column, function (value, key) { return key.toLowerCase(); }); });
overview = {};

@@ -89,5 +91,5 @@ _loop_1 = function (column) {

overview[column.table_name] = {
primary: (_a = columns[0].find(function (nested) {
primary: ((_a = columnsLowercase.find(function (nested) {
return nested.table_name === column.table_name && nested.column_key === 'P';
})) === null || _a === void 0 ? void 0 : _a.column_name,
})) === null || _a === void 0 ? void 0 : _a.column_name) || 'id',
columns: {},

@@ -98,4 +100,4 @@ };

};
for (_i = 0, _b = columns[0]; _i < _b.length; _i++) {
column = _b[_i];
for (_i = 0, columnsLowercase_1 = columnsLowercase; _i < columnsLowercase_1.length; _i++) {
column = columnsLowercase_1[_i];
_loop_1(column);

@@ -102,0 +104,0 @@ }

{
"name": "@directus/schema",
"version": "9.0.0-rc.56",
"version": "9.0.0-rc.57",
"description": "Utility for extracting information about existing DB schema",

@@ -46,5 +46,6 @@ "main": "dist/index.js",

"dependencies": {
"knex-schema-inspector": "^1.2.0"
"knex-schema-inspector": "^1.2.0",
"lodash": "^4.17.21"
},
"gitHead": "f8f843e5be40cc7b6f768908121d8ef9fd7005cc"
"gitHead": "1bfa128308b9fd45f9c4f860be5b982dccaa115c"
}
import KnexOracle from 'knex-schema-inspector/dist/dialects/oracledb';
import { SchemaOverview } from '../types/overview';
import { SchemaInspector } from '../types/schema';
import { mapKeys } from 'lodash';
export default class Oracle extends KnexOracle implements SchemaInspector {
async overview() {
const columns = await this.knex.raw(`
type RawColumn = {
TABLE_NAME: string;
COLUMN_NAME: string;
DEFAULT_VALUE: string;
IS_NULLABLE: string;
DATA_TYPE: string;
NUMERIC_PRECISION: number | null;
NUMERIC_SCALE: number | null;
COLUMN_KEY: string;
};
type RawColumnLowercase = {
table_name: string;
column_name: string;
default_value: string;
is_nullable: string;
data_type: string;
numeric_precision: number | null;
numeric_scale: number | null;
column_key: string;
};
const columns = await this.knex.raw<RawColumn[]>(`
SELECT
"USER_TAB_COLUMNS"."TABLE_NAME" AS table_name,
"USER_TAB_COLUMNS"."COLUMN_NAME" AS column_name,
"USER_TAB_COLUMNS"."DATA_DEFAULT" AS default_value,
"USER_TAB_COLUMNS"."NULLABLE" AS is_nullable,
"USER_TAB_COLUMNS"."DATA_TYPE" AS data_type,
"USER_TAB_COLUMNS"."DATA_PRECISION" AS numeric_precision,
"USER_TAB_COLUMNS"."DATA_SCALE" AS numeric_scale,
"USER_CONSTRAINTS"."CONSTRAINT_TYPE" AS column_key
"USER_TAB_COLUMNS"."TABLE_NAME" AS TABLE_NAME,
"USER_TAB_COLUMNS"."COLUMN_NAME" AS COLUMN_NAME,
"USER_TAB_COLUMNS"."DATA_DEFAULT" AS DEFAULT_VALUE,
"USER_TAB_COLUMNS"."NULLABLE" AS IS_NULLABLE,
"USER_TAB_COLUMNS"."DATA_TYPE" AS DATA_TYPE,
"USER_TAB_COLUMNS"."DATA_PRECISION" AS NUMERIC_PRECISION,
"USER_TAB_COLUMNS"."DATA_SCALE" AS NUMERIC_SCALE,
"USER_CONSTRAINTS"."CONSTRAINT_TYPE" AS COLUMN_KEY
FROM

@@ -24,10 +47,15 @@ "USER_TAB_COLUMNS"

const columnsLowercase: RawColumnLowercase[] = columns.map(
(column) => mapKeys(column, (value, key) => key.toLowerCase()) as RawColumnLowercase
);
const overview: SchemaOverview = {};
for (const column of columns[0]) {
for (const column of columnsLowercase) {
if (column.table_name in overview === false) {
overview[column.table_name] = {
primary: columns[0].find((nested: { column_key: string; table_name: string }) => {
return nested.table_name === column.table_name && nested.column_key === 'P';
})?.column_name,
primary:
columnsLowercase.find((nested: { column_key: string; table_name: string }) => {
return nested.table_name === column.table_name && nested.column_key === 'P';
})?.column_name || 'id',
columns: {},

@@ -42,4 +70,5 @@ };

}
return overview;
}
}
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc