Metadata-Version: 2.1
Name: CohesiveSDK
Version: 0.0.1
Summary: Sample Python Project for creating a new Python Module
Author-email: Nam Nguyen <nam@cohesiveapp.com>
Requires-Python: >=3.7
Description-Content-Type: text/markdown
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Requires-Dist: pyspark>=3.0.0 ; extra == "spark"
Requires-Dist: bandit[toml]==1.7.4 ; extra == "test"
Requires-Dist: black==22.1.0 ; extra == "test"
Requires-Dist: check-manifest==0.48 ; extra == "test"
Requires-Dist: flake8-bugbear==22.1.11 ; extra == "test"
Requires-Dist: flake8-docstrings ; extra == "test"
Requires-Dist: flake8-formatter_junit_xml ; extra == "test"
Requires-Dist: flake8==4.0.1 ; extra == "test"
Requires-Dist: pre-commit==2.17.0 ; extra == "test"
Requires-Dist: pylint==2.12.2 ; extra == "test"
Requires-Dist: pylint_junit ; extra == "test"
Requires-Dist: pytest-cov==3.0.0 ; extra == "test"
Requires-Dist: pytest-mock<3.7.1 ; extra == "test"
Requires-Dist: pytest-runner ; extra == "test"
Requires-Dist: pytest==7.1.0 ; extra == "test"
Requires-Dist: pytest-github-actions-annotate-failures ; extra == "test"
Requires-Dist: shellcheck-py==0.8.0.4 ; extra == "test"
Project-URL: Documentation, https://docs.cohesiveapp.com
Project-URL: Source, https://github.com/cohesive-dev/cohesive-sdk-python
Project-URL: Tracker, https://github.com/cohesive-dev/cohesive-sdk-python/issues
Provides-Extra: spark
Provides-Extra: test

## Description
This package contains a custom client for Salesforce API. This client allows developers
to publish custom events to any SFDC instance.

## Usage
- First, initialize the SalesforceClient by calling `SalesforceClient.initialize`.
- `createSalesforceEvent` will generate a new event.
- `updateSalesforceEvent` will update an existing event or throw an error if the event does not exist.
- `upsertSalesforceEvent` will update an event with the same subject, meeting date, owner, and attendee. If there are multiple events
matching these criteria, override the event that is closest to the request time. If there is no event matching these criteria, create
a new event.
```
    salesforceClient = SalesforceClient.intialize(
        salesforceDomain: 'https://cohesive2-dev-ed.develop.my.salesforce.com',
    );
    eventId = await salesforceClient.createSalesforceEvent(
        accessToken='YOUR_ACCESS_TOKEN',
        data={
            AccountId: 'YOUR_ACCOUNT_ID',
            MeetingName: 'Test Meeting',
            MeetingUrl: 'test.xyz',
            MeetingDate: new Date().toISOString(),
            MeetingSummary: 'Test Summary',
            MeetingAttendee: null,
            Sentiment: 'Positive',
            DurationInMinutes: 30,
        },
        mapping={
            AccountId: 'OwnerId',
            MeetingName: 'Subject',
            MeetingUrl: 'Description',
            MeetingDate: 'ActivityDateTime',
            MeetingSummary: 'Description',
            MeetingAttendee: 'WhoId',
            Sentiment: 'Description',
        },
    );
```
