From 3c9ed08515d472d812dba1e63ed2dddf50f807ed Mon Sep 17 00:00:00 2001 From: Anderson Feitosa Date: Thu, 12 Jan 2023 11:40:14 -0300 Subject: [PATCH 1/7] FEAT: split email into fist name and last name --- src/modules/mixpanel/mixpanel.controller.ts | 51 ++++++++++++++++++++- 1 file changed, 50 insertions(+), 1 deletion(-) diff --git a/src/modules/mixpanel/mixpanel.controller.ts b/src/modules/mixpanel/mixpanel.controller.ts index bf88224..d5e8f3d 100644 --- a/src/modules/mixpanel/mixpanel.controller.ts +++ b/src/modules/mixpanel/mixpanel.controller.ts @@ -15,8 +15,45 @@ export class MixpanelController { delete body.info; const mixpanel = init(this.mixpanelToken); + const separator = user.username.includes('-') ? '-' : '.'; + const removeValues = [ + '.dadosferatech.dadosfera', + '.demo.dadosfera', + '.dadosferademo', + '.dadosferatech.dadosfera2', + '.dadosferatech.dadosfera', + '.dadosfera.fin', + '.dadosfera.tech', + '.treinamentos@dadosfera.ai', + '.dadosfera', + '.dadosfera2', + '.treinamentosfera', + ]; + + let username = user.username; + + removeValues.forEach((value) => { + username = username.replace(value, ''); + }); + + username = username.split('@')?.[0]; + username = username.split('+')?.[0]; + + let firstName = username.substring(0, username.indexOf(separator)); + let lastName = username.substring(username.lastIndexOf('.') + 1); + + if (!firstName) { + firstName = lastName; + lastName = ''; + } + + firstName = this.capitalize(firstName); + lastName = this.capitalize(lastName); + await mixpanel.people.set(user.username, { - $name: user.username, + $first_name: firstName, + $last_name: lastName, + $name: this.getFullName(firstName, lastName), $email: user.username, customer_name: user.customer_name, }); @@ -30,4 +67,16 @@ export class MixpanelController { return { id, body, user: user.username }; } + + capitalize(sentence: string): string { + if (!sentence) { + return ''; + } + + return sentence[0].toUpperCase() + sentence.substring(1); + } + + getFullName(firstName: string, lastName: string) { + return `${firstName}${lastName ? ' ' + lastName : ''}`; + } } From b1f6d765b221f5dcc63f9dece1ac441192708bd5 Mon Sep 17 00:00:00 2001 From: Anderson Feitosa Date: Thu, 12 Jan 2023 11:47:04 -0300 Subject: [PATCH 2/7] FEAT: add more prefixed values --- src/modules/mixpanel/mixpanel.controller.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/modules/mixpanel/mixpanel.controller.ts b/src/modules/mixpanel/mixpanel.controller.ts index d5e8f3d..de64a64 100644 --- a/src/modules/mixpanel/mixpanel.controller.ts +++ b/src/modules/mixpanel/mixpanel.controller.ts @@ -23,6 +23,8 @@ export class MixpanelController { '.dadosferatech.dadosfera2', '.dadosferatech.dadosfera', '.dadosfera.fin', + '.dadosferafin.dadosfera', + '.praxio.dadosfera', '.dadosfera.tech', '.treinamentos@dadosfera.ai', '.dadosfera', From 2a0b17e45a8e21dc99c90873cd7e65f29f2a444a Mon Sep 17 00:00:00 2001 From: Anderson Feitosa Date: Thu, 12 Jan 2023 11:49:32 -0300 Subject: [PATCH 3/7] FEAT: add more prefixed values --- src/modules/mixpanel/mixpanel.controller.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/mixpanel/mixpanel.controller.ts b/src/modules/mixpanel/mixpanel.controller.ts index de64a64..db2ca76 100644 --- a/src/modules/mixpanel/mixpanel.controller.ts +++ b/src/modules/mixpanel/mixpanel.controller.ts @@ -27,9 +27,9 @@ export class MixpanelController { '.praxio.dadosfera', '.dadosfera.tech', '.treinamentos@dadosfera.ai', - '.dadosfera', '.dadosfera2', '.treinamentosfera', + '.dadosfera', ]; let username = user.username; From 7f967e5e75fc1aeff8dee219a64c2d0539d2735f Mon Sep 17 00:00:00 2001 From: Anderson Feitosa Date: Thu, 12 Jan 2023 11:52:51 -0300 Subject: [PATCH 4/7] FEAT: update hardcoded separator --- src/modules/mixpanel/mixpanel.controller.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/mixpanel/mixpanel.controller.ts b/src/modules/mixpanel/mixpanel.controller.ts index db2ca76..08e1cd4 100644 --- a/src/modules/mixpanel/mixpanel.controller.ts +++ b/src/modules/mixpanel/mixpanel.controller.ts @@ -42,7 +42,7 @@ export class MixpanelController { username = username.split('+')?.[0]; let firstName = username.substring(0, username.indexOf(separator)); - let lastName = username.substring(username.lastIndexOf('.') + 1); + let lastName = username.substring(username.lastIndexOf(separator) + 1); if (!firstName) { firstName = lastName; From fa023756c79069352f5237865f1ea2f2030d378a Mon Sep 17 00:00:00 2001 From: Anderson Feitosa Date: Thu, 12 Jan 2023 11:56:47 -0300 Subject: [PATCH 5/7] FEAT: replace dadosfera with empty string --- src/modules/mixpanel/mixpanel.controller.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/modules/mixpanel/mixpanel.controller.ts b/src/modules/mixpanel/mixpanel.controller.ts index 08e1cd4..bf94b0e 100644 --- a/src/modules/mixpanel/mixpanel.controller.ts +++ b/src/modules/mixpanel/mixpanel.controller.ts @@ -41,8 +41,12 @@ export class MixpanelController { username = username.split('@')?.[0]; username = username.split('+')?.[0]; - let firstName = username.substring(0, username.indexOf(separator)); - let lastName = username.substring(username.lastIndexOf(separator) + 1); + let firstName = username + .substring(0, username.indexOf(separator)) + .replace('dadosfera', ''); + let lastName = username + .substring(username.lastIndexOf(separator) + 1) + .replace('dadosfera', ''); if (!firstName) { firstName = lastName; From 05eefe866b0346ac1620db5eefe0fbd8edebb5d7 Mon Sep 17 00:00:00 2001 From: Anderson Feitosa Date: Thu, 12 Jan 2023 12:02:16 -0300 Subject: [PATCH 6/7] FEAT: add suffix on email --- src/modules/mixpanel/mixpanel.controller.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/modules/mixpanel/mixpanel.controller.ts b/src/modules/mixpanel/mixpanel.controller.ts index bf94b0e..6afb468 100644 --- a/src/modules/mixpanel/mixpanel.controller.ts +++ b/src/modules/mixpanel/mixpanel.controller.ts @@ -60,7 +60,9 @@ export class MixpanelController { $first_name: firstName, $last_name: lastName, $name: this.getFullName(firstName, lastName), - $email: user.username, + $email: user.username.includes('@') + ? user.username + : user.username + '@dadosfera.ai', customer_name: user.customer_name, }); From 0590c20af8a50579f6eb9f1b5aebf5522dc98531 Mon Sep 17 00:00:00 2001 From: Anderson Feitosa Date: Thu, 12 Jan 2023 12:03:04 -0300 Subject: [PATCH 7/7] FEAT: add more prefixed values --- src/modules/mixpanel/mixpanel.controller.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/modules/mixpanel/mixpanel.controller.ts b/src/modules/mixpanel/mixpanel.controller.ts index 6afb468..bf04196 100644 --- a/src/modules/mixpanel/mixpanel.controller.ts +++ b/src/modules/mixpanel/mixpanel.controller.ts @@ -20,6 +20,7 @@ export class MixpanelController { '.dadosferatech.dadosfera', '.demo.dadosfera', '.dadosferademo', + '.dadosferarh.dadosfera', '.dadosferatech.dadosfera2', '.dadosferatech.dadosfera', '.dadosfera.fin',