feat: integrate google lead discovery
This commit is contained in:
@@ -125,6 +125,9 @@ export default defineSchema({
|
||||
region: v.optional(v.string()),
|
||||
latitude: v.optional(v.number()),
|
||||
longitude: v.optional(v.number()),
|
||||
geocodedAt: v.optional(v.number()),
|
||||
geocodingPlaceId: v.optional(v.string()),
|
||||
geocodingFormattedAddress: v.optional(v.string()),
|
||||
radiusKm: v.number(),
|
||||
maxNewLeadsPerRun: v.number(),
|
||||
maxAuditsPerRun: v.number(),
|
||||
@@ -148,6 +151,7 @@ export default defineSchema({
|
||||
|
||||
leads: defineTable({
|
||||
campaignId: v.optional(v.id("campaigns")),
|
||||
discoveryRunId: v.optional(v.id("agentRuns")),
|
||||
companyName: v.string(),
|
||||
niche: v.optional(v.string()),
|
||||
address: v.optional(v.string()),
|
||||
@@ -155,6 +159,14 @@ export default defineSchema({
|
||||
postalCode: v.optional(v.string()),
|
||||
googlePlaceId: v.optional(v.string()),
|
||||
googleMapsUrl: v.optional(v.string()),
|
||||
googlePrimaryType: v.optional(v.string()),
|
||||
googleTypes: v.optional(v.array(v.string())),
|
||||
googleRating: v.optional(v.number()),
|
||||
googleUserRatingCount: v.optional(v.number()),
|
||||
googleBusinessStatus: v.optional(v.string()),
|
||||
sourceProvider: v.optional(v.literal("google_places")),
|
||||
sourceFetchedAt: v.optional(v.number()),
|
||||
websiteUrl: v.optional(v.string()),
|
||||
websiteDomain: v.optional(v.string()),
|
||||
phone: v.optional(v.string()),
|
||||
email: v.optional(v.string()),
|
||||
@@ -169,6 +181,7 @@ export default defineSchema({
|
||||
updatedAt: v.number(),
|
||||
})
|
||||
.index("by_campaignId", ["campaignId"])
|
||||
.index("by_discoveryRunId", ["discoveryRunId"])
|
||||
.index("by_contactStatus", ["contactStatus"])
|
||||
.index("by_googlePlaceId", ["googlePlaceId"])
|
||||
.index("by_websiteDomain", ["websiteDomain"])
|
||||
|
||||
Reference in New Issue
Block a user