You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Btc 49 main filters group order (#72)
* BTC-49 Control condition order for a main group
* Documentation update
* Date Literals Fix (#71)
* SOQL Filter Group refactoring (#76)
* SOQL Filter Group refactoring
* Restore asDateLiteral
* readme update
Copy file name to clipboardExpand all lines: README.md
+31-18Lines changed: 31 additions & 18 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,7 +5,9 @@
5
5
6
6
The SOQL Lib provides functional constructs for SOQL queries in Apex.
7
7
8
-
For more details, please refer to the [documentation](https://soql-lib.vercel.app/). You may also find [this blog post](https://beyondthecloud.dev/blog/soql-lib) about SOQL Lib interesting
8
+
For more details, please refer to the [documentation](https://soql-lib.vercel.app/).
9
+
10
+
You may also find [this blog post](https://beyondthecloud.dev/blog/soql-lib) about SOQL Lib interesting.
1.**Small Selector Classes** - The selector class should be small and contains ONLY query base configuration (fields, sharing settings) and very generic methods (`byId`, `byRecordType`). Why?
79
-
- Huge classes are hard to manage.
80
-
- A lot of merge conflicts.
81
-
- Problems with methods naming.
82
-
2.**Build SOQL inline in a place of need** - Business-specific SOQLs should be built inline via `SOQL` builder in a place of need.
83
-
- Most of the queries on the project are case-specific and are not generic. There is no need to keep them in the Selector class.
84
-
3.**Build SOQL dynamically via builder** - Developers should be able to adjust queries with specific fields, conditions, and other SOQL clauses.
85
-
4.**Do not spend time on selector methods naming** - It can be difficult to find a proper name for a method that builds a query. The selector class contains methods like `selectByFieldAAndFieldBWithDescOrder`. It can be avoided by building SOQL inline in a place of need.
86
-
5.**Control FLS and sharing settings** - Selector should allow to control Field Level Security and sharing settings by simple methods like `.systemMode()`, `.withSharing()`, `.withoutSharing()`.
87
-
6.**Auto binding** - The selector should be able to bind variables dynamically without additional effort from the developer side.
88
-
7.**Mock results in Unit Tests** - Selector should allow for mocking data in unit tests.
0 commit comments