Date: January 22, 2026 Version: 1.0
This document outlines the changes made to integrate new and updated NITECH (InterfaceX) endpoints into the Cardinalstone Registrars backend system.
| import { | |
| WebSocketGateway, | |
| WebSocketServer, | |
| OnGatewayConnection, | |
| OnGatewayDisconnect, | |
| } from '@nestjs/websockets'; | |
| import { Server, Socket } from 'socket.io'; | |
| import * as WebSocket from 'ws'; | |
| import { Injectable, Logger } from '@nestjs/common'; | |
| import { ConfigService } from '@nestjs/config'; |
| <!-- / Full width container --> | |
| <!DOCTYPE html> | |
| <?php | |
| use Carbon\Carbon; | |
| use CardinalstoneRestServer\services\mail\Mailer; | |
| ?> | |
| <htmL> | |
| <head> | |
| </head> | |
| <body> |
| <!-- / Full width container --> | |
| <!DOCTYPE html> | |
| <?php | |
| use Carbon\Carbon; | |
| use CardinalstoneRestServer\services\mail\Mailer; | |
| ?> | |
| <htmL> | |
| <head> | |
| </head> | |
| <body> |
| <!-- / Full width container --> | |
| <!DOCTYPE html> | |
| <?php | |
| use Carbon\Carbon; | |
| use CardinalstoneRestServer\services\mail\Mailer; | |
| ?> | |
| <htmL> | |
| <head> | |
| </head> | |
| <body> |
| <?php | |
| namespace CardinalstoneRestServer\services; | |
| use CardinalstoneRestServer\models\WebServiceModel; | |
| use function GuzzleHttp\json_decode; | |
| /* | |
| * This Class handles the API calls to paystack | |
| * @author devteam@cardinalstone.com |
| <?php | |
| namespace CardinalstoneRestServer\models; | |
| use CardinalstoneRestServer\models\Model; | |
| use CardinalstoneRestServer\models\MutualFundModel as mutualFundModel; | |
| use CardinalstoneRestServer\models\ForeignEquityModel; | |
| use CardinalstoneRestServer\services\JWTToken; | |
| use CardinalstoneRestServer\services\mail\Mailer; | |
| use CardinalstoneRestServer\middleware\Uploader; |
| <htmL> | |
| <head> | |
| </head> | |
| <body> | |
| <table class="full-width-container" border="0" cellpadding="0" cellspacing="0" height="100%" width="100%" bgcolor="#eeeeee" style="width: 100%; height: 100%; padding: 30px 0 30px 0; font-family:'Segoe UI', Tahoma, Geneva, Verdana, sans-serif"> | |
| <tr> | |
| <td align="center" valign="top"> | |
| <!-- / 700px container --> | |
| <table class="container" border="0" cellpadding="0" cellspacing="0" width="720" bgcolor="#ffffff" style="width: 720px;"> | |
| <tr> |
| <htmL> | |
| <head> | |
| </head> | |
| <body> | |
| <table class="full-width-container" border="0" cellpadding="0" cellspacing="0" height="100%" width="100%" bgcolor="#eeeeee" style="width: 100%; height: 100%; padding: 30px 0 30px 0; font-family:'Segoe UI', Tahoma, Geneva, Verdana, sans-serif"> | |
| <tr> | |
| <td align="center" valign="top"> | |
| <!-- / 700px container --> | |
| <table class="container" border="0" cellpadding="0" cellspacing="0" width="720" bgcolor="#ffffff" style="width: 720px;"> | |
| <tr> |
| investment account creation | |
| const payload = { | |
| clientId, | |
| branchId, | |
| productId, | |
| mgmtType: 'SELF', | |
| accountUsage: 'LIVE', | |
| accountLabel: | |
| user.user_type === UserType.Individual | |
| ? `${user.first_name || ''} ${user.last_name} (securities)` |