@saltcorn/data 1.1.3 → 1.1.4-alpha.1
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/base-plugin/index.d.ts +3 -9
- package/dist/base-plugin/index.d.ts.map +1 -1
- package/dist/base-plugin/viewtemplates/edit.d.ts +1 -3
- package/dist/base-plugin/viewtemplates/edit.d.ts.map +1 -1
- package/dist/base-plugin/viewtemplates/edit.js +167 -158
- package/dist/base-plugin/viewtemplates/edit.js.map +1 -1
- package/dist/base-plugin/viewtemplates/filter.d.ts +1 -3
- package/dist/base-plugin/viewtemplates/filter.d.ts.map +1 -1
- package/dist/base-plugin/viewtemplates/filter.js +46 -43
- package/dist/base-plugin/viewtemplates/filter.js.map +1 -1
- package/dist/base-plugin/viewtemplates/list.d.ts.map +1 -1
- package/dist/base-plugin/viewtemplates/list.js +34 -35
- package/dist/base-plugin/viewtemplates/list.js.map +1 -1
- package/dist/base-plugin/viewtemplates/show.d.ts +1 -3
- package/dist/base-plugin/viewtemplates/show.d.ts.map +1 -1
- package/dist/base-plugin/viewtemplates/show.js +20 -21
- package/dist/base-plugin/viewtemplates/show.js.map +1 -1
- package/dist/db/index.d.ts.map +1 -1
- package/dist/db/index.js.map +1 -1
- package/dist/models/config.d.ts.map +1 -1
- package/dist/models/config.js +7 -0
- package/dist/models/config.js.map +1 -1
- package/dist/models/discovery.d.ts.map +1 -1
- package/dist/models/discovery.js +2 -1
- package/dist/models/discovery.js.map +1 -1
- package/dist/models/field.d.ts.map +1 -1
- package/dist/models/field.js +15 -14
- package/dist/models/field.js.map +1 -1
- package/dist/models/model.d.ts.map +1 -1
- package/dist/models/model.js +6 -2
- package/dist/models/model.js.map +1 -1
- package/dist/models/page.d.ts +1 -0
- package/dist/models/page.d.ts.map +1 -1
- package/dist/models/page.js +8 -2
- package/dist/models/page.js.map +1 -1
- package/dist/models/page_group.d.ts +2 -3
- package/dist/models/page_group.d.ts.map +1 -1
- package/dist/models/page_group.js +72 -112
- package/dist/models/page_group.js.map +1 -1
- package/dist/models/page_group_member.d.ts +4 -4
- package/dist/models/page_group_member.d.ts.map +1 -1
- package/dist/models/page_group_member.js +11 -11
- package/dist/models/page_group_member.js.map +1 -1
- package/dist/models/table.d.ts +1 -0
- package/dist/models/table.d.ts.map +1 -1
- package/dist/models/table.js +51 -56
- package/dist/models/table.js.map +1 -1
- package/dist/models/table_constraints.d.ts.map +1 -1
- package/dist/models/table_constraints.js +6 -3
- package/dist/models/table_constraints.js.map +1 -1
- package/dist/models/trigger.d.ts +2 -0
- package/dist/models/trigger.d.ts.map +1 -1
- package/dist/models/trigger.js +26 -4
- package/dist/models/trigger.js.map +1 -1
- package/dist/models/view.d.ts +1 -0
- package/dist/models/view.d.ts.map +1 -1
- package/dist/models/view.js +9 -3
- package/dist/models/view.js.map +1 -1
- package/dist/tests/calc.test.js +2 -3
- package/dist/tests/calc.test.js.map +1 -1
- package/dist/tests/exact_views.test.js +1 -0
- package/dist/tests/exact_views.test.js.map +1 -1
- package/package.json +8 -8
package/dist/models/table.js
CHANGED
|
@@ -222,13 +222,17 @@ class Table {
|
|
|
222
222
|
t.update = async (upd_rec) => {
|
|
223
223
|
const { fields, constraints, ...updDB } = upd_rec;
|
|
224
224
|
await db_1.default.update("_sc_tables", updDB, tbl.id);
|
|
225
|
-
|
|
225
|
+
//limited refresh if we do not have a client
|
|
226
|
+
if (!db_1.default.getRequestContext()?.client)
|
|
227
|
+
await require("../db/state").getState().refresh_tables(true);
|
|
226
228
|
};
|
|
227
229
|
t.delete = async (upd_rec) => {
|
|
228
230
|
const schema = db_1.default.getTenantSchemaPrefix();
|
|
229
231
|
await db_1.default.deleteWhere("_sc_tag_entries", { table_id: this.id });
|
|
230
232
|
await db_1.default.query(`delete FROM ${schema}_sc_tables WHERE id = $1`, [tbl.id]);
|
|
231
|
-
|
|
233
|
+
//limited refresh if we do not have a client
|
|
234
|
+
if (!db_1.default.getRequestContext()?.client)
|
|
235
|
+
await require("../db/state").getState().refresh_tables(true);
|
|
232
236
|
};
|
|
233
237
|
return t;
|
|
234
238
|
}
|
|
@@ -609,7 +613,9 @@ class Table {
|
|
|
609
613
|
if (table.has_sync_info)
|
|
610
614
|
await table.create_sync_info_table();
|
|
611
615
|
// refresh tables cache
|
|
612
|
-
|
|
616
|
+
//limited refresh if we do not have a client
|
|
617
|
+
if (!db_1.default.getRequestContext()?.client)
|
|
618
|
+
await require("../db/state").getState().refresh_tables(true);
|
|
613
619
|
return table;
|
|
614
620
|
}
|
|
615
621
|
/**
|
|
@@ -653,34 +659,23 @@ class Table {
|
|
|
653
659
|
const schema = db_1.default.getTenantSchemaPrefix();
|
|
654
660
|
const is_sqlite = db_1.default.isSQLite;
|
|
655
661
|
await this.update({ ownership_field_id: null });
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
await client.query(`COMMIT`);
|
|
674
|
-
}
|
|
675
|
-
catch (e) {
|
|
676
|
-
await client.query(`ROLLBACK`);
|
|
677
|
-
if (!is_sqlite)
|
|
678
|
-
client.release(true);
|
|
679
|
-
throw e;
|
|
680
|
-
}
|
|
681
|
-
if (!is_sqlite)
|
|
682
|
-
client.release(true);
|
|
683
|
-
await require("../db/state").getState().refresh_tables();
|
|
662
|
+
// drop table
|
|
663
|
+
if (!only_forget)
|
|
664
|
+
await db_1.default.query(`drop table if exists ${schema}"${(0, internal_1.sqlsanitize)(this.name)}"`);
|
|
665
|
+
// delete tag entries from _sc_tag_entries
|
|
666
|
+
await db_1.default.deleteWhere("_sc_tag_entries", { table_id: this.id });
|
|
667
|
+
// delete fields
|
|
668
|
+
await db_1.default.query(`delete FROM ${schema}_sc_fields WHERE table_id = $1`, [
|
|
669
|
+
this.id,
|
|
670
|
+
]);
|
|
671
|
+
// delete table description
|
|
672
|
+
await db_1.default.query(`delete FROM ${schema}_sc_tables WHERE id = $1`, [this.id]);
|
|
673
|
+
// delete versioned table
|
|
674
|
+
if (this.versioned)
|
|
675
|
+
await db_1.default.query(`drop table if exists ${schema}"${(0, internal_1.sqlsanitize)(this.name)}__history"`);
|
|
676
|
+
//limited refresh if we do not have a client
|
|
677
|
+
if (!db_1.default.getRequestContext()?.client)
|
|
678
|
+
await require("../db/state").getState().refresh_tables(true);
|
|
684
679
|
}
|
|
685
680
|
/***
|
|
686
681
|
* Get Table SQL Name
|
|
@@ -1958,27 +1953,18 @@ class Table {
|
|
|
1958
1953
|
if (db_1.default.isSQLite)
|
|
1959
1954
|
throw new InvalidAdminAction("Cannot rename table on SQLite");
|
|
1960
1955
|
const schemaPrefix = db_1.default.getTenantSchemaPrefix();
|
|
1961
|
-
|
|
1962
|
-
await
|
|
1963
|
-
|
|
1964
|
-
|
|
1965
|
-
|
|
1966
|
-
|
|
1967
|
-
await db_1.default.query(`
|
|
1968
|
-
|
|
1969
|
-
|
|
1970
|
-
|
|
1971
|
-
|
|
1972
|
-
await
|
|
1973
|
-
await client.query(`COMMIT`);
|
|
1974
|
-
}
|
|
1975
|
-
catch (e) {
|
|
1976
|
-
await client.query(`ROLLBACK`);
|
|
1977
|
-
client.release(true);
|
|
1978
|
-
throw e;
|
|
1979
|
-
}
|
|
1980
|
-
client.release(true);
|
|
1981
|
-
await require("../db/state").getState().refresh_tables();
|
|
1956
|
+
//rename table
|
|
1957
|
+
await db_1.default.query(`alter table ${schemaPrefix}"${(0, internal_1.sqlsanitize)(this.name)}" rename to "${(0, internal_1.sqlsanitize)(new_name)}";`);
|
|
1958
|
+
//change refs
|
|
1959
|
+
await db_1.default.query(`update ${schemaPrefix}_sc_fields set reftable_name=$1 where reftable_name=$2`, [new_name, this.name]);
|
|
1960
|
+
//rename history
|
|
1961
|
+
if (this.versioned)
|
|
1962
|
+
await db_1.default.query(`alter table ${schemaPrefix}"${(0, internal_1.sqlsanitize)(this.name)}__history" rename to "${(0, internal_1.sqlsanitize)(new_name)}__history";`);
|
|
1963
|
+
//1. change record
|
|
1964
|
+
await this.update({ name: new_name });
|
|
1965
|
+
//limited refresh if we do not have a client
|
|
1966
|
+
if (!db_1.default.getRequestContext()?.client)
|
|
1967
|
+
await require("../db/state").getState().refresh_tables(true);
|
|
1982
1968
|
}
|
|
1983
1969
|
/**
|
|
1984
1970
|
* Update Table description in _sc_table
|
|
@@ -1995,8 +1981,10 @@ class Table {
|
|
|
1995
1981
|
}
|
|
1996
1982
|
const { external, fields, constraints, ...upd_rec } = new_table_rec;
|
|
1997
1983
|
await db_1.default.update("_sc_tables", upd_rec, this.id);
|
|
1998
|
-
|
|
1999
|
-
|
|
1984
|
+
//limited refresh if we do not have a client
|
|
1985
|
+
if (!db_1.default.getRequestContext()?.client)
|
|
1986
|
+
await require("../db/state").getState().refresh_tables(true);
|
|
1987
|
+
const new_table = new Table({ ...this, ...upd_rec });
|
|
2000
1988
|
if (!new_table) {
|
|
2001
1989
|
throw new Error(`Unable to find table with id: ${this.id}`);
|
|
2002
1990
|
}
|
|
@@ -2016,6 +2004,9 @@ class Table {
|
|
|
2016
2004
|
Object.assign(this, new_table_rec);
|
|
2017
2005
|
}
|
|
2018
2006
|
}
|
|
2007
|
+
static async state_refresh() {
|
|
2008
|
+
await require("../db/state").getState().refresh_tables();
|
|
2009
|
+
}
|
|
2019
2010
|
/**
|
|
2020
2011
|
* Get table history data
|
|
2021
2012
|
* @param id
|
|
@@ -2116,7 +2107,9 @@ class Table {
|
|
|
2116
2107
|
return { error: parse_res.error };
|
|
2117
2108
|
}
|
|
2118
2109
|
parse_res.table = table;
|
|
2119
|
-
|
|
2110
|
+
//limited refresh if we do not have a client
|
|
2111
|
+
if (!db_1.default.getRequestContext()?.client)
|
|
2112
|
+
await require("../db/state").getState().refresh_tables(true);
|
|
2120
2113
|
return parse_res;
|
|
2121
2114
|
}
|
|
2122
2115
|
/**
|
|
@@ -3198,7 +3191,9 @@ where table_schema = '${db_1.default.getTenantSchema() || "public"}'
|
|
|
3198
3191
|
delete attrs.NonSerial;
|
|
3199
3192
|
await pk.update({ attributes: attrs });
|
|
3200
3193
|
}
|
|
3201
|
-
|
|
3194
|
+
//limited refresh if we do not have a client
|
|
3195
|
+
if (!db_1.default.getRequestContext()?.client)
|
|
3196
|
+
await require("../db/state").getState().refresh_tables(true);
|
|
3202
3197
|
}
|
|
3203
3198
|
async move_include_fts_to_search_context() {
|
|
3204
3199
|
const include_fts_fields = this.fields.filter((f) => f.attributes?.include_fts);
|