chore: introduced string to json from user-settings and moved types
This commit is contained in:
@@ -1,18 +1,11 @@
|
|||||||
import { Injectable } from '@nestjs/common';
|
import { Injectable } from '@nestjs/common';
|
||||||
import { PubSubService } from './pubsub/pubsub.service';
|
import { PubSubService } from './pubsub/pubsub.service';
|
||||||
import { PrimitiveTypes } from './types/primitive-types';
|
import { PrimitiveTypes } from './types/primitive-types';
|
||||||
import { ModuleTypes } from './types/module-types';
|
import { CustomModuleTypes } from './types/custom-module-types';
|
||||||
|
import { SubscriptionType } from './types/subscription-types';
|
||||||
|
|
||||||
// Custom generic type to indicate the type of module
|
// Custom generic type to indicate the type of module
|
||||||
type ModuleType = PrimitiveTypes | ModuleTypes;
|
type ModuleType = PrimitiveTypes | CustomModuleTypes;
|
||||||
|
|
||||||
// Contains constants for the subscription types we use in Subscription Handler
|
|
||||||
enum SubscriptionType {
|
|
||||||
Created = 'created',
|
|
||||||
Updated = 'updated',
|
|
||||||
Deleted = 'deleted',
|
|
||||||
DeleteMany = 'delete_many',
|
|
||||||
}
|
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
export class SubscriptionHandler {
|
export class SubscriptionHandler {
|
||||||
@@ -20,8 +13,8 @@ export class SubscriptionHandler {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Publishes a subscription using the pubsub module
|
* Publishes a subscription using the pubsub module
|
||||||
* @param topic a string containing the module name, an uid and the type of subscription
|
* @param topic a string containing the "module_name/identifier"
|
||||||
* @param subscriptionType type of subscription being called
|
* @param subscriptionType type of subscription being published
|
||||||
* @param moduleType type of the module model being called
|
* @param moduleType type of the module model being called
|
||||||
* @returns a promise of type void
|
* @returns a promise of type void
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -0,0 +1,7 @@
|
|||||||
|
// Contains constants for the subscription types we use in Subscription Handler
|
||||||
|
export enum SubscriptionType {
|
||||||
|
Created = 'created',
|
||||||
|
Updated = 'updated',
|
||||||
|
Deleted = 'deleted',
|
||||||
|
DeleteMany = 'delete_many',
|
||||||
|
}
|
||||||
@@ -4,8 +4,10 @@ import { pipe } from 'fp-ts/lib/function';
|
|||||||
import * as O from 'fp-ts/Option';
|
import * as O from 'fp-ts/Option';
|
||||||
import * as TE from 'fp-ts/TaskEither';
|
import * as TE from 'fp-ts/TaskEither';
|
||||||
import * as T from 'fp-ts/Task';
|
import * as T from 'fp-ts/Task';
|
||||||
|
import * as E from 'fp-ts/Either';
|
||||||
import { User } from './user/user.model';
|
import { User } from './user/user.model';
|
||||||
import * as A from 'fp-ts/Array';
|
import * as A from 'fp-ts/Array';
|
||||||
|
import { JSON_INVALID } from './errors';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A workaround to throw an exception in an expression.
|
* A workaround to throw an exception in an expression.
|
||||||
@@ -108,3 +110,18 @@ export const taskEitherValidateArraySeq = <A, B>(
|
|||||||
TE.getApplicativeTaskValidation(T.ApplicativeSeq, A.getMonoid<A>()),
|
TE.getApplicativeTaskValidation(T.ApplicativeSeq, A.getMonoid<A>()),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* String to JSON parser
|
||||||
|
* @param {str} str The string to parse
|
||||||
|
* @returns {E.Right<T> | E.Left<"json_invalid">} An Either of the parsed JSON
|
||||||
|
*/
|
||||||
|
export function stringToJson<T>(
|
||||||
|
str: string,
|
||||||
|
): E.Right<T | any> | E.Left<string> {
|
||||||
|
try {
|
||||||
|
return E.right(JSON.parse(str));
|
||||||
|
} catch (err) {
|
||||||
|
return E.left(JSON_INVALID);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user