diff --git a/.github/dependabot.yml b/.github/dependabot.yml deleted file mode 100644 index 06a7719..0000000 --- a/.github/dependabot.yml +++ /dev/null @@ -1,11 +0,0 @@ -version: 2 -updates: -- package-ecosystem: composer - directory: "/" - schedule: - interval: daily - open-pull-requests-limit: 10 - ignore: - - dependency-name: phpunit/phpunit - versions: - - ">= 9.a, < 10" diff --git a/README.md b/README.md index f936df1..cb1d3ad 100644 --- a/README.md +++ b/README.md @@ -162,34 +162,53 @@ $conn->transactional(static function () use ($conn) { }); ``` -### Contributors ✨ - - -[![All Contributors](https://img.shields.io/badge/all_contributors-6-orange.svg?style=flat-square)](#contributors-) - - -Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)): - - - - - - - - - - - - - -

Jefersson Nathan

💻 🚧

Alexandre Eher

💻

Airton Zanon

👀

Winfred Peereboom

🐛

Emmerson Siqueira

👀

echevalaz

🐛 🤔
- - - - - - -This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome! +### 🚫 Known Limitations + +As of today, we cannot consume a `sObject` using the `queryBuilder` to get all fields from +the `sObject`. That is because Salesforce doesn't accept `SELECT *` as a valid query. + +The workaround that issue is to do a `GET` request to specific resources, then can grab all +data related to that resource. + +```php +$this->connection + ->getNativeConnection() // : \GuzzleHttp\ClientInterface + ->request( + 'GET', + sprintf('/services/data/v40.0/sobjects/Opportunity/%s', $id) + ) + ->getBody() + ->getContents() +; +``` + +### 📈 Diagram + +```mermaid +%%{init: {'sequence': { 'mirrorActors': false, 'rightAngles': true, 'messageAlign': 'center', 'actorFontSize': 20, 'actorFontWeight': 900, 'noteFontSize': 18, 'noteFontWeight': 600, 'messageFontSize': 20}}}%% +%%{init: {'theme': 'base', 'themeVariables': { 'actorBorder': '#D86613', 'activationBorderColor': '#232F3E', 'activationBkgColor': '#D86613','noteBorderColor': '#232F3E', 'signalColor': 'white', 'signalTextColor': 'gray', 'sequenceNumberColor': '#232F3E'}}}%% +sequenceDiagram + autonumber + Note left of ConnectionWrapper: Everything starts with
the ConnectionWrapper. + ConnectionWrapper->>QueryBuilder: createQueryBuilder() + activate QueryBuilder + alt + QueryBuilder->>QueryBuilder: execute()
Calls private executeQuery()
method + end + QueryBuilder->>+ConnectionWrapper: executeQuery() + deactivate QueryBuilder + ConnectionWrapper->>SoqlStatement: execute() + SoqlStatement->>+\Doctrine\DBAL\Driver\Result: execute() + ConnectionWrapper->>+\Codelicia\Soql\DBAL\Result: new + \Doctrine\DBAL\Driver\Result-->>\Codelicia\Soql\DBAL\Result: pass to + \Codelicia\Soql\DBAL\Result-->>-ConnectionWrapper: returns + ConnectionWrapper->>-SoqlStatement: fetchAll() + SoqlStatement->>+\Codelicia\Soql\FetchDataUtility: fetchAll() + \Codelicia\Soql\FetchDataUtility-->>+\GuzzleHttp\ClientInterface: send() + Note right of \Codelicia\Soql\FetchDataUtility: Countable goes here?
before creating the Payload? + \Codelicia\Soql\FetchDataUtility->>+\Codelicia\Soql\Payload: new + \Codelicia\Soql\Payload-->>+SoqlStatement: returns +``` ### Author