@snowtop/ent 0.1.0-alpha117 → 0.1.0-alpha119
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/action/orchestrator.js +7 -1
- package/core/clause.d.ts +5 -30
- package/core/clause.js +2 -0
- package/package.json +1 -1
- package/schema/base_schema.js +1 -0
- package/schema/schema.d.ts +1 -0
package/action/orchestrator.js
CHANGED
|
@@ -556,6 +556,7 @@ class Orchestrator {
|
|
|
556
556
|
let value = editedFields.get(fieldName);
|
|
557
557
|
let defaultValue = undefined;
|
|
558
558
|
let dbKey = this.getStorageKey(fieldName);
|
|
559
|
+
let updateOnlyIfOther = field.onlyUpdateIfOtherFieldsBeingSet_BETA;
|
|
559
560
|
if (value === undefined) {
|
|
560
561
|
if (this.actualOperation === action_1.WriteOperation.Insert) {
|
|
561
562
|
if (field.defaultToViewerOnCreate && field.defaultValueOnCreate) {
|
|
@@ -587,7 +588,12 @@ class Orchestrator {
|
|
|
587
588
|
}
|
|
588
589
|
if (defaultValue !== undefined) {
|
|
589
590
|
updateInput = true;
|
|
590
|
-
|
|
591
|
+
if (updateOnlyIfOther) {
|
|
592
|
+
defaultData[dbKey] = defaultValue;
|
|
593
|
+
}
|
|
594
|
+
else {
|
|
595
|
+
data[dbKey] = defaultValue;
|
|
596
|
+
}
|
|
591
597
|
this.defaultFieldsByFieldName[fieldName] = defaultValue;
|
|
592
598
|
this.defaultFieldsByTSName[this.getInputKey(fieldName)] = defaultValue;
|
|
593
599
|
}
|
package/core/clause.d.ts
CHANGED
|
@@ -23,17 +23,6 @@ export declare class inClause<T extends Data, K = keyof T> implements Clause<T,
|
|
|
23
23
|
logValues(): any[];
|
|
24
24
|
instanceKey(): string;
|
|
25
25
|
}
|
|
26
|
-
declare class compositeClause<T extends Data, K = keyof T> implements Clause<T, K> {
|
|
27
|
-
private clauses;
|
|
28
|
-
private sep;
|
|
29
|
-
compositeOp: string;
|
|
30
|
-
constructor(clauses: Clause<T, K>[], sep: string);
|
|
31
|
-
clause(idx: number): string;
|
|
32
|
-
columns(): K[];
|
|
33
|
-
values(): any[];
|
|
34
|
-
logValues(): any[];
|
|
35
|
-
instanceKey(): string;
|
|
36
|
-
}
|
|
37
26
|
/**
|
|
38
27
|
* creates a clause to determine if the given value is contained in the array stored in the column in the db
|
|
39
28
|
* only works with postgres gin indexes
|
|
@@ -84,9 +73,9 @@ export declare function Greater<T extends Data, K = keyof T>(col: K, value: any)
|
|
|
84
73
|
export declare function Less<T extends Data, K = keyof T>(col: K, value: any): Clause<T, K>;
|
|
85
74
|
export declare function GreaterEq<T extends Data, K = keyof T>(col: K, value: any): Clause<T, K>;
|
|
86
75
|
export declare function LessEq<T extends Data, K = keyof T>(col: K, value: any): Clause<T, K>;
|
|
87
|
-
export declare function And<T extends Data, K = keyof T>(...args: Clause<T, K>[]):
|
|
76
|
+
export declare function And<T extends Data, K = keyof T>(...args: Clause<T, K>[]): Clause<T, K>;
|
|
88
77
|
export declare function AndOptional<T extends Data, K = keyof T>(...args: (Clause<T, K> | undefined)[]): Clause<T, K>;
|
|
89
|
-
export declare function Or<T extends Data, K = keyof T>(...args: Clause<T, K>[]):
|
|
78
|
+
export declare function Or<T extends Data, K = keyof T>(...args: Clause<T, K>[]): Clause<T, K>;
|
|
90
79
|
export declare function OrOptional<T extends Data, K = keyof T>(...args: (Clause<T, K> | undefined)[]): Clause<T, K>;
|
|
91
80
|
export declare function In<T extends Data, K = keyof T>(col: K, ...values: any): Clause<T, K>;
|
|
92
81
|
export declare function In<T extends Data, K = keyof T>(col: K, values: any[], type?: string): Clause<T, K>;
|
|
@@ -103,25 +92,11 @@ export declare function TsVectorPlainToTsQuery<T extends Data, K = keyof T>(col:
|
|
|
103
92
|
export declare function TsVectorPhraseToTsQuery<T extends Data, K = keyof T>(col: K, val: string | TsQuery): Clause<T, K>;
|
|
104
93
|
export declare function TsVectorWebsearchToTsQuery<T extends Data, K = keyof T>(col: K, val: string | TsQuery): Clause<T, K>;
|
|
105
94
|
export declare function sensitiveValue(val: any): SensitiveValue;
|
|
106
|
-
export declare function JSONObjectFieldKeyASJSON<T extends Data, K = keyof T>(col: K, field: string):
|
|
107
|
-
export declare function JSONObjectFieldKeyAsText<T extends Data, K = keyof T>(col: K, field: string):
|
|
95
|
+
export declare function JSONObjectFieldKeyASJSON<T extends Data, K = keyof T>(col: K, field: string): keyof T;
|
|
96
|
+
export declare function JSONObjectFieldKeyAsText<T extends Data, K = keyof T>(col: K, field: string): keyof T;
|
|
108
97
|
type predicate = "==" | ">" | "<" | "!=" | ">=" | "<=";
|
|
109
98
|
export declare function JSONPathValuePredicate<T extends Data, K = keyof T>(dbCol: K, path: string, val: any, pred: predicate): Clause<T, K>;
|
|
110
|
-
declare
|
|
111
|
-
private col;
|
|
112
|
-
private op;
|
|
113
|
-
private tableName;
|
|
114
|
-
private uniqueCol;
|
|
115
|
-
private val;
|
|
116
|
-
constructor(col: K, op: string, tableName: string, uniqueCol: K, val: any);
|
|
117
|
-
private buildSimpleQuery;
|
|
118
|
-
clause(idx: number): string;
|
|
119
|
-
columns(): K[];
|
|
120
|
-
values(): any[];
|
|
121
|
-
logValues(): any[];
|
|
122
|
-
instanceKey(): string;
|
|
123
|
-
}
|
|
124
|
-
export declare function PaginationMultipleColsSubQuery<T extends Data, K = keyof T>(col: K, op: string, tableName: string, uniqueCol: K, val: any): paginationMultipleColumnsSubQueryClause<Data, K>;
|
|
99
|
+
export declare function PaginationMultipleColsSubQuery<T extends Data, K = keyof T>(col: K, op: string, tableName: string, uniqueCol: K, val: any): Clause<T, K>;
|
|
125
100
|
export declare function Add<T extends Data, K = keyof T>(col: K, value: any): Clause<T, K>;
|
|
126
101
|
export declare function Subtract<T extends Data, K = keyof T>(col: K, value: any): Clause<T, K>;
|
|
127
102
|
export declare function Multiply<T extends Data, K = keyof T>(col: K, value: any): Clause<T, K>;
|
package/core/clause.js
CHANGED
|
@@ -623,10 +623,12 @@ exports.sensitiveValue = sensitiveValue;
|
|
|
623
623
|
// see test in db_clause.test.ts
|
|
624
624
|
// unclear best time to use this...
|
|
625
625
|
function JSONObjectFieldKeyASJSON(col, field) {
|
|
626
|
+
// type as keyof T to make it easier to use in other queries
|
|
626
627
|
return `${col}->'${field}'`;
|
|
627
628
|
}
|
|
628
629
|
exports.JSONObjectFieldKeyASJSON = JSONObjectFieldKeyASJSON;
|
|
629
630
|
function JSONObjectFieldKeyAsText(col, field) {
|
|
631
|
+
// type as keyof T to make it easier to use in other queries
|
|
630
632
|
return `${col}->>'${field}'`;
|
|
631
633
|
}
|
|
632
634
|
exports.JSONObjectFieldKeyAsText = JSONObjectFieldKeyAsText;
|
package/package.json
CHANGED
package/schema/base_schema.js
CHANGED
package/schema/schema.d.ts
CHANGED
|
@@ -219,6 +219,7 @@ export interface FieldOptions {
|
|
|
219
219
|
disableUserGraphQLEditable?: boolean;
|
|
220
220
|
defaultValueOnCreate?(builder: Builder<Ent>, input: Data): any;
|
|
221
221
|
defaultToViewerOnCreate?: boolean;
|
|
222
|
+
onlyUpdateIfOtherFieldsBeingSet_BETA?: boolean;
|
|
222
223
|
defaultValueOnEdit?(builder: Builder<Ent>, input: Data): any;
|
|
223
224
|
derivedWhenEmbedded?: boolean;
|
|
224
225
|
polymorphic?: boolean | PolymorphicOptions;
|