Skip to content

Commit

Permalink
Merge pull request #5 from ralphv/ralphv-wip
Browse files Browse the repository at this point in the history
Ralphv wip
  • Loading branch information
ralphv authored Aug 8, 2024
2 parents 72f1384 + 2283207 commit 703f0d5
Show file tree
Hide file tree
Showing 70 changed files with 199 additions and 178 deletions.
4 changes: 4 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
* text=auto
*.js text eol=crlf
*.ts text eol=crlf
*.json text eol=crlf
1 change: 0 additions & 1 deletion .mocharc.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
"extension": [
"ts"
],
"spec": "tests/**/*.test.ts",
"require": [
"tsx"
],
Expand Down
4 changes: 2 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ test:
trivy:
docker run --rm -v .:/app/ aquasec/trivy fs /app/ --scanners vuln

liquibase-init:
mkdir -p liquibase && docker run -u "$$(id -u):$$(id -g)" --rm -it -v ./liquibase:/app -w /app liquibase:alpine init project
#liquibase-init:
# mkdir -p liquibase && docker run -u "$$(id -u):$$(id -g)" --rm -it -v ./liquibase:/app -w /app liquibase:alpine init project

.PHONY: docker-compose-integration
docker-compose-integration:
Expand Down
2 changes: 1 addition & 1 deletion build.tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,6 @@
"src/**/*.ts"
],
"exclude": [
"node_modules", "dist", "tests", "integration-test"
"node_modules", "dist", "tests"
]
}
2 changes: 1 addition & 1 deletion dist/ascii.d.ts
Original file line number Diff line number Diff line change
@@ -1 +1 @@
export declare const ascii = "\n ..:-==+++++++==-:.. \n .:=++++=-:....:....:-=++++=:. \n ..=++=:.:====-----::-----===-.:-++=.. \n ..=+=:. :=+:. .:+..:---+-. :+= ..:=+=.. \n :++:.:. .-=.--=-:...:=--.:=.. .:++:. \n :*=.:==+: :=-:.--....--.-:+:. .=*-:=*: \n .++..+-..=-. .:=::. .:::*--:-:--. :=::+-.+*. \n .-*:.+=. .==.. .-+..-:. .+:---..-+:. ..==:. .:+::*=. \n .++.-+: .:-+=--=--=+-..:--..*.:-:. ...-==-:.. :----+.=+. \n .+=.=-...=-::-:. .-====::--=*-:::=-:::.-====:::-=-==-.:+:=+. \n .+=.=-. .=-..:-..--:....-- ..-=.=-.. .=+:. ..:-: ..:=. .:=-=+. \n .=+.=-.:=-.:=.:-.-:. .:+=- .:=-- .-:.:+- .-: .:=:.:=:+=. \n .:*.-=..=-+...-:---. .+-:-. .=--..-. ..+: :: .:=.:=:*-. \n .*-:=: ... .:-.-+:..*:=-. .-:.---.-:. .--.-: ..-===++.=--+: \n -*.-=. .-. ...*... .=#+=*@@@%:=-:.--.. .=+:--:... ..:-:=:*-.\n +-.=: .*@#=: -- .:+#@@*=@@@#-:+-. ...::.:+-.. .::. .:-=--+.\n #.:=. .=%*-. +. .+@#:::.::..-===-: .==- .==%#..-=:-=-:#.\n.%.:= .+@%-:-. +. .*@*:=++:.=..++--: .=.--.-.=@%. .:--==.#.\n.# := .--.%@@*=. +. .:#=........--=--: .=.-:-:. .:@@=.--==.#.\n.% := =%@@@:.:=. .+ ---==:. .+--:=-. :::=..-:. -@@+:=--=.#.\n #.:=.:#@@#.+. -#. .-=-::-+-..--- :+. .+:=-.:+-=%#+.:---:#.\n +-.=:..:=-. .-=..:+.-=.. ..-=-. .=.. :+. :-..=@@@#:-.=--+.\n -*.-=.-::=+=+-...-: .+-.-: .--=. -:..==. -:. :*+:-::=:*-.\n .*-:=:.+-...+%+--:. ..=*-.....+:- --+- -:. ..=..=--+: \n .:*.-=-:.=-.:-:--:. .:--+*+:+. .=:. .:-. .-- .:=:*-. \n .=+.==-+@*:=:--.-:.. .:-:--.. :=:.. :=:...:-:...=- .:=:+=. \n .+=.===-..:---===+=. .-+--:. ...:-=:...........:=-.. .:=:=+. \n .+=.=-.. .. .---. .=-..:=:..:-==+++=-:.. .:+:=+. \n .+=.:+: ..-++++=:. =.==++-+=-...+=. .==...-+.=+. \n .=*:.+=. .-=. .:+. =:=--.:-..=:*. =-:*::*=. \n .*+..+-.:=. .:= +-::--. .=# :*-.+*. \n :*=.:=++. .:= =. :-==. ..=*: \n :++:.:. .-+. .=:. .:-. :+-:. .:++:. \n ..=*=:.. :**-. ..-----..:--==::=*=.. \n ..=++-:.:=+==-----::-----===-.:-+*=.. \n .:=+++=--:.........::-=+++=:. \n ..:-==+++++++==-:.. \n";
export declare const ascii = " \n :::::--=+++==-::::: \n ::-+###################+-:: \n ::-+##########*+=========++++**+-:- \n ::+%#####*###*++==------=========+**=:: \n ::*%%#+######+:...:-=++=++=-:..-======+*+:: \n ::+@%%######-:::=***++=-. :=+*=.++====++=:: \n :-%#@@%###+:::=###*++=: =+=+-**====++-: \n :-@@@@%%#+:::*####**+=: =*:**+%*===++-: \n :-@@@%@@#-::=@@####*++=. :+-:#*+%#+=+++=: \n :-%%+%@@%-::+@@@%###*++=. -+-:+#*#%%++*+*-: \n :#@@@@@@-::=#%%@#####**=- .=*::+#**%%#++*+*-: \n :+@@%@@@#:::#@@@@@%####**+-. -+*:.-***+#%%*+*#++: \n -:#@@@%*@*:::#%@%@@@%##**#**+=-:...:=+*+::-+#*#+#%%%+*#*+:: \n ::%@@*%@@%-::=@@@@@@@@%######**++++*#+:::-+##*#+#%%%**+##-: \n :-@@@@@%%*--===%%@@#@%@@%%########*-:::-+*##*#*+#%%%#*###=: \n :=@%%@#-::::-----=#%@#@@@%%@%#+-:::::-+*####%#**#%%%#*##%+: \n :-@%%+::::=======-:::::::::::::::-=+**##%%##%*+##%%%####%=: \n ::%%#:::-%#+++**####**++++++++***#*#**%%%*%%#**#%#%%###%%-: \n ::#%-:::#%+++*#%*##*#%#***#%%%%%%#*#%%%#*%%#*+#%#%%####%#:: \n :+%-::-@+++*#%#*##*%%##******+##%%%#*=##%#*+*%%#%%####%+: \n :#-::+%++++%#%*%##**########%%%#*==#%+#**#*#%%%%####%%-: \n :-+::=%++*+%%#*#+%%########%#**=+%%###**#+#%%%%####%%-: \n :-::-@#+*++%%%#+#*+=*###*++*#%%%%%#**%+*#%%%%####%%=: \n ::::*@*+**+#%%%*%######%%%%%%%#***#*+*#%%%%####%%=: \n :::-%%*+#*++##%%%%%%%%%%%%#****##+**#%%%%####%%-: \n ::::#%*+##*+++*####%%###***##*++**#%%%%###%%+:: \n :::*%#*+*%#***+++++**###*++*#%#%%%%####%*:: \n ::-%@%#*+++*******+++**#%%#%%%%###%%=:: \n -:-+%%%####****##%%%#%%%%%%###%+-:: \n ::-+%@@%%%%%%%@@@@%%##%+-:: \n :::::----------:::- \n";
70 changes: 32 additions & 38 deletions dist/ascii.js
Original file line number Diff line number Diff line change
@@ -1,42 +1,36 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ascii = void 0;
exports.ascii = `
..:-==+++++++==-:..
.:=++++=-:....:....:-=++++=:.
..=++=:.:====-----::-----===-.:-++=..
..=+=:. :=+:. .:+..:---+-. :+= ..:=+=..
:++:.:. .-=.--=-:...:=--.:=.. .:++:.
:*=.:==+: :=-:.--....--.-:+:. .=*-:=*:
.++..+-..=-. .:=::. .:::*--:-:--. :=::+-.+*.
.-*:.+=. .==.. .-+..-:. .+:---..-+:. ..==:. .:+::*=.
.++.-+: .:-+=--=--=+-..:--..*.:-:. ...-==-:.. :----+.=+.
.+=.=-...=-::-:. .-====::--=*-:::=-:::.-====:::-=-==-.:+:=+.
.+=.=-. .=-..:-..--:....-- ..-=.=-.. .=+:. ..:-: ..:=. .:=-=+.
.=+.=-.:=-.:=.:-.-:. .:+=- .:=-- .-:.:+- .-: .:=:.:=:+=.
.:*.-=..=-+...-:---. .+-:-. .=--..-. ..+: :: .:=.:=:*-.
.*-:=: ... .:-.-+:..*:=-. .-:.---.-:. .--.-: ..-===++.=--+:
-*.-=. .-. ...*... .=#+=*@@@%:=-:.--.. .=+:--:... ..:-:=:*-.
+-.=: .*@#=: -- .:+#@@*=@@@#-:+-. ...::.:+-.. .::. .:-=--+.
#.:=. .=%*-. +. .+@#:::.::..-===-: .==- .==%#..-=:-=-:#.
.%.:= .+@%-:-. +. .*@*:=++:.=..++--: .=.--.-.=@%. .:--==.#.
.# := .--.%@@*=. +. .:#=........--=--: .=.-:-:. .:@@=.--==.#.
.% := =%@@@:.:=. .+ ---==:. .+--:=-. :::=..-:. -@@+:=--=.#.
#.:=.:#@@#.+. -#. .-=-::-+-..--- :+. .+:=-.:+-=%#+.:---:#.
+-.=:..:=-. .-=..:+.-=.. ..-=-. .=.. :+. :-..=@@@#:-.=--+.
-*.-=.-::=+=+-...-: .+-.-: .--=. -:..==. -:. :*+:-::=:*-.
.*-:=:.+-...+%+--:. ..=*-.....+:- --+- -:. ..=..=--+:
.:*.-=-:.=-.:-:--:. .:--+*+:+. .=:. .:-. .-- .:=:*-.
.=+.==-+@*:=:--.-:.. .:-:--.. :=:.. :=:...:-:...=- .:=:+=.
.+=.===-..:---===+=. .-+--:. ...:-=:...........:=-.. .:=:=+.
.+=.=-.. .. .---. .=-..:=:..:-==+++=-:.. .:+:=+.
.+=.:+: ..-++++=:. =.==++-+=-...+=. .==...-+.=+.
.=*:.+=. .-=. .:+. =:=--.:-..=:*. =-:*::*=.
.*+..+-.:=. .:= +-::--. .=# :*-.+*.
:*=.:=++. .:= =. :-==. ..=*:
:++:.:. .-+. .=:. .:-. :+-:. .:++:.
..=*=:.. :**-. ..-----..:--==::=*=..
..=++-:.:=+==-----::-----===-.:-+*=..
.:=+++=--:.........::-=+++=:.
..:-==+++++++==-:..
exports.ascii = `
:::::--=+++==-:::::
::-+###################+-::
::-+##########*+=========++++**+-:-
::+%#####*###*++==------=========+**=::
::*%%#+######+:...:-=++=++=-:..-======+*+::
::+@%%######-:::=***++=-. :=+*=.++====++=::
:-%#@@%###+:::=###*++=: =+=+-**====++-:
:-@@@@%%#+:::*####**+=: =*:**+%*===++-:
:-@@@%@@#-::=@@####*++=. :+-:#*+%#+=+++=:
:-%%+%@@%-::+@@@%###*++=. -+-:+#*#%%++*+*-:
:#@@@@@@-::=#%%@#####**=- .=*::+#**%%#++*+*-:
:+@@%@@@#:::#@@@@@%####**+-. -+*:.-***+#%%*+*#++:
-:#@@@%*@*:::#%@%@@@%##**#**+=-:...:=+*+::-+#*#+#%%%+*#*+::
::%@@*%@@%-::=@@@@@@@@%######**++++*#+:::-+##*#+#%%%**+##-:
:-@@@@@%%*--===%%@@#@%@@%%########*-:::-+*##*#*+#%%%#*###=:
:=@%%@#-::::-----=#%@#@@@%%@%#+-:::::-+*####%#**#%%%#*##%+:
:-@%%+::::=======-:::::::::::::::-=+**##%%##%*+##%%%####%=:
::%%#:::-%#+++**####**++++++++***#*#**%%%*%%#**#%#%%###%%-:
::#%-:::#%+++*#%*##*#%#***#%%%%%%#*#%%%#*%%#*+#%#%%####%#::
:+%-::-@+++*#%#*##*%%##******+##%%%#*=##%#*+*%%#%%####%+:
:#-::+%++++%#%*%##**########%%%#*==#%+#**#*#%%%%####%%-:
:-+::=%++*+%%#*#+%%########%#**=+%%###**#+#%%%%####%%-:
:-::-@#+*++%%%#+#*+=*###*++*#%%%%%#**%+*#%%%%####%%=:
::::*@*+**+#%%%*%######%%%%%%%#***#*+*#%%%%####%%=:
:::-%%*+#*++##%%%%%%%%%%%%#****##+**#%%%%####%%-:
::::#%*+##*+++*####%%###***##*++**#%%%%###%%+::
:::*%#*+*%#***+++++**###*++*#%#%%%%####%*::
::-%@%#*+++*******+++**#%%#%%%%###%%=::
-:-+%%%####****##%%%#%%%%%%###%+-::
::-+%@@%%%%%%%@@@@%%##%+-::
:::::----------:::-
`;
1 change: 1 addition & 0 deletions dist/scripts/create-postgres-scheduled-events.js
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ void (() => __awaiter(void 0, void 0, void 0, function* () {
const database = new Database_1.default();
yield database.initialize();
console.log(`Done!`);
yield Database_1.default.closePool();
}
catch (e) {
console.trace(`Error: ${String(e)}`);
Expand Down
34 changes: 26 additions & 8 deletions docker/tests/scheduled-events.compose.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
x-common-env: &common-env
restart: always

services:
kafka:
<<: *common-env
container_name: kafka
image: confluentinc/confluent-local:7.5.5
hostname: kafka
Expand Down Expand Up @@ -30,9 +34,9 @@ services:
- "9092:9092"

postgres:
<<: *common-env
container_name: postgres
image: postgres
restart: always
user: postgres
ports:
- "5432:5432"
Expand All @@ -48,12 +52,15 @@ services:
POSTGRES_HOST: postgres

connect:
<<: *common-env
container_name: connect
build:
context: .
depends_on:
- kafka
- postgres
kafka:
condition: service_healthy
postgres:
condition: service_healthy
environment:
CONNECT_BOOTSTRAP_SERVERS: kafka:29092
CONNECT_REST_PORT: 8083
Expand All @@ -71,19 +78,21 @@ services:
CONNECT_REST_ADVERTISED_HOST_NAME: "connect"
CONNECT_LOG4J_LOGGERS: "org.reflections=ERROR"
healthcheck:
test: ["CMD", "curl -f http://localhost:8083/connectors || exit 1"]
test: ["CMD", "curl", "-f", "http://localhost:8083/connectors"]
interval: 10s
timeout: 10s
retries: 5
start_period: 60s
retries: 10
start_period: 20s
ports:
- "8083:8083"

sqlpad:
<<: *common-env
container_name: sqlpad
image: sqlpad/sqlpad:latest
depends_on:
- postgres
postgres:
condition: service_healthy
ports:
- "3000:3000"
environment:
Expand All @@ -97,6 +106,7 @@ services:
SQLPAD_CONNECTIONS__postgres__password: 1q2w3e4r5t6y

kafka-ui:
<<: *common-env
container_name: kafka-ui
image: 'provectuslabs/kafka-ui:latest'
ports:
Expand All @@ -105,4 +115,12 @@ services:
- KAFKA_CLUSTERS_0_BOOTSTRAP_SERVERS=kafka:29092
- KAFKA_CLUSTERS_0_NAME=gallifrey-rules
depends_on:
- kafka
kafka:
condition: service_healthy

wait-for-all:
image: busybox
depends_on:
connect:
condition: service_healthy
entrypoint: ["sh", "-c", "echo 'All services are up, healthy and responsive'; sleep 5"]
9 changes: 8 additions & 1 deletion docs/ROADMAP.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,15 @@
# design requirements

before publish:
publish to npm
allow Config() to take in the event level config
create sample app
publish dinosaurus and polish it
-- release 0.5.0 beta.


avro topics
distributed locks controlled by event level data
allow Config() to take in the event level config
to allow easy modifications of configurations needed per event level. This means
config needs to assess the data on the spot and not pull that and cache that.
(think of how to do that)
Expand Down
10 changes: 5 additions & 5 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@
"scripts": {
"start": "node --env-file=.env dist/app.js",
"build": "tsc -p build.tsconfig.json && npm run lint && npm run test",
"test": "nyc mocha && rm -rf .nyc_output",
"integration-tests": "nyc mocha --max-parallel=1 'integration-tests/**/*.test.ts' && rm -rf .nyc_output # docker compose should be running",
"coverage": "nyc --reporter=html --report-dir=./coverage mocha",
"integration-coverage": "nyc --reporter=html --report-dir=./coverage mocha --max-parallel=1 'integration-tests/**/*.test.ts'",
"lint": "npx eslint ./src ./tests ./integration-tests --fix",
"test": "nyc mocha tests/unit/**/*.test.ts && rm -rf .nyc_output",
"test:unit": "npm run test",
"test:integration": "nyc mocha tests/integration/**/*.test.ts && rm -rf .nyc_output",
"coverage": "nyc --reporter=html --report-dir=./coverage mocha tests/**/*.test.ts && rm -rf .nyc_output",
"lint": "npx eslint ./src ./tests --fix",
"doc": "npx typedoc --out typedocs ./src",
"updateDeps": "npx npm-check-updates -u",
"build-docker": "docker build -t gallifrey-rules-tools . -f docker/tools.Dockerfile",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
/* eslint-disable @typescript-eslint/no-misused-promises,no-async-promise-executor,@typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unused-vars */
import { beforeEach } from 'mocha';
import sinon from 'sinon';
import { logger } from '../../src/lib/logger';
import { GallifreyRulesEngine, NamespaceSchema } from '../../src';
import { logger } from '../../../src/lib/logger';
import { GallifreyRulesEngine, NamespaceSchema } from '../../../src';
import path from 'node:path';
import { namespaceSchema } from './namespace';
import { createTopics, getSpiedCalls, produceIntoKafka, WaitForCondition } from '../lib/IntegrationUtils';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { EventDispatcherInterface, GallifreyEventType, GallifreyProvider, ProviderType } from '../../../src';
import { EventDispatcherInterface, GallifreyEventType, GallifreyProvider, ProviderType } from '../../../../src';
import os from 'os';
import { ModuleNames } from '../ModuleNames';

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { EngineRuleInterface, GallifreyPlugin, PluginType, RuleInterface } from '../../../src';
import { EngineRuleInterface, GallifreyPlugin, PluginType, RuleInterface } from '../../../../src';
import { SendEmailActionPayloadType } from './SendEmailAction';
import { OrdersTopicPayloadType } from './OrdersTopicDispatcher';
import { ModuleNames } from '../ModuleNames';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { AsyncAction, AsyncActionInterface, EngineActionInterface, GallifreyPlugin, PluginType } from '../../../src';
import { AsyncAction, AsyncActionInterface, EngineActionInterface, GallifreyPlugin, PluginType } from '../../../../src';
import { ModuleNames } from '../ModuleNames';
import { SpyCalls } from '../../lib/IntegrationUtils';

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { NamespaceSchema } from '../../src';
import { NamespaceSchema } from '../../../src';
import path from 'node:path';
import { ModuleNames } from './ModuleNames';

Expand Down
Original file line number Diff line number Diff line change
@@ -1,23 +1,23 @@
/* eslint-disable @typescript-eslint/no-misused-promises,no-async-promise-executor,@typescript-eslint/no-unsafe-member-access */
import { beforeEach } from 'mocha';
import sinon from 'sinon';
import { logger } from '../src/lib/logger';
import Database from '../src/database/Database';
import { logger } from '../../src/lib/logger';
import Database from '../../src/database/Database';
import {
GallifreyEventType,
GallifreyRulesEngine,
KafkaConsumerConfig,
ModuleNames,
NamespaceSchema,
NamespaceSchemaConsumer,
} from '../src';
} from '../../src';
import { EachMessagePayload } from 'kafkajs';
import { expect } from 'chai';
import path from 'node:path';
import { ScheduledEventType } from '../src/engine-events/ScheduledEventType';
import { ScheduledEventType } from '../../src/engine-events/ScheduledEventType';
import { scheduledEventsConnectorConfig } from './lib/scheduledEventsConnectorConfig';
import { createTopics } from './lib/IntegrationUtils';
import { deleteKafkaConnectConnector, deployKafkaConnectConnector } from '../src/lib/Utils';
import { deleteKafkaConnectConnector, deployKafkaConnectConnector } from '../../src/lib/Utils';

describe('e2e.scheduled events', () => {
let infoSpy: sinon.SinonSpy;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,16 @@ import path from 'node:path';
import { EachMessagePayload } from 'kafkajs';
import { beforeEach } from 'mocha';
import sinon from 'sinon';
import { logger } from '../src/lib/logger';
import { logger } from '../../src/lib/logger';
import {
GallifreyEventType,
GallifreyRulesEngine,
KafkaConsumerConfig,
NamespaceSchema,
NamespaceSchemaConsumer,
} from '../src';
import { KafkaConsumer } from '../src/KafkaConsumer';
import { ScheduledEventType } from '../src/engine-events/ScheduledEventType';
} from '../../src';
import { KafkaConsumer } from '../../src/KafkaConsumer';
import { ScheduledEventType } from '../../src/engine-events/ScheduledEventType';
import { findCallWithText, produceIntoKafka, WaitForCondition } from './lib/IntegrationUtils';

describe('e2e', () => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { ActionInterface, AsyncAction, EngineActionInterface, GallifreyPlugin, PluginType } from '../../src';
import { ActionInterface, AsyncAction, EngineActionInterface, GallifreyPlugin, PluginType } from '../../../src';

@AsyncAction
@GallifreyPlugin(PluginType.Action)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { ActionInterface, EngineActionInterface, GallifreyPlugin, PluginType } from '../../src';
import { ActionInterface, EngineActionInterface, GallifreyPlugin, PluginType } from '../../../src';

@GallifreyPlugin(PluginType.Action)
export default class EntityAction implements ActionInterface<string, string> {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/* eslint-disable @typescript-eslint/no-unused-vars */
import { DataObjectInterface, EngineDataObjectInterface, GallifreyPlugin, PluginType } from '../../src';
import { DataObjectInterface, EngineDataObjectInterface, GallifreyPlugin, PluginType } from '../../../src';

@GallifreyPlugin(PluginType.DataObject)
export default class EntityDataObject implements DataObjectInterface<number, string> {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { EngineRuleInterface, GallifreyPlugin, PluginType, RuleInterface } from '../../src';
import { EngineRuleInterface, GallifreyPlugin, PluginType, RuleInterface } from '../../../src';

@GallifreyPlugin(PluginType.Rule)
export default class ProcessNewEntityRule implements RuleInterface<any> {
Expand Down
Loading

0 comments on commit 703f0d5

Please sign in to comment.