@snowtop/ent 0.1.0-alpha12 → 0.1.0-alpha13
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/action.d.ts +16 -14
- package/action/executor.d.ts +1 -1
- package/action/experimental_action.d.ts +4 -4
- package/action/experimental_action.js +1 -1
- package/action/orchestrator.d.ts +9 -7
- package/action/orchestrator.js +2 -1
- package/action/privacy.d.ts +2 -2
- package/package.json +1 -1
- package/schema/schema.d.ts +4 -4
- package/schema/schema.js +2 -1
- package/testutils/builder.d.ts +11 -9
- package/testutils/builder.js +2 -2
- package/testutils/fake_data/fake_contact.d.ts +1 -1
- package/testutils/fake_data/fake_contact.js +2 -1
- package/testutils/fake_data/fake_event.d.ts +1 -1
- package/testutils/fake_data/fake_event.js +2 -1
- package/testutils/fake_data/fake_user.d.ts +2 -2
- package/testutils/fake_data/fake_user.js +2 -1
package/action/action.d.ts
CHANGED
|
@@ -7,8 +7,10 @@ export declare enum WriteOperation {
|
|
|
7
7
|
Edit = "edit",
|
|
8
8
|
Delete = "delete"
|
|
9
9
|
}
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
declare type MaybeNull<T extends Ent> = T | null;
|
|
11
|
+
declare type TMaybleNullableEnt<T extends Ent> = T | MaybeNull<T>;
|
|
12
|
+
export interface Builder<T extends Ent, TExistingEnt extends TMaybleNullableEnt<T> = MaybeNull<T>> {
|
|
13
|
+
existingEnt: TExistingEnt;
|
|
12
14
|
ent: EntConstructor<T>;
|
|
13
15
|
placeholderID: ID;
|
|
14
16
|
readonly viewer: Viewer;
|
|
@@ -33,25 +35,25 @@ export interface Changeset<T extends Ent> {
|
|
|
33
35
|
dependencies?: Map<ID, Builder<Ent>>;
|
|
34
36
|
}
|
|
35
37
|
export declare type TriggerReturn = void | Promise<Changeset<Ent> | void | (Changeset<Ent> | void)[]> | Promise<Changeset<Ent>>[];
|
|
36
|
-
export interface Trigger<TBuilder extends Builder<
|
|
37
|
-
changeset(builder: TBuilder, input:
|
|
38
|
+
export interface Trigger<TEnt extends Ent, TBuilder extends Builder<TEnt, TExistingEnt>, TInput extends Data = Data, TExistingEnt extends TMaybleNullableEnt<TEnt> = MaybeNull<TEnt>> {
|
|
39
|
+
changeset(builder: TBuilder, input: TInput): TriggerReturn;
|
|
38
40
|
}
|
|
39
|
-
export interface Observer<TBuilder extends Builder<
|
|
40
|
-
observe(builder: TBuilder, input:
|
|
41
|
+
export interface Observer<TEnt extends Ent, TBuilder extends Builder<TEnt, TExistingEnt>, TInput extends Data = Data, TExistingEnt extends TMaybleNullableEnt<TEnt> = MaybeNull<TEnt>> {
|
|
42
|
+
observe(builder: TBuilder, input: TInput): void | Promise<void>;
|
|
41
43
|
}
|
|
42
|
-
export interface Validator<TBuilder extends Builder<
|
|
43
|
-
validate(builder: TBuilder, input:
|
|
44
|
+
export interface Validator<TEnt extends Ent, TBuilder extends Builder<TEnt, TExistingEnt>, TInput extends Data, TExistingEnt extends TMaybleNullableEnt<TEnt> = MaybeNull<TEnt>> {
|
|
45
|
+
validate(builder: TBuilder, input: TInput): Promise<void> | void;
|
|
44
46
|
}
|
|
45
|
-
export interface Action<TEnt extends Ent, TBuilder extends Builder<TEnt>,
|
|
47
|
+
export interface Action<TEnt extends Ent, TBuilder extends Builder<TEnt, TExistingEnt>, TInput extends Data, TExistingEnt extends TMaybleNullableEnt<TEnt> = MaybeNull<TEnt>> {
|
|
46
48
|
readonly viewer: Viewer;
|
|
47
49
|
changeset(): Promise<Changeset<TEnt>>;
|
|
48
50
|
builder: TBuilder;
|
|
49
51
|
getPrivacyPolicy(): PrivacyPolicy<TEnt>;
|
|
50
|
-
triggers?: Trigger<TBuilder,
|
|
51
|
-
observers?: Observer<TBuilder,
|
|
52
|
-
validators?: Validator<TBuilder,
|
|
53
|
-
getInput():
|
|
54
|
-
transformWrite?:
|
|
52
|
+
triggers?: Trigger<TEnt, TBuilder, TInput, TExistingEnt>[];
|
|
53
|
+
observers?: Observer<TEnt, TBuilder, TInput, TExistingEnt>[];
|
|
54
|
+
validators?: Validator<TEnt, TBuilder, TInput, TExistingEnt>[];
|
|
55
|
+
getInput(): TInput;
|
|
56
|
+
transformWrite?: (stmt: UpdateOperation<TEnt>) => Promise<TransformedUpdateOperation<TEnt>> | TransformedUpdateOperation<TEnt> | null;
|
|
55
57
|
valid(): Promise<boolean>;
|
|
56
58
|
validX(): Promise<void>;
|
|
57
59
|
viewerForEntLoad?(data: Data): Viewer | Promise<Viewer>;
|
package/action/executor.d.ts
CHANGED
|
@@ -10,7 +10,7 @@ export declare class ListBasedExecutor<T extends Ent> implements Executor {
|
|
|
10
10
|
private operations;
|
|
11
11
|
private options?;
|
|
12
12
|
private idx;
|
|
13
|
-
constructor(viewer: Viewer, placeholderID: ID, operations: DataOperation<T>[], options?: OrchestratorOptions<T, Data> | undefined);
|
|
13
|
+
constructor(viewer: Viewer, placeholderID: ID, operations: DataOperation<T>[], options?: OrchestratorOptions<T, Data, T | null> | undefined);
|
|
14
14
|
private lastOp;
|
|
15
15
|
private createdEnt;
|
|
16
16
|
resolveValue(val: ID): Ent | null;
|
|
@@ -18,9 +18,9 @@ export declare class BaseAction<TEnt extends Ent, TData extends Data> implements
|
|
|
18
18
|
builderCtr: BuilderConstructor<TEnt, TData>;
|
|
19
19
|
builder: EntBuilder<TEnt>;
|
|
20
20
|
private input;
|
|
21
|
-
triggers: Trigger<EntBuilder<TEnt>, TData>[];
|
|
22
|
-
observers: Observer<EntBuilder<TEnt>, TData>[];
|
|
23
|
-
validators: Validator<EntBuilder<TEnt>, TData>[];
|
|
21
|
+
triggers: Trigger<TEnt, EntBuilder<TEnt>, TData>[];
|
|
22
|
+
observers: Observer<TEnt, EntBuilder<TEnt>, TData>[];
|
|
23
|
+
validators: Validator<TEnt, EntBuilder<TEnt>, TData>[];
|
|
24
24
|
getPrivacyPolicy(): import("../core/base").PrivacyPolicy<Ent>;
|
|
25
25
|
constructor(viewer: Viewer, builderCtr: BuilderConstructor<TEnt, TData>, options?: ActionOptions<TEnt, TData> | null);
|
|
26
26
|
static createBuilder<TEnt extends Ent, TData extends Data>(viewer: Viewer, builderCtr: BuilderConstructor<TEnt, TData>, options?: ActionOptions<TEnt, TData> | null): Builder<TEnt>;
|
|
@@ -33,7 +33,7 @@ export declare class BaseAction<TEnt extends Ent, TData extends Data> implements
|
|
|
33
33
|
getInput(): TData;
|
|
34
34
|
}
|
|
35
35
|
interface BuilderConstructor<TEnt extends Ent, TData extends Data> {
|
|
36
|
-
new (viewer: Viewer, operation: WriteOperation, action: Action<TEnt, EntBuilder<TEnt>, TData>, existingEnt
|
|
36
|
+
new (viewer: Viewer, operation: WriteOperation, action: Action<TEnt, EntBuilder<TEnt>, TData>, existingEnt: TEnt | null): EntBuilder<TEnt>;
|
|
37
37
|
}
|
|
38
38
|
export declare function updateRawObject<TEnt extends Ent, TInput extends Data>(viewer: Viewer, builderCtr: BuilderConstructor<TEnt, TInput>, existingEnt: TEnt, input: TInput): Promise<TEnt>;
|
|
39
39
|
export declare function getSimpleEditAction<TEnt extends Ent, TInput extends Data>(viewer: Viewer, builderCtr: BuilderConstructor<TEnt, TInput>, existingEnt: TEnt, input: TInput): Action<TEnt, Builder<TEnt>, TInput>;
|
|
@@ -20,7 +20,7 @@ class BaseAction {
|
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
22
|
this.input = options?.input || {};
|
|
23
|
-
this.builder = new builderCtr(viewer, operation, this, options?.existingEnt ||
|
|
23
|
+
this.builder = new builderCtr(viewer, operation, this, options?.existingEnt || null);
|
|
24
24
|
}
|
|
25
25
|
getPrivacyPolicy() {
|
|
26
26
|
return privacy_1.AlwaysAllowPrivacyPolicy;
|
package/action/orchestrator.d.ts
CHANGED
|
@@ -3,13 +3,15 @@ import { AssocEdgeInputOptions, DataOperation } from "../core/ent";
|
|
|
3
3
|
import { SchemaInputType, FieldInfoMap } from "../schema/schema";
|
|
4
4
|
import { Changeset, Executor } from "../action/action";
|
|
5
5
|
import { WriteOperation, Builder, Action } from "../action";
|
|
6
|
-
|
|
6
|
+
declare type MaybeNull<T extends Ent> = T | null;
|
|
7
|
+
declare type TMaybleNullableEnt<T extends Ent> = T | MaybeNull<T>;
|
|
8
|
+
export interface OrchestratorOptions<TEnt extends Ent, TData extends Data, TExistingEnt extends TMaybleNullableEnt<TEnt> = MaybeNull<TEnt>> {
|
|
7
9
|
viewer: Viewer;
|
|
8
10
|
operation: WriteOperation;
|
|
9
11
|
tableName: string;
|
|
10
12
|
loaderOptions: LoadEntOptions<TEnt>;
|
|
11
13
|
key: string;
|
|
12
|
-
builder: Builder<TEnt>;
|
|
14
|
+
builder: Builder<TEnt, TExistingEnt>;
|
|
13
15
|
action?: Action<TEnt, Builder<TEnt>, TData>;
|
|
14
16
|
schema: SchemaInputType;
|
|
15
17
|
editedFields(): Map<string, any> | Promise<Map<string, any>>;
|
|
@@ -29,7 +31,7 @@ export declare enum edgeDirection {
|
|
|
29
31
|
inboundEdge = 0,
|
|
30
32
|
outboundEdge = 1
|
|
31
33
|
}
|
|
32
|
-
export declare class Orchestrator<TEnt extends Ent, TData extends Data> {
|
|
34
|
+
export declare class Orchestrator<TEnt extends Ent, TData extends Data, TExistingEnt extends TMaybleNullableEnt<TEnt> = MaybeNull<TEnt>> {
|
|
33
35
|
private options;
|
|
34
36
|
private edgeSet;
|
|
35
37
|
private edges;
|
|
@@ -43,10 +45,10 @@ export declare class Orchestrator<TEnt extends Ent, TData extends Data> {
|
|
|
43
45
|
private defaultFieldsByFieldName;
|
|
44
46
|
private defaultFieldsByTSName;
|
|
45
47
|
private actualOperation;
|
|
46
|
-
private existingEnt
|
|
48
|
+
private existingEnt;
|
|
47
49
|
private disableTransformations;
|
|
48
50
|
private memoizedGetFields;
|
|
49
|
-
constructor(options: OrchestratorOptions<TEnt, TData>);
|
|
51
|
+
constructor(options: OrchestratorOptions<TEnt, TData, TExistingEnt>);
|
|
50
52
|
private addEdge;
|
|
51
53
|
setDisableTransformations(val: boolean): void;
|
|
52
54
|
addInboundEdge<T2 extends Ent>(id1: ID | Builder<T2>, edgeType: string, nodeType: string, options?: AssocEdgeInputOptions): void;
|
|
@@ -88,11 +90,11 @@ export declare class EntChangeset<T extends Ent> implements Changeset<T> {
|
|
|
88
90
|
readonly placeholderID: ID;
|
|
89
91
|
readonly ent: EntConstructor<T>;
|
|
90
92
|
operations: DataOperation[];
|
|
91
|
-
dependencies?: Map<ID, Builder<Ent>> | undefined;
|
|
93
|
+
dependencies?: Map<ID, Builder<Ent, Ent | null>> | undefined;
|
|
92
94
|
changesets?: Changeset<Ent>[] | undefined;
|
|
93
95
|
private options?;
|
|
94
96
|
private _executor;
|
|
95
|
-
constructor(viewer: Viewer, placeholderID: ID, ent: EntConstructor<T>, operations: DataOperation[], dependencies?: Map<ID, Builder<Ent>> | undefined, changesets?: Changeset<Ent>[] | undefined, options?: OrchestratorOptions<T, Data
|
|
97
|
+
constructor(viewer: Viewer, placeholderID: ID, ent: EntConstructor<T>, operations: DataOperation[], dependencies?: Map<ID, Builder<Ent, Ent | null>> | undefined, changesets?: Changeset<Ent>[] | undefined, options?: OrchestratorOptions<T, Data, MaybeNull<T>> | undefined);
|
|
96
98
|
executor(): Executor;
|
|
97
99
|
}
|
|
98
100
|
export {};
|
package/action/orchestrator.js
CHANGED
|
@@ -376,7 +376,7 @@ class Orchestrator {
|
|
|
376
376
|
// if action transformations. always do it
|
|
377
377
|
// if disable transformations set, don't do schema transform and just do the right thing
|
|
378
378
|
// else apply schema tranformation if it exists
|
|
379
|
-
let transformed;
|
|
379
|
+
let transformed = null;
|
|
380
380
|
if (action?.transformWrite) {
|
|
381
381
|
transformed = await action.transformWrite({
|
|
382
382
|
viewer: builder.viewer,
|
|
@@ -414,6 +414,7 @@ class Orchestrator {
|
|
|
414
414
|
}
|
|
415
415
|
this.actualOperation = this.getWriteOpForSQLStamentOp(transformed.op);
|
|
416
416
|
if (transformed.existingEnt) {
|
|
417
|
+
// @ts-ignore
|
|
417
418
|
this.existingEnt = transformed.existingEnt;
|
|
418
419
|
}
|
|
419
420
|
}
|
package/action/privacy.d.ts
CHANGED
|
@@ -2,11 +2,11 @@ import { Builder } from "./action";
|
|
|
2
2
|
import { Viewer, ID, Ent, PrivacyResult, PrivacyPolicyRule } from "../core/base";
|
|
3
3
|
export declare class DenyIfBuilder implements PrivacyPolicyRule {
|
|
4
4
|
private id?;
|
|
5
|
-
constructor(id?: ID | Builder<Ent> | undefined);
|
|
5
|
+
constructor(id?: ID | Builder<Ent, Ent | null> | undefined);
|
|
6
6
|
apply(_v: Viewer, _ent: Ent): Promise<PrivacyResult>;
|
|
7
7
|
}
|
|
8
8
|
export declare class AllowIfBuilder implements PrivacyPolicyRule {
|
|
9
9
|
private id?;
|
|
10
|
-
constructor(id?: ID | Builder<Ent> | undefined);
|
|
10
|
+
constructor(id?: ID | Builder<Ent, Ent | null> | undefined);
|
|
11
11
|
apply(_v: Viewer, _ent: Ent): Promise<PrivacyResult>;
|
|
12
12
|
}
|
package/package.json
CHANGED
package/schema/schema.d.ts
CHANGED
|
@@ -71,7 +71,7 @@ export interface Pattern {
|
|
|
71
71
|
fields: FieldMap | Field[];
|
|
72
72
|
edges?: Edge[];
|
|
73
73
|
transformRead?: () => Clause;
|
|
74
|
-
transformWrite?: <T extends Ent>(stmt: UpdateOperation<T>) => TransformedUpdateOperation<T> |
|
|
74
|
+
transformWrite?: <T extends Ent>(stmt: UpdateOperation<T>) => TransformedUpdateOperation<T> | null;
|
|
75
75
|
transformsDelete?: boolean;
|
|
76
76
|
transformsInsert?: boolean;
|
|
77
77
|
transformsUpdate?: boolean;
|
|
@@ -83,14 +83,14 @@ export declare enum SQLStatementOperation {
|
|
|
83
83
|
}
|
|
84
84
|
export interface UpdateOperation<T extends Ent> {
|
|
85
85
|
op: SQLStatementOperation;
|
|
86
|
-
existingEnt
|
|
86
|
+
existingEnt: T | null;
|
|
87
87
|
viewer: Viewer;
|
|
88
88
|
data?: Map<string, any>;
|
|
89
89
|
}
|
|
90
90
|
export interface TransformedUpdateOperation<T extends Ent> {
|
|
91
91
|
op: SQLStatementOperation;
|
|
92
92
|
data?: Data;
|
|
93
|
-
existingEnt?: T;
|
|
93
|
+
existingEnt?: T | null;
|
|
94
94
|
}
|
|
95
95
|
export declare enum DBType {
|
|
96
96
|
UUID = "UUID",
|
|
@@ -203,7 +203,7 @@ interface objectLoaderOptions {
|
|
|
203
203
|
instanceKey?: string;
|
|
204
204
|
}
|
|
205
205
|
export declare function getObjectLoaderProperties(value: SchemaInputType, tableName: string): objectLoaderOptions | undefined;
|
|
206
|
-
export declare function getTransformedUpdateOp<T extends Ent>(value: SchemaInputType, stmt: UpdateOperation<T>): TransformedUpdateOperation<T> |
|
|
206
|
+
export declare function getTransformedUpdateOp<T extends Ent>(value: SchemaInputType, stmt: UpdateOperation<T>): TransformedUpdateOperation<T> | null;
|
|
207
207
|
export declare enum ActionOperation {
|
|
208
208
|
Create = 1,
|
|
209
209
|
Edit = 2,
|
package/schema/schema.js
CHANGED
|
@@ -178,13 +178,14 @@ exports.getObjectLoaderProperties = getObjectLoaderProperties;
|
|
|
178
178
|
function getTransformedUpdateOp(value, stmt) {
|
|
179
179
|
const schema = getSchema(value);
|
|
180
180
|
if (!schema.patterns) {
|
|
181
|
-
return;
|
|
181
|
+
return null;
|
|
182
182
|
}
|
|
183
183
|
for (const p of schema.patterns) {
|
|
184
184
|
if (p.transformWrite) {
|
|
185
185
|
return p.transformWrite(stmt);
|
|
186
186
|
}
|
|
187
187
|
}
|
|
188
|
+
return null;
|
|
188
189
|
}
|
|
189
190
|
exports.getTransformedUpdateOp = getTransformedUpdateOp;
|
|
190
191
|
// this maps to ActionOperation in ent/action.go
|
package/testutils/builder.d.ts
CHANGED
|
@@ -68,17 +68,19 @@ export declare function getBuilderSchemaTZFromFields<T extends Ent>(fields: Fiel
|
|
|
68
68
|
export declare function getSchemaName(value: BuilderSchema<Ent>): string;
|
|
69
69
|
export declare function getTableName(value: BuilderSchema<Ent>): string;
|
|
70
70
|
export declare function getFieldInfo(value: BuilderSchema<Ent>): FieldInfoMap;
|
|
71
|
-
|
|
71
|
+
declare type MaybeNull<T extends Ent> = T | null;
|
|
72
|
+
declare type TMaybleNullableEnt<T extends Ent> = T | MaybeNull<T>;
|
|
73
|
+
export declare class SimpleBuilder<T extends Ent, TExistingEnt extends TMaybleNullableEnt<T> = MaybeNull<T>> implements Builder<T> {
|
|
72
74
|
viewer: Viewer;
|
|
73
75
|
private schema;
|
|
74
76
|
operation: WriteOperation;
|
|
75
|
-
existingEnt:
|
|
77
|
+
existingEnt: TExistingEnt;
|
|
76
78
|
ent: EntConstructor<T>;
|
|
77
79
|
placeholderID: ID;
|
|
78
80
|
orchestrator: Orchestrator<T, Data>;
|
|
79
81
|
fields: Map<string, any>;
|
|
80
82
|
nodeType: string;
|
|
81
|
-
constructor(viewer: Viewer, schema: BuilderSchema<T>, fields: Map<string, any>, operation
|
|
83
|
+
constructor(viewer: Viewer, schema: BuilderSchema<T>, fields: Map<string, any>, operation: WriteOperation, existingEnt: TExistingEnt, action?: Action<T, SimpleBuilder<T>, Data> | undefined);
|
|
82
84
|
updateInput(input: Data): void;
|
|
83
85
|
build(): Promise<Changeset<T>>;
|
|
84
86
|
editedEnt(): Promise<T | null>;
|
|
@@ -91,15 +93,15 @@ export declare class SimpleBuilder<T extends Ent> implements Builder<T> {
|
|
|
91
93
|
interface viewerEntLoadFunc {
|
|
92
94
|
(data: Data): Viewer | Promise<Viewer>;
|
|
93
95
|
}
|
|
94
|
-
export declare class SimpleAction<T extends Ent> implements Action<T, SimpleBuilder<T>, Data> {
|
|
96
|
+
export declare class SimpleAction<T extends Ent, TExistingEnt extends TMaybleNullableEnt<T> = MaybeNull<T>> implements Action<T, SimpleBuilder<T, TExistingEnt>, Data, TExistingEnt> {
|
|
95
97
|
viewer: Viewer;
|
|
96
98
|
private fields;
|
|
97
|
-
builder: SimpleBuilder<T>;
|
|
98
|
-
validators: Validator<SimpleBuilder<T>, Data>[];
|
|
99
|
-
triggers: Trigger<SimpleBuilder<T>, Data>[];
|
|
100
|
-
observers: Observer<SimpleBuilder<T>, Data>[];
|
|
99
|
+
builder: SimpleBuilder<T, TExistingEnt>;
|
|
100
|
+
validators: Validator<T, SimpleBuilder<T>, Data>[];
|
|
101
|
+
triggers: Trigger<T, SimpleBuilder<T>, Data>[];
|
|
102
|
+
observers: Observer<T, SimpleBuilder<T>, Data>[];
|
|
101
103
|
viewerForEntLoad: viewerEntLoadFunc | undefined;
|
|
102
|
-
constructor(viewer: Viewer, schema: BuilderSchema<T>, fields: Map<string, any>, operation
|
|
104
|
+
constructor(viewer: Viewer, schema: BuilderSchema<T>, fields: Map<string, any>, operation: WriteOperation | undefined, existingEnt: TExistingEnt);
|
|
103
105
|
getPrivacyPolicy(): PrivacyPolicy<Ent>;
|
|
104
106
|
getInput(): Data;
|
|
105
107
|
changeset(): Promise<Changeset<T>>;
|
package/testutils/builder.js
CHANGED
|
@@ -145,7 +145,7 @@ function getFieldInfo(value) {
|
|
|
145
145
|
exports.getFieldInfo = getFieldInfo;
|
|
146
146
|
// reuses orchestrator and standard things
|
|
147
147
|
class SimpleBuilder {
|
|
148
|
-
constructor(viewer, schema, fields, operation = action_1.WriteOperation.Insert, existingEnt
|
|
148
|
+
constructor(viewer, schema, fields, operation = action_1.WriteOperation.Insert, existingEnt, action) {
|
|
149
149
|
this.viewer = viewer;
|
|
150
150
|
this.schema = schema;
|
|
151
151
|
this.operation = operation;
|
|
@@ -247,7 +247,7 @@ class SimpleBuilder {
|
|
|
247
247
|
}
|
|
248
248
|
exports.SimpleBuilder = SimpleBuilder;
|
|
249
249
|
class SimpleAction {
|
|
250
|
-
constructor(viewer, schema, fields, operation = action_1.WriteOperation.Insert, existingEnt
|
|
250
|
+
constructor(viewer, schema, fields, operation = action_1.WriteOperation.Insert, existingEnt) {
|
|
251
251
|
this.viewer = viewer;
|
|
252
252
|
this.fields = fields;
|
|
253
253
|
this.validators = [];
|
|
@@ -28,6 +28,6 @@ export interface ContactCreateInput {
|
|
|
28
28
|
emailAddress: string;
|
|
29
29
|
userID: ID;
|
|
30
30
|
}
|
|
31
|
-
export declare function getContactBuilder(viewer: Viewer, input: ContactCreateInput): SimpleBuilder<FakeContact>;
|
|
31
|
+
export declare function getContactBuilder(viewer: Viewer, input: ContactCreateInput): SimpleBuilder<FakeContact, null>;
|
|
32
32
|
export declare function createContact(viewer: Viewer, input: ContactCreateInput): Promise<void>;
|
|
33
33
|
export declare const contactLoader: ObjectLoaderFactory<unknown>;
|
|
@@ -9,6 +9,7 @@ const const_1 = require("./const");
|
|
|
9
9
|
const test_db_1 = require("../db/test_db");
|
|
10
10
|
const loaders_1 = require("../../core/loaders");
|
|
11
11
|
const convert_1 = require("../../core/convert");
|
|
12
|
+
const action_1 = require("../../action");
|
|
12
13
|
class FakeContact {
|
|
13
14
|
constructor(viewer, data) {
|
|
14
15
|
this.viewer = viewer;
|
|
@@ -77,7 +78,7 @@ function getContactBuilder(viewer, input) {
|
|
|
77
78
|
//To lock in the value of Date now incase of advanceTo/advanceBy
|
|
78
79
|
m.set("createdAt", new Date());
|
|
79
80
|
m.set("updatedAt", new Date());
|
|
80
|
-
return new builder_1.SimpleBuilder(viewer, exports.FakeContactSchema, m);
|
|
81
|
+
return new builder_1.SimpleBuilder(viewer, exports.FakeContactSchema, m, action_1.WriteOperation.Insert, null);
|
|
81
82
|
}
|
|
82
83
|
exports.getContactBuilder = getContactBuilder;
|
|
83
84
|
async function createContact(viewer, input) {
|
|
@@ -31,5 +31,5 @@ export interface EventCreateInput {
|
|
|
31
31
|
description?: string | null;
|
|
32
32
|
userID: ID;
|
|
33
33
|
}
|
|
34
|
-
export declare function getEventBuilder(viewer: Viewer, input: EventCreateInput): SimpleBuilder<FakeEvent>;
|
|
34
|
+
export declare function getEventBuilder(viewer: Viewer, input: EventCreateInput): SimpleBuilder<FakeEvent, null>;
|
|
35
35
|
export declare function createEvent(viewer: Viewer, input: EventCreateInput): Promise<void>;
|
|
@@ -9,6 +9,7 @@ const const_1 = require("./const");
|
|
|
9
9
|
const test_db_1 = require("../db/test_db");
|
|
10
10
|
const loaders_1 = require("../../core/loaders");
|
|
11
11
|
const convert_1 = require("../../core/convert");
|
|
12
|
+
const action_1 = require("../../action");
|
|
12
13
|
class FakeEvent {
|
|
13
14
|
constructor(viewer, data) {
|
|
14
15
|
this.viewer = viewer;
|
|
@@ -86,7 +87,7 @@ function getEventBuilder(viewer, input) {
|
|
|
86
87
|
for (const key in input) {
|
|
87
88
|
m.set(key, input[key]);
|
|
88
89
|
}
|
|
89
|
-
return new builder_1.SimpleBuilder(viewer, exports.FakeEventSchema, m);
|
|
90
|
+
return new builder_1.SimpleBuilder(viewer, exports.FakeEventSchema, m, action_1.WriteOperation.Insert, null);
|
|
90
91
|
}
|
|
91
92
|
exports.getEventBuilder = getEventBuilder;
|
|
92
93
|
async function createEvent(viewer, input) {
|
|
@@ -40,8 +40,8 @@ export interface UserCreateInput {
|
|
|
40
40
|
password: string | null;
|
|
41
41
|
}
|
|
42
42
|
export declare type UserEditInput = Partial<UserCreateInput>;
|
|
43
|
-
export declare function getUserBuilder(viewer: Viewer, input: UserCreateInput): import("../builder").SimpleBuilder<FakeUser>;
|
|
44
|
-
export declare function getUserAction(viewer: Viewer, input: UserCreateInput): SimpleAction<FakeUser>;
|
|
43
|
+
export declare function getUserBuilder(viewer: Viewer, input: UserCreateInput): import("../builder").SimpleBuilder<FakeUser, null>;
|
|
44
|
+
export declare function getUserAction(viewer: Viewer, input: UserCreateInput): SimpleAction<FakeUser, null>;
|
|
45
45
|
export declare function createUser(viewer: Viewer, input: UserCreateInput): Promise<FakeUser>;
|
|
46
46
|
export declare const userLoader: ObjectLoaderFactory<unknown>;
|
|
47
47
|
export declare const userEmailLoader: ObjectLoaderFactory<unknown>;
|
|
@@ -11,6 +11,7 @@ const viewer_1 = require("../../core/viewer");
|
|
|
11
11
|
const test_db_1 = require("../db/test_db");
|
|
12
12
|
const loaders_1 = require("../../core/loaders");
|
|
13
13
|
const convert_1 = require("../../core/convert");
|
|
14
|
+
const action_1 = require("../../action");
|
|
14
15
|
class ViewerWithAccessToken extends viewer_1.IDViewer {
|
|
15
16
|
constructor(viewerID, opts) {
|
|
16
17
|
super(viewerID, opts);
|
|
@@ -110,7 +111,7 @@ function getUserAction(viewer, input) {
|
|
|
110
111
|
for (const key in input) {
|
|
111
112
|
m.set(key, input[key]);
|
|
112
113
|
}
|
|
113
|
-
const action = new builder_1.SimpleAction(viewer, exports.FakeUserSchema, m);
|
|
114
|
+
const action = new builder_1.SimpleAction(viewer, exports.FakeUserSchema, m, action_1.WriteOperation.Insert, null);
|
|
114
115
|
action.viewerForEntLoad = (data) => {
|
|
115
116
|
// load the created ent using a VC of the newly created user.
|
|
116
117
|
return new viewer_1.IDViewer(data.id);
|