org-core-js 0.0.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/README.md +446 -0
- package/babel.config.json +13 -0
- package/cjs/core/driverCore.js +37 -0
- package/cjs/core/drivers/bull.js +56 -0
- package/cjs/core/drivers/fogu.js +14 -0
- package/cjs/core/drivers/mq.js +50 -0
- package/cjs/core/drivers/nats.js +161 -0
- package/cjs/core/drivers/osone.js +14 -0
- package/cjs/core/drivers/rabbitmq.js +68 -0
- package/cjs/core/drivers/redis.js +68 -0
- package/cjs/core/drivers/socket.js +36 -0
- package/cjs/core/entityCore.js +22 -0
- package/cjs/core/eventCore.js +26 -0
- package/cjs/core/index.js +477 -0
- package/cjs/core/libCore.js +22 -0
- package/cjs/core/repositoryCore.js +30 -0
- package/cjs/core/serverCore.js +142 -0
- package/cjs/core/serviceCore.js +26 -0
- package/cjs/core/utilCore.js +22 -0
- package/cjs/core/workerCore.js +27 -0
- package/cjs/fileCore.js +27 -0
- package/cjs/forawait.js +55 -0
- package/cjs/index.js +117 -0
- package/cjs/package.json +3 -0
- package/esm/core/driverCore.js +33 -0
- package/esm/core/drivers/bull.js +49 -0
- package/esm/core/drivers/fogu.js +12 -0
- package/esm/core/drivers/nats.js +160 -0
- package/esm/core/drivers/rabbitmq.js +64 -0
- package/esm/core/drivers/redis.js +71 -0
- package/esm/core/drivers/socket.js +28 -0
- package/esm/core/entityCore.js +12 -0
- package/esm/core/eventCore.js +17 -0
- package/esm/core/index.js +440 -0
- package/esm/core/libCore.js +13 -0
- package/esm/core/repositoryCore.js +25 -0
- package/esm/core/serverCore.js +155 -0
- package/esm/core/serviceCore.js +17 -0
- package/esm/core/utilCore.js +12 -0
- package/esm/core/workerCore.js +20 -0
- package/esm/fileCore.js +19 -0
- package/esm/forawait.js +48 -0
- package/esm/index.js +128 -0
- package/esm/package.json +3 -0
- package/lib/index.html +1021 -0
- package/package.json +73 -0
- package/src/app/events/test/app.js +13 -0
- package/src/app/events/test/ws.js +14 -0
- package/src/app/services/test/app.js +14 -0
- package/src/app/services/test/app1.js +11 -0
- package/src/core/entities/user.js +14 -0
- package/src/core/libs/hash.js +10 -0
- package/src/core/utils/auth.js +19 -0
- package/src/index.js +11 -0
- package/src/infra/db/index.js +7 -0
- package/src/infra/repositories/test/app.js +6 -0
- package/src/infra/web/http.js +15 -0
- package/src/infra/web/routers/auth.js +30 -0
- package/src/infra/web/routers/test.js +26 -0
- package/src/infra/web/ws/test.js +35 -0
- package/src/infra/workers/test/test.md +14 -0
- package/src/start.js +39 -0
- package/test/core.test.js +46 -0
package/package.json
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "org-core-js",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"main": "src/start.js",
|
|
6
|
+
"scripts": {
|
|
7
|
+
"convert": "npx babel esm --out-dir cjs",
|
|
8
|
+
"ts": "npx babel esm --out-dir ts --extensions '.js,.ts' --only '**/*.d.ts'",
|
|
9
|
+
"push": "npx babel esm --out-dir cjs && npm publish",
|
|
10
|
+
"npm": "npm publish",
|
|
11
|
+
"dev": "node --watch .",
|
|
12
|
+
"test": "vitest"
|
|
13
|
+
},
|
|
14
|
+
"publishConfig": {
|
|
15
|
+
"access": "public"
|
|
16
|
+
},
|
|
17
|
+
"exports": {
|
|
18
|
+
".": {
|
|
19
|
+
"import": "./esm/index.js",
|
|
20
|
+
"require": "./cjs/index.js",
|
|
21
|
+
"forawait": "./esm/forawait.js",
|
|
22
|
+
"default": "./esm/index.js"
|
|
23
|
+
},
|
|
24
|
+
"./core": {
|
|
25
|
+
"import": "./esm/core.js",
|
|
26
|
+
"require": "./cjs/core.js"
|
|
27
|
+
},
|
|
28
|
+
"./forawait": {
|
|
29
|
+
"import": "./esm/forawait.js",
|
|
30
|
+
"require": "./cjs/forawait.js"
|
|
31
|
+
},
|
|
32
|
+
"./fileCore": {
|
|
33
|
+
"import": "./esm/fileCore.js",
|
|
34
|
+
"require": "./cjs/fileCore.js"
|
|
35
|
+
},
|
|
36
|
+
"./drivers/nats": {
|
|
37
|
+
"import": "./esm/core/drivers/nats.js",
|
|
38
|
+
"require": "./cjs/core/drivers/nats.js"
|
|
39
|
+
},
|
|
40
|
+
"./drivers/rabbitmq": {
|
|
41
|
+
"import": "./esm/core/drivers/rabbitmq.js",
|
|
42
|
+
"require": "./cjs/core/drivers/rabbitmq.js"
|
|
43
|
+
},
|
|
44
|
+
"./drivers/redis": {
|
|
45
|
+
"import": "./esm/core/drivers/redis.js",
|
|
46
|
+
"require": "./cjs/core/drivers/redis.js"
|
|
47
|
+
},
|
|
48
|
+
"./drivers/socket": {
|
|
49
|
+
"import": "./esm/core/drivers/socket.js",
|
|
50
|
+
"require": "./cjs/core/drivers/socket.js"
|
|
51
|
+
},
|
|
52
|
+
"./drivers/fogu": {
|
|
53
|
+
"import": "./esm/core/drivers/fogu.js",
|
|
54
|
+
"require": "./cjs/core/drivers/fogu.js"
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
"keywords": [],
|
|
58
|
+
"author": "",
|
|
59
|
+
"license": "MIT",
|
|
60
|
+
"description": "",
|
|
61
|
+
"dependencies": {
|
|
62
|
+
"dotenv": "^17.2.1",
|
|
63
|
+
"zod": "^4.0.17"
|
|
64
|
+
},
|
|
65
|
+
"devDependencies": {
|
|
66
|
+
"@babel/cli": "^7.28.0",
|
|
67
|
+
"@babel/core": "^7.28.0",
|
|
68
|
+
"@babel/preset-env": "^7.28.0",
|
|
69
|
+
"@babel/preset-typescript": "^7.27.1",
|
|
70
|
+
"babel-cli": "^6.26.0",
|
|
71
|
+
"vitest": "^4.0.6"
|
|
72
|
+
}
|
|
73
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export default ({ entity, repository }) => ({
|
|
2
|
+
driver: {
|
|
3
|
+
"node": true,
|
|
4
|
+
},
|
|
5
|
+
async execute(data) {
|
|
6
|
+
|
|
7
|
+
const app = await entity("user").entity(data)
|
|
8
|
+
const res = await repository("test.app").execute(app.id || "ddddddddddd")
|
|
9
|
+
return {
|
|
10
|
+
data: res
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
})
|
package/src/index.js
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export default ({ service, event, command, lib, util }) => ({
|
|
2
|
+
prefix: '/api',
|
|
3
|
+
|
|
4
|
+
routers: [{
|
|
5
|
+
url: '/auth',
|
|
6
|
+
method: 'get',
|
|
7
|
+
schema: {
|
|
8
|
+
|
|
9
|
+
},
|
|
10
|
+
middlewares: [util("auth").auth([])],
|
|
11
|
+
async handler(request, reply) {
|
|
12
|
+
const { user } = request
|
|
13
|
+
try {
|
|
14
|
+
|
|
15
|
+
reply.send({
|
|
16
|
+
data: user
|
|
17
|
+
})
|
|
18
|
+
} catch (error) {
|
|
19
|
+
reply.status(500).send({
|
|
20
|
+
error: error.message
|
|
21
|
+
})
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
}]
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
})
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export default ({ service, event, command, lib, util }) => ([
|
|
2
|
+
|
|
3
|
+
{
|
|
4
|
+
url: '/api/test',
|
|
5
|
+
method: 'get',
|
|
6
|
+
schema: {
|
|
7
|
+
|
|
8
|
+
},
|
|
9
|
+
middlewares: [], ///[util("auth").auth([])],
|
|
10
|
+
async handler(request, reply) {
|
|
11
|
+
const { user } = request
|
|
12
|
+
try {
|
|
13
|
+
|
|
14
|
+
reply.send({
|
|
15
|
+
data: user
|
|
16
|
+
})
|
|
17
|
+
} catch (error) {
|
|
18
|
+
reply.status(500).send({
|
|
19
|
+
error: error.message
|
|
20
|
+
})
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
])
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import forawait from "./../../../../esm/forawait.js"
|
|
2
|
+
|
|
3
|
+
export default ({ lib, event, events, util, job, service }) => ({
|
|
4
|
+
route: "/test",
|
|
5
|
+
async auth(socket, next) {
|
|
6
|
+
|
|
7
|
+
try {
|
|
8
|
+
next()
|
|
9
|
+
} catch (error) {
|
|
10
|
+
next(error)
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
},
|
|
14
|
+
async connection(socket) {
|
|
15
|
+
console.info("Socket connected!", socket.user)
|
|
16
|
+
|
|
17
|
+
socket.join("test");
|
|
18
|
+
|
|
19
|
+
forawait.generate(events, (io) => {
|
|
20
|
+
socket.on(io.event.topic, (input, cb) => {
|
|
21
|
+
io.execute({
|
|
22
|
+
input,
|
|
23
|
+
cb
|
|
24
|
+
}, { socket, io: this })
|
|
25
|
+
})
|
|
26
|
+
})
|
|
27
|
+
|
|
28
|
+
socket.on('disconnect', async () => {
|
|
29
|
+
console.log("disconnect:" + socket.id)
|
|
30
|
+
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
})
|
package/src/start.js
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { app } from "../esm/index.js";
|
|
2
|
+
//import { app } from "create-org-app";
|
|
3
|
+
await app.run({
|
|
4
|
+
drivers: [
|
|
5
|
+
/*{
|
|
6
|
+
type: "nats",
|
|
7
|
+
name: "nats",
|
|
8
|
+
config: {
|
|
9
|
+
servers: process.env.NATS_URL
|
|
10
|
+
}
|
|
11
|
+
}, {
|
|
12
|
+
type: "redis",
|
|
13
|
+
name: "redis",
|
|
14
|
+
config: {
|
|
15
|
+
url: process.env.REDIS_URL
|
|
16
|
+
}
|
|
17
|
+
}, {
|
|
18
|
+
type: "bull",
|
|
19
|
+
name: "bull",
|
|
20
|
+
config: {
|
|
21
|
+
url: process.env.REDIS_URL
|
|
22
|
+
}
|
|
23
|
+
}*/],
|
|
24
|
+
servers: [{
|
|
25
|
+
type: "http",
|
|
26
|
+
rootPasth: ""
|
|
27
|
+
}, /*{
|
|
28
|
+
type: "nats",
|
|
29
|
+
driver: "nats",
|
|
30
|
+
prefix: "test.app1",
|
|
31
|
+
services: ["test.*"]
|
|
32
|
+
services: ["test.app", {
|
|
33
|
+
name: "test.app1",
|
|
34
|
+
|
|
35
|
+
auth: "util:auth.apiKey"
|
|
36
|
+
}]
|
|
37
|
+
|
|
38
|
+
}*/]
|
|
39
|
+
})
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { expect, describe, beforeAll, afterEach, test } from 'vitest'
|
|
2
|
+
import { testApp } from '../esm/index.js'
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
let core = {}
|
|
6
|
+
afterEach(async () => {
|
|
7
|
+
|
|
8
|
+
})
|
|
9
|
+
|
|
10
|
+
beforeAll(async () => {
|
|
11
|
+
const { core: Core } = await testApp.run({
|
|
12
|
+
db: {
|
|
13
|
+
app: {
|
|
14
|
+
async findUnique(id) {
|
|
15
|
+
return {
|
|
16
|
+
id,
|
|
17
|
+
name: "dddd",
|
|
18
|
+
desc: "ddddddd"
|
|
19
|
+
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
})
|
|
25
|
+
core = Core
|
|
26
|
+
|
|
27
|
+
Core.event("node").sub({ topic: "service::test.app" }, ({ data }) => {
|
|
28
|
+
console.log(data)
|
|
29
|
+
Core.event("node").pub({ topic: "test.app" }, { id: data.id })
|
|
30
|
+
})
|
|
31
|
+
})
|
|
32
|
+
describe('core', () => {
|
|
33
|
+
|
|
34
|
+
test(' test ', async () => {
|
|
35
|
+
|
|
36
|
+
const res = await core.service("test.app").execute({
|
|
37
|
+
name: "ddd"
|
|
38
|
+
}, "node")
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
expect(res.data).toBeDefined()
|
|
42
|
+
expect(res.error).toBeUndefined()
|
|
43
|
+
expect(res.data.id).toBeDefined()
|
|
44
|
+
|
|
45
|
+
})
|
|
46
|
+
})
|