去掉了oper将bornAt置为now的逻辑

This commit is contained in:
Xu Chang 2024-03-21 14:45:37 +08:00
parent 211e5f3050
commit 5794904dc5
10 changed files with 12 additions and 62 deletions

View File

@ -13,7 +13,7 @@ export type OpSchema = EntityShape & {
extra?: Object | null;
operatorId?: ForeignKey<"user"> | null;
targetEntity: String<32>;
bornAt: Datetime;
bornAt?: Datetime | null;
};
export type OpAttr = keyof OpSchema;
export type Schema = EntityShape & {
@ -23,7 +23,7 @@ export type Schema = EntityShape & {
extra?: Object | null;
operatorId?: ForeignKey<"user"> | null;
targetEntity: String<32>;
bornAt: Datetime;
bornAt?: Datetime | null;
operator?: User.Schema | null;
operEntity$oper?: Array<OperEntity.Schema>;
operEntity$oper$$aggr?: AggregationResult<OperEntity.Schema>;

View File

@ -33,7 +33,6 @@ exports.desc = {
}
},
bornAt: {
notNull: true,
type: "datetime"
}
},

View File

@ -1,5 +0,0 @@
import { EntityDict } from '../base-app-domain';
import { AsyncContext } from '../store/AsyncRowStore';
import { SyncContext } from '../store/SyncRowStore';
import { StorageSchema, EntityDict as BaseEntityDict, Checker } from '../types';
export declare function createDynamicCheckers<ED extends EntityDict & BaseEntityDict, Cxt extends AsyncContext<ED> | SyncContext<ED>>(schema: StorageSchema<ED>): Checker<ED, keyof ED, Cxt>[];

View File

@ -1,13 +0,0 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.createDynamicCheckers = void 0;
const checker_1 = require("../store/checker");
const modi_1 = require("../store/modi");
function createDynamicCheckers(schema) {
const checkers = [];
checkers.push(...(0, modi_1.createModiRelatedCheckers)(schema));
checkers.push(...(0, checker_1.createRemoveCheckers)(schema));
checkers.push(...(0, checker_1.createCreateCheckers)(schema));
return checkers;
}
exports.createDynamicCheckers = createDynamicCheckers;

View File

@ -8,5 +8,5 @@ export interface Schema extends EntityShape {
extra?: Object;
operator?: User;
targetEntity: String<32>;
bornAt: Datetime;
bornAt?: Datetime;
}

View File

@ -1163,7 +1163,7 @@ class CascadeStore extends RowStore_1.RowStore {
data,
operatorId,
targetEntity: entity,
bornAt: typeof bornAt === 'number' ? bornAt : now,
bornAt,
operEntity$oper: data instanceof Array ? {
id: 'dummy',
action: 'create',
@ -1322,7 +1322,7 @@ class CascadeStore extends RowStore_1.RowStore {
action,
data,
targetEntity: entity,
bornAt: typeof bornAt === 'number' ? bornAt : now,
bornAt,
operatorId,
operEntity$oper: {
id: 'dummy',
@ -1456,7 +1456,7 @@ class CascadeStore extends RowStore_1.RowStore {
}
}
cascadeUpdate(entity, operation, context, option) {
const { action, data, filter, id, bornAt } = operation;
const { action, data, filter } = operation;
let opData;
const wholeBeforeFns = [];
const wholeAfterFns = [];
@ -1496,7 +1496,7 @@ class CascadeStore extends RowStore_1.RowStore {
* @param option
*/
async cascadeUpdateAsync(entity, operation, context, option) {
const { action, data, filter, id, bornAt } = operation;
const { action, data, filter, bornAt } = operation;
let opData;
const wholeBeforeFns = [];
const wholeAfterFns = [];

View File

@ -1,5 +0,0 @@
import { EntityDict as BaseEntityDict } from '../base-app-domain';
import { StorageSchema, EntityDict, Trigger } from '../types';
import { AsyncContext } from '../store/AsyncRowStore';
import { SyncContext } from '../store/SyncRowStore';
export declare function createDynamicTriggers<ED extends EntityDict & BaseEntityDict, Cxt extends AsyncContext<ED> | SyncContext<ED>>(schema: StorageSchema<ED>): Trigger<ED, keyof ED, Cxt>[];

View File

@ -1,26 +0,0 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.createDynamicTriggers = void 0;
const modi_1 = require("../store/modi");
/* function createOperTriggers<ED extends EntityDict & BaseEntityDict, Cxt extends AsyncContext<ED> | SyncContext<ED>>() {
return [
{
name: 'assign initial bornAt for local oper',
entity: 'oper',
action: 'create',
when: 'before',
fn({ operation }) {
const { data } = operation;
assert(!(data instanceof Array));
if (!data.bornAt) {
data.bornAt = Date.now();
}
return 1;
}
} as CreateTrigger<ED, 'oper', Cxt>
] as Trigger<ED, keyof ED, Cxt>[];
} */
function createDynamicTriggers(schema) {
return (0, modi_1.createModiRelatedTriggers)(schema);
}
exports.createDynamicTriggers = createDynamicTriggers;

View File

@ -10,7 +10,7 @@ export interface Schema extends EntityShape {
extra?: Object;
operator?: User;
targetEntity: String<32>;
bornAt: Datetime;
bornAt?: Datetime;
};
const entityDesc: EntityDesc<Schema> = {

View File

@ -1432,7 +1432,7 @@ export abstract class CascadeStore<ED extends EntityDict & BaseEntityDict> exten
data,
operatorId,
targetEntity: entity as string,
bornAt: typeof bornAt === 'number' ? bornAt : now,
bornAt,
operEntity$oper: data instanceof Array ? {
id: 'dummy',
action: 'create',
@ -1600,7 +1600,7 @@ export abstract class CascadeStore<ED extends EntityDict & BaseEntityDict> exten
action,
data,
targetEntity: entity as string,
bornAt: typeof bornAt === 'number' ? bornAt : now,
bornAt,
operatorId,
operEntity$oper: {
id: 'dummy',
@ -1759,7 +1759,7 @@ export abstract class CascadeStore<ED extends EntityDict & BaseEntityDict> exten
context: Cxt,
option: OP): OperationResult<ED> {
const { action, data, filter, id, bornAt } = operation;
const { action, data, filter } = operation;
let opData: any;
const wholeBeforeFns: Array<() => any> = [];
const wholeAfterFns: Array<() => any> = [];
@ -1823,7 +1823,7 @@ export abstract class CascadeStore<ED extends EntityDict & BaseEntityDict> exten
operation: ED[T]['Operation'],
context: Cxt,
option: OP): Promise<OperationResult<ED>> {
const { action, data, filter, id, bornAt } = operation;
const { action, data, filter, bornAt } = operation;
let opData: any;
const wholeBeforeFns: Array<() => Promise<OperationResult<ED>>> = [];
const wholeAfterFns: Array<() => Promise<OperationResult<ED>>> = [];