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
-[SOQL](./soql/getting-started) - the main module of the lib provides functional constructs for queries.
15
+
-[Cache](./cache/getting-started)_(optional)_ - Use when you want to cache query results.
16
+
-[Evaluator](./evaluator/getting-started)_(optional)_ - Use when you don't want to learn the lib.
17
+
:::
18
+
19
+
**What Next?**
20
+
21
+
- Continue with the [Overview](overview.md) to understand the idea behind the SOQL Lib. 🚀
22
+
-[Install](installation.md) the SOQL Lib in your org.
23
+
24
+
## Quick Start
18
25
19
26
**Standard SOQL**
20
27
@@ -127,26 +134,13 @@ public with sharing class ExampleController {
127
134
}
128
135
```
129
136
130
-
## Benefits
131
-
132
-
Check the [Basic Features](./basic-features.md) section for more details.
133
-
134
-
1.**Additional level of abstraction** - The selector layer is an additional level of abstraction that gives you the possibility to control the execution of SOQL.
135
-
2.**Mocking** - Selector classes give a possibility to mock return values in unit tests.
136
-
- Mock external objects (__x) - External objects cannot be inserted in unit tests. You need to mock them.
137
-
- Mock custom metadata - Custom metadata cannot be inserted in unit tests unless the developer uses the Metadata API. Mock can be a solution.
138
-
3.**Control field-level security** - The best practice is to execute SOQLs `WITH USER_MODE` to enforce field-level security and object permissions of the running user. The selector layer can apply `WITH USER_MODE` by default to all of the queries, so the developer does not need to care about it. Developers can also add `WITH SYSTEM_MODE` to all SOQLs from a specific selector.
139
-
4.**Control sharing rules** - The selector allows execution of different methods in the same class in different sharing modes.
140
-
5.**Avoid duplicates** - Generic SOQLs like `getById` and `getByRecordType` can be stored in the selector class.
141
-
6.**Default configuration** - The selector class can provide default SOQL configuration like default fields, FLS settings, and sharing rules.
142
-
7.**Mocking** - The selector class has built-in mocking functionality that provides the ability to dynamically return data in test execution
143
-
8.**Caching** - The cached selector class allows you to cache records in Apex transactions, Session Cache, or Org Cache, which boosts your code's performance.
144
-
9.**Result Functions** - Transform your results easily using result SOQL Lib functions.
0 commit comments