@gg-world/deals
Version:
Zod schemas and TypeScript types for deal-related data structures
148 lines (147 loc) • 4.86 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getNullDealData = void 0;
const getNullDealData = (investorEmail, type, rawText, attachments = []) => {
var _a;
return {
investor_email: investorEmail,
status: "default",
stage: null,
source: type,
new: true,
tags: [],
created_at: new Date(),
updated_at: null,
processing_status: "pending",
notes: [],
profile: {
company_name: "",
pitch_deck: {
pitch_deck_link: null,
},
short_description: "",
website: null,
founding_date: null,
videos: {
video_pitch: null,
demo_video: null,
},
startup_headquarters: [],
incorporation: {
country: null,
state: null,
entity_type: null,
},
investment_stage: null,
round_size: null,
minimum_investment: null,
round_deadline: null,
round_progress: null,
lead_investor: null,
valuation: {
pre_money_valuation: null,
post_money_valuation: null,
},
previous_funding: {
total_raised: null,
last_round: {
type: null,
amount: null,
date: null,
},
},
traction: {
revenue: {
amount: 0,
type: "total",
growth: 0,
},
users: {
active: null,
total: null,
},
key_metrics: null,
},
market: {
tam: null,
sam: null,
som: null,
},
focus_geography_sales: [],
business_model: [],
verticals: [],
team: {
founders: [
{
name: "",
title: "",
email: "",
linkedin_url: "",
phone: "",
notableExperiences: [],
linkedin_profile: {
id: "",
name: "",
city: "",
country_code: "",
position: "",
about: "",
current_company: {
name: "",
title: "",
link: "",
},
experience: [],
profile_url: "",
education: [],
certifications: [],
avatar: "",
followers: 0,
connections: 0,
},
background: "",
},
],
team: {
team_size: null,
founder_names: [],
minorities: null,
skills_focus: null,
},
},
unique_selling_points: [],
challenges: [],
additional_details: {},
investor_questions: [],
},
scoring: {
score: -1,
factors: [],
},
enrichment_metadata: {
events: [
{
id: "initial",
last_enrichment_date: null,
raw_input: {
text: rawText,
attachments: (_a = attachments === null || attachments === void 0 ? void 0 : attachments.map((attachment) => ({
file_url: attachment.s3URL || attachment.originalFileName,
filename: attachment.originalFileName,
uploaded_at: new Date(),
}))) !== null && _a !== void 0 ? _a : [],
received_at: new Date(),
},
source_data: {},
processing_status: {
link_parsing_status: "pending",
raw_input_parsing_status: "pending",
link_parsing_results: [],
attachment_parsing_results: [],
},
},
],
},
};
};
exports.getNullDealData = getNullDealData;