Untitled
unknown
plain_text
2 years ago
3.0 kB
5
Indexable
import { DateTime } from "luxon";
import { FaFirm } from '@lambdas/shared/models/FaFirm';
import { generateCsvReport } from "./generate-monthly-firm-crm-report/generateCsvReport";
import { SerializeFirmData } from "./generate-monthly-firm-crm-report/serializeFirmData";
import {
AccountHolderType,
Relationship,
ReportData,
} from "./generate-monthly-firm-crm-report/types";
import * as fs from "fs";
import * as Money from "@lambdas/shared/money";
import type { GenerateFirmCrmReportParserPayload } from "./generate-monthly-firm-crm-report/parser";
import { AiStatus, CRSStatus, CkaStatus, VerificationSource } from "./shared/types";
import { User } from "./shared/models";
const serializeFirmData: SerializeFirmData = {
name: "Hello",
reportDate: DateTime.now().toFormat("dd MMMM yyyy"),
data: [
{
adviserName: "Test 2 , Andrew",
rnfCode: "MAS123",
adviserEmail: "wmsupport@iress.com.sg;",
accountOpeningDate: "24 May 2019",
accountHolderType: AccountHolderType.client,
rsp: "No",
paymentMethod: "Cash",
aum: "27,035.14",
idNumber: "1234567",
clientName: "1, Client Test",
clientNationality: "Singaporean",
clientDob: "1 May 2000",
clientGender: "Male",
country: "500 58692999 859",
postalCode: "100000",
addressStressName: "Monaco",
addressUnit: "Monaco",
addressState: "Monaco",
clientMobile: "(+65)86945356",
clientEmail: "sheehwa.ho@gmail.com",
relationShip: "Inbound lead (via Invite)",
},
],
};
const payload: GenerateFirmCrmReportParserPayload = {
id: 1,
reportDate: DateTime.now(),
currency: "SGD",
};
const mockUser = new User({
id: "uuid",
full_name: "Full Name",
mobile_country_code: "84",
mobile: "123123123",
phone_number_verified: true,
created_at: "2022-02-22 02:00:00.000000",
updated_at: "2022-02-22 02:00:00.000000",
sex: "MALE",
id_number: "111222333",
date_of_birth: "2002-02-02",
nationality: "SG",
email: "test@chocfin.com",
addr_line_1: "address line 1",
addr_line_2: "address line 2",
addr_line_3: "address line 3",
addr_country: "SG",
addr_postal: "123456",
cka_status: CkaStatus.Passed,
ai_status: AiStatus.Ai,
crs_status: CRSStatus.declared,
verification_source: VerificationSource.Singpass,
preferred_name: "Preferred Name",
is_step_up_pin_set: true,
isAdminUserSession: false,
});
const reportData: ReportData[] = [
{
userInfo: mockUser,
userAum: Money.SGD.amount(8),
accountHolderType: AccountHolderType.client,
type: Relationship.firstLevelInvite,
}
];
const mockFaFirm: FaFirm = {
id: 1,
name: "mock-name",
createdDate: DateTime.now(),
allowInboundLeads: false,
assignmentRatio: 0
};
const a = generateCsvReport(payload, mockFaFirm, reportData);
console.log(a);
fs.writeFileSync("./output.csv", a);
Editor is loading...