fix(core): update
This commit is contained in:
parent
8830b825ac
commit
1a7634e8db
29
readme.md
29
readme.md
@ -1,13 +1,16 @@
|
|||||||
# @pushrocks/smartuniverse
|
# @pushrocks/smartuniverse
|
||||||
|
|
||||||
messaging service for micro services
|
messaging service for micro services
|
||||||
|
|
||||||
## Availabililty and Links
|
## Availabililty and Links
|
||||||
* [npmjs.org (npm package)](https://www.npmjs.com/package/@pushrocks/smartuniverse)
|
|
||||||
* [gitlab.com (source)](https://gitlab.com/pushrocks/smartuniverse)
|
- [npmjs.org (npm package)](https://www.npmjs.com/package/@pushrocks/smartuniverse)
|
||||||
* [github.com (source mirror)](https://github.com/pushrocks/smartuniverse)
|
- [gitlab.com (source)](https://gitlab.com/pushrocks/smartuniverse)
|
||||||
* [docs (typedoc)](https://pushrocks.gitlab.io/smartuniverse/)
|
- [github.com (source mirror)](https://github.com/pushrocks/smartuniverse)
|
||||||
|
- [docs (typedoc)](https://pushrocks.gitlab.io/smartuniverse/)
|
||||||
|
|
||||||
## Status for master
|
## Status for master
|
||||||
|
|
||||||
[![build status](https://gitlab.com/pushrocks/smartuniverse/badges/master/build.svg)](https://gitlab.com/pushrocks/smartuniverse/commits/master)
|
[![build status](https://gitlab.com/pushrocks/smartuniverse/badges/master/build.svg)](https://gitlab.com/pushrocks/smartuniverse/commits/master)
|
||||||
[![coverage report](https://gitlab.com/pushrocks/smartuniverse/badges/master/coverage.svg)](https://gitlab.com/pushrocks/smartuniverse/commits/master)
|
[![coverage report](https://gitlab.com/pushrocks/smartuniverse/badges/master/coverage.svg)](https://gitlab.com/pushrocks/smartuniverse/commits/master)
|
||||||
[![npm downloads per month](https://img.shields.io/npm/dm/@pushrocks/smartuniverse.svg)](https://www.npmjs.com/package/@pushrocks/smartuniverse)
|
[![npm downloads per month](https://img.shields.io/npm/dm/@pushrocks/smartuniverse.svg)](https://www.npmjs.com/package/@pushrocks/smartuniverse)
|
||||||
@ -20,13 +23,27 @@ messaging service for micro services
|
|||||||
|
|
||||||
Use TypeScript for best in class instellisense.
|
Use TypeScript for best in class instellisense.
|
||||||
|
|
||||||
### What does smartuniverse all about?
|
### What is smartuniverse all about?
|
||||||
|
|
||||||
Think WhatsApp, but for your microservices architecture. It allows your services to securely talk to each other in **private, shielded channels** without having to expose anything to the outside world. This allows the use of **reactive programming across your entire stack**.
|
Think WhatsApp, but for your microservices architecture. It allows your services to securely talk to each other in **private, shielded channels** without having to expose anything to the outside world. This allows the use of **reactive programming across your entire stack**.
|
||||||
|
|
||||||
|
```typescript
|
||||||
|
import * as smartuniverse from '@pushrocks/smartuniverse';
|
||||||
|
|
||||||
|
const myUniverse = new smartuniverse.Universe({
|
||||||
|
messageExpiryInMilliseconds: 60000 // the standard time in milliseconds until a message expires
|
||||||
|
});
|
||||||
|
|
||||||
|
// create as many channels as you like
|
||||||
|
myUniverse.addChannel('awesomeChannel', 'awesomeChannelPass');
|
||||||
|
myUniverse.addChannel('awesomeChannel2', 'jhkjhfsdf87eerkjslkfja9');
|
||||||
|
|
||||||
|
myUniverse.start(8765); // start the server and provide the port on which to listen on
|
||||||
|
```
|
||||||
|
|
||||||
For further information read the linked docs at the top of this readme.
|
For further information read the linked docs at the top of this readme.
|
||||||
|
|
||||||
> MIT licensed | **©** [Lossless GmbH](https://lossless.gmbh)
|
> MIT licensed | **©** [Lossless GmbH](https://lossless.gmbh)
|
||||||
| By using this npm module you agree to our [privacy policy](https://lossless.gmbH/privacy.html)
|
> | By using this npm module you agree to our [privacy policy](https://lossless.gmbH/privacy.html)
|
||||||
|
|
||||||
[![repo-footer](https://pushrocks.gitlab.io/assets/repo-footer.svg)](https://maintainedby.lossless.com)
|
[![repo-footer](https://pushrocks.gitlab.io/assets/repo-footer.svg)](https://maintainedby.lossless.com)
|
||||||
|
@ -8,6 +8,11 @@ let testUniverse: smartuniverse.Universe;
|
|||||||
let testUniverseClient: smartuniverse.ClientUniverse;
|
let testUniverseClient: smartuniverse.ClientUniverse;
|
||||||
let testClientChannel: smartuniverse.ClientUniverseChannel;
|
let testClientChannel: smartuniverse.ClientUniverseChannel;
|
||||||
|
|
||||||
|
const testChannelData = {
|
||||||
|
channelName: 'awesomeTestChannel',
|
||||||
|
channelPass: 'awesomeChannelPAss'
|
||||||
|
}
|
||||||
|
|
||||||
tap.test('first test', async () => {
|
tap.test('first test', async () => {
|
||||||
testUniverse = new smartuniverse.Universe({
|
testUniverse = new smartuniverse.Universe({
|
||||||
messageExpiryInMilliseconds: 1000
|
messageExpiryInMilliseconds: 1000
|
||||||
@ -15,7 +20,7 @@ tap.test('first test', async () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
tap.test('add a message to the SmartUniverse', async () => {
|
tap.test('add a message to the SmartUniverse', async () => {
|
||||||
await testUniverse.initServer(8765);
|
await testUniverse.start(8765);
|
||||||
});
|
});
|
||||||
|
|
||||||
// testing message handling
|
// testing message handling
|
||||||
@ -31,7 +36,7 @@ tap.test('should add a channel to the universe', async () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
tap.test('should get a observable correctly', async () => {
|
tap.test('should get a observable correctly', async () => {
|
||||||
testClientChannel = await testUniverseClient.getChannel('testChannel');
|
testClientChannel = await testUniverseClient.getChannel(testChannelData.channelName, testChannelData.channelPass);
|
||||||
expect(testClientChannel).to.be.instanceof(smartuniverse.ClientUniverseChannel);
|
expect(testClientChannel).to.be.instanceof(smartuniverse.ClientUniverseChannel);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -1 +1,7 @@
|
|||||||
export interface IUniverseMessage {}
|
export interface IUniverseMessage {
|
||||||
|
messageText: string;
|
||||||
|
targetChannelName: string;
|
||||||
|
passphrase: string;
|
||||||
|
payload?: string | number | any;
|
||||||
|
payloadStringType?: 'Buffer' | 'string' | 'object';
|
||||||
|
}
|
||||||
|
@ -31,11 +31,8 @@ export class ClientUniverse {
|
|||||||
this.options = optionsArg;
|
this.options = optionsArg;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async sendMessage(messageArg, payloadArg) {
|
public async sendMessage(messageArg: interfaces.IUniverseMessage) {
|
||||||
const requestBody: interfaces.IUniverseMessage = {
|
const requestBody: interfaces.IUniverseMessage = messageArg;
|
||||||
message: messageArg,
|
|
||||||
payload: payloadArg
|
|
||||||
};
|
|
||||||
const requestBodyString = JSON.stringify(requestBody);
|
const requestBodyString = JSON.stringify(requestBody);
|
||||||
// TODO: User websocket connection if available
|
// TODO: User websocket connection if available
|
||||||
const response = await plugins.smartrequest.postJson(`${this.options.serverAddress}/sendmessage` , {
|
const response = await plugins.smartrequest.postJson(`${this.options.serverAddress}/sendmessage` , {
|
||||||
|
@ -67,7 +67,7 @@ export class Universe {
|
|||||||
/**
|
/**
|
||||||
* initiates a server
|
* initiates a server
|
||||||
*/
|
*/
|
||||||
public async initServer(portArg: number | string) {
|
public async start(portArg: number | string) {
|
||||||
// lets create the base smartexpress server
|
// lets create the base smartexpress server
|
||||||
this.smartexpressServer = new plugins.smartexpress.Server({
|
this.smartexpressServer = new plugins.smartexpress.Server({
|
||||||
cors: true,
|
cors: true,
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
import * as plugins from './smartuniverse.plugins';
|
import * as plugins from './smartuniverse.plugins';
|
||||||
|
import * as interfaces from './interfaces';
|
||||||
|
|
||||||
import { Objectmap } from '@pushrocks/lik';
|
import { Objectmap } from '@pushrocks/lik';
|
||||||
|
|
||||||
@ -11,7 +12,7 @@ import { UniverseCache } from './smartuniverse.classes.universecache';
|
|||||||
* represents a message within a universe
|
* represents a message within a universe
|
||||||
* acts as a container to save message states like authentication status
|
* acts as a container to save message states like authentication status
|
||||||
*/
|
*/
|
||||||
export class UniverseMessage {
|
export class UniverseMessage implements interfaces.IUniverseMessage {
|
||||||
/**
|
/**
|
||||||
* public and unique id
|
* public and unique id
|
||||||
* numeric ascending
|
* numeric ascending
|
||||||
|
Loading…
x
Reference in New Issue
Block a user