forked from revertinc/revert
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: field mapping and custom schema (revertinc#207)
* prisma migration to add field mapping schemas * seed hs note model (unverified) * seed hs note model (verified) * seed hs note model * transform note acc to schema mapping * (approach 2) transform note acc to schema field mapping * (approach 2) seed all note fields and fix single note structure * minor fix * common func to transform field mapping to model * disunify using field mapping * allow connections to override field mapping * support custom objects in schema; show custom fields as additional * add winston and morgan logger * Field mapping for contact; support custom field mapping to custom crm field * add field mapping config * common unify and disunify methods * seed contact field mapping * use lodash get to transform nested mappings * unify and disunify for contact * disunify based on account config * unify and disunify for company * unify and disunify for deal * unify and disunify for event * unify and disunify for lead * unify and disunify for task * unify and disunify for user * minor refactor * handle 2 level nesting and fix mapping * make target field optional; multi level nesting * fix * fix * fix obj merge * fix pipedrive get format * preprocess * preprocess unify and disunify * disunify postprocess * flatten before disunify * pipedrive fix contact create * minor fixes * fix pipedrive lead disunify * chore: add account id to morgan logs * chore: cleanup * chore: cleanup * chore: cleanup * feat: ui for field mapping (revertinc#242) * feat: processing ui * feat: immplememt sse and redis pubsub * feat: read sse data to render failed ui * minor changes * feat: api to fetch mappable details and crm object properties * feat: api to create connection field mapping * feat: add custom field mapped to connection schema * feat: reallly basic ui for std field mapping * feat: reallly basic ui for custom field mapping * feat: add styling * fix: fix add btn order * feat: check for t_id in sse msg; send private token for calling further apis * feat: save mappings on click * feat: fix ui * feat: show done screen * feat: mark form dirty if empty fields * feat: show done stage if config doesnt exist * chore: fix pr comments * chore: use temp tenant token for auth; ui fixes * chore: fix dropdown caret; redis timeout * chore: pubsub fix * chore: cleanup * chore: cleanup * chore: resolve conflicts * feat: add remove mapping btn and divider * fix: fix logger * chore: cleanup * chore: move endpoints to fern * update yarn.lock * fix issues * add hubspot create custom properties api --------- Co-authored-by: jatin <sandilya.jatin@gmail.com>
- Loading branch information
Showing
69 changed files
with
4,992 additions
and
2,062 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -85,7 +85,4 @@ npm-debug.log* | |
!.github/**/*.yml | ||
!fern/**/*.yml | ||
revert-dev.js | ||
|
||
|
||
key.pem | ||
cert.pem | ||
.yarn/install-state.gz |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,75 @@ | ||
# yaml-language-server: $schema=https://raw.githubusercontent.com/fern-api/fern/main/fern.schema.json | ||
|
||
imports: | ||
errors: ../../common/errors.yml | ||
types: ../../common/types.yml | ||
|
||
types: | ||
MappableFieldType: | ||
properties: | ||
fieldName: string | ||
objectName: types.StandardObject | ||
FieldDetailsType: | ||
properties: | ||
fieldName: string | ||
fieldType: string | ||
fieldDescription: string | ||
FieldMappingType: | ||
properties: | ||
sourceFieldName: string | ||
targetFieldName: string | ||
object: string | ||
GetFieldMappingResponse: | ||
properties: | ||
canAddCustomMapping: boolean | ||
mappableFields: list<MappableFieldType> | ||
fieldList: unknown | ||
CreateFieldMappingRequestBody: | ||
properties: | ||
standardMappings: list<FieldMappingType> | ||
customMappings: list<FieldMappingType> | ||
CreateFieldMappingResponse: | ||
properties: | ||
status: types.ResponseStatus | ||
|
||
service: | ||
base-path: /crm/field-mapping | ||
auth: false | ||
headers: | ||
x-revert-api-token: | ||
type: optional<string> | ||
docs: Your official API key for accessing revert apis. | ||
x-revert-t-id: | ||
type: string | ||
docs: The unique customer id used when the customer linked their account. | ||
x-revert-t-token: | ||
type: optional<string> | ||
docs: The temp used to identify tenant. | ||
x-api-version: | ||
type: optional<string> | ||
docs: Optional Revert API version you're using. If missing we default to the latest version of the API. | ||
audiences: | ||
- external | ||
endpoints: | ||
getFieldMapping: | ||
docs: Get field mappings for a connection | ||
method: GET | ||
path: '' | ||
request: | ||
name: GetFieldMappingRequest | ||
response: GetFieldMappingResponse | ||
errors: | ||
- errors.UnAuthorizedError | ||
- errors.InternalServerError | ||
createFieldMapping: | ||
docs: Create field mappings for a connection | ||
method: POST | ||
path: '' | ||
request: | ||
name: CreateFieldMappingRequest | ||
body: CreateFieldMappingRequestBody | ||
response: CreateFieldMappingResponse | ||
errors: | ||
- errors.UnAuthorizedError | ||
- errors.InternalServerError | ||
- errors.NotFoundError |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,64 @@ | ||
# yaml-language-server: $schema=https://raw.githubusercontent.com/fern-api/fern/main/fern.schema.json | ||
|
||
imports: | ||
errors: ../common/errors.yml | ||
types: ../common/types.yml | ||
|
||
types: | ||
FieldDetailsType: | ||
properties: | ||
fieldName: string | ||
fieldType: string | ||
fieldDescription: string | ||
FieldDetailsTypeRequest: | ||
extends: FieldDetailsType | ||
properties: | ||
groupName: string | ||
type: string | ||
SetObjectPropertiesRequest: FieldDetailsTypeRequest | ||
GetObjectPropertiesResponse: unknown | ||
SetObjectPropertiesResponse: unknown | ||
|
||
service: | ||
base-path: /crm/properties | ||
auth: false | ||
headers: | ||
x-revert-api-token: | ||
type: string | ||
docs: Your official API key for accessing revert apis. | ||
x-revert-t-id: | ||
type: string | ||
docs: The unique customer id used when the customer linked their account. | ||
x-api-version: | ||
type: optional<string> | ||
docs: Optional Revert API version you're using. If missing we default to the latest version of the API. | ||
audiences: | ||
- external | ||
endpoints: | ||
getObjectProperties: | ||
docs: Get object properties for connection | ||
method: GET | ||
path: /{objectName} | ||
path-parameters: | ||
objectName: types.StandardObject | ||
request: | ||
name: GetObjectPropertiesRequest | ||
response: GetObjectPropertiesResponse | ||
errors: | ||
- errors.UnAuthorizedError | ||
- errors.InternalServerError | ||
- errors.NotFoundError | ||
setCustomProperties: | ||
docs: Set custom properties on an object for a given connection | ||
method: POST | ||
path: /{objectName} | ||
path-parameters: | ||
objectName: types.StandardObject | ||
request: | ||
name: SetObjectCustomPropertiesRequest | ||
body: SetObjectPropertiesRequest | ||
response: SetObjectPropertiesResponse | ||
errors: | ||
- errors.UnAuthorizedError | ||
- errors.InternalServerError | ||
- errors.NotFoundError |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
import { Subtype } from "./typeHelpers"; | ||
|
||
export type AllAssociation = 'contactId' | 'companyId' | 'leadId' | 'dealId' | 'noteId'; | ||
|
||
export type CompanyAssociation = Subtype<AllAssociation, 'dealId'>; | ||
|
||
export type ContactAssociation = Subtype<AllAssociation, 'dealId'>; | ||
|
||
export type DealAssociation = Subtype<AllAssociation, 'contactId' | 'companyId'>; | ||
|
||
export type EventAssociation = Subtype<AllAssociation, 'dealId' | 'contactId'>; | ||
|
||
export type LeadAssociation = Subtype<AllAssociation, 'contactId' | 'companyId' | 'dealId'>; | ||
|
||
export type NoteAssociation = Subtype<AllAssociation, 'contactId' | 'companyId' | 'leadId' | 'dealId'>; | ||
|
||
export type TaskAssociation = Subtype<AllAssociation, 'dealId'>; | ||
|
||
export type UserAssociation = Subtype<AllAssociation, 'dealId'>; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.