3
3
4
4
use Tqdev \PhpCrudApi \Column \Reflection \ReflectedTable ;
5
5
use Tqdev \PhpCrudApi \Middleware \Communication \VariableStore ;
6
- use Tqdev \PhpCrudApi \Record \Condition \AndCondition ;
7
6
use Tqdev \PhpCrudApi \Record \Condition \ColumnCondition ;
8
7
use Tqdev \PhpCrudApi \Record \Condition \Condition ;
9
8
@@ -98,10 +97,17 @@ public function definition(): GenericDefinition
98
97
return $ this ->definition ;
99
98
}
100
99
101
- private function addAuthorizationCondition (String $ tableName , Condition $ condition2 ): Condition
100
+ private function addMiddlewareConditions (String $ tableName , Condition $ condition ): Condition
102
101
{
103
102
$ condition1 = VariableStore::get ("authorization.conditions. $ tableName " );
104
- return $ condition1 ? AndCondition::fromArray ([$ condition1 , $ condition2 ]) : $ condition2 ;
103
+ if ($ condition1 ) {
104
+ $ condition = $ condition ->_and ($ condition1 );
105
+ }
106
+ $ condition2 = VariableStore::get ("multiTenancy.conditions. $ tableName " );
107
+ if ($ condition2 ) {
108
+ $ condition = $ condition ->_and ($ condition2 );
109
+ }
110
+ return $ condition ;
105
111
}
106
112
107
113
public function createSingle (ReflectedTable $ table , array $ columnValues ) /*: ?String*/
@@ -131,7 +137,7 @@ public function selectSingle(ReflectedTable $table, array $columnNames, String $
131
137
$ selectColumns = $ this ->columns ->getSelect ($ table , $ columnNames );
132
138
$ tableName = $ table ->getName ();
133
139
$ condition = new ColumnCondition ($ table ->getPk (), 'eq ' , $ id );
134
- $ condition = $ this ->addAuthorizationCondition ($ tableName , $ condition );
140
+ $ condition = $ this ->addMiddlewareConditions ($ tableName , $ condition );
135
141
$ parameters = array ();
136
142
$ whereClause = $ this ->conditions ->getWhereClause ($ condition , $ parameters );
137
143
$ sql = 'SELECT ' . $ selectColumns . ' FROM " ' . $ tableName . '" ' . $ whereClause ;
@@ -153,7 +159,7 @@ public function selectMultiple(ReflectedTable $table, array $columnNames, array
153
159
$ selectColumns = $ this ->columns ->getSelect ($ table , $ columnNames );
154
160
$ tableName = $ table ->getName ();
155
161
$ condition = new ColumnCondition ($ table ->getPk (), 'in ' , implode (', ' , $ ids ));
156
- $ condition = $ this ->addAuthorizationCondition ($ tableName , $ condition );
162
+ $ condition = $ this ->addMiddlewareConditions ($ tableName , $ condition );
157
163
$ parameters = array ();
158
164
$ whereClause = $ this ->conditions ->getWhereClause ($ condition , $ parameters );
159
165
$ sql = 'SELECT ' . $ selectColumns . ' FROM " ' . $ tableName . '" ' . $ whereClause ;
@@ -166,7 +172,7 @@ public function selectMultiple(ReflectedTable $table, array $columnNames, array
166
172
public function selectCount (ReflectedTable $ table , Condition $ condition ): int
167
173
{
168
174
$ tableName = $ table ->getName ();
169
- $ condition = $ this ->addAuthorizationCondition ($ tableName , $ condition );
175
+ $ condition = $ this ->addMiddlewareConditions ($ tableName , $ condition );
170
176
$ parameters = array ();
171
177
$ whereClause = $ this ->conditions ->getWhereClause ($ condition , $ parameters );
172
178
$ sql = 'SELECT COUNT(*) FROM " ' . $ tableName . '" ' . $ whereClause ;
@@ -178,7 +184,7 @@ public function selectAllUnordered(ReflectedTable $table, array $columnNames, Co
178
184
{
179
185
$ selectColumns = $ this ->columns ->getSelect ($ table , $ columnNames );
180
186
$ tableName = $ table ->getName ();
181
- $ condition = $ this ->addAuthorizationCondition ($ tableName , $ condition );
187
+ $ condition = $ this ->addMiddlewareConditions ($ tableName , $ condition );
182
188
$ parameters = array ();
183
189
$ whereClause = $ this ->conditions ->getWhereClause ($ condition , $ parameters );
184
190
$ sql = 'SELECT ' . $ selectColumns . ' FROM " ' . $ tableName . '" ' . $ whereClause ;
@@ -195,7 +201,7 @@ public function selectAll(ReflectedTable $table, array $columnNames, Condition $
195
201
}
196
202
$ selectColumns = $ this ->columns ->getSelect ($ table , $ columnNames );
197
203
$ tableName = $ table ->getName ();
198
- $ condition = $ this ->addAuthorizationCondition ($ tableName , $ condition );
204
+ $ condition = $ this ->addMiddlewareConditions ($ tableName , $ condition );
199
205
$ parameters = array ();
200
206
$ whereClause = $ this ->conditions ->getWhereClause ($ condition , $ parameters );
201
207
$ orderBy = $ this ->columns ->getOrderBy ($ table , $ columnOrdering );
@@ -216,7 +222,7 @@ public function updateSingle(ReflectedTable $table, array $columnValues, String
216
222
$ updateColumns = $ this ->columns ->getUpdate ($ table , $ columnValues );
217
223
$ tableName = $ table ->getName ();
218
224
$ condition = new ColumnCondition ($ table ->getPk (), 'eq ' , $ id );
219
- $ condition = $ this ->addAuthorizationCondition ($ tableName , $ condition );
225
+ $ condition = $ this ->addMiddlewareConditions ($ tableName , $ condition );
220
226
$ parameters = array_values ($ columnValues );
221
227
$ whereClause = $ this ->conditions ->getWhereClause ($ condition , $ parameters );
222
228
$ sql = 'UPDATE " ' . $ tableName . '" SET ' . $ updateColumns . $ whereClause ;
@@ -228,7 +234,7 @@ public function deleteSingle(ReflectedTable $table, String $id)
228
234
{
229
235
$ tableName = $ table ->getName ();
230
236
$ condition = new ColumnCondition ($ table ->getPk (), 'eq ' , $ id );
231
- $ condition = $ this ->addAuthorizationCondition ($ tableName , $ condition );
237
+ $ condition = $ this ->addMiddlewareConditions ($ tableName , $ condition );
232
238
$ parameters = array ();
233
239
$ whereClause = $ this ->conditions ->getWhereClause ($ condition , $ parameters );
234
240
$ sql = 'DELETE FROM " ' . $ tableName . '" ' . $ whereClause ;
@@ -245,7 +251,7 @@ public function incrementSingle(ReflectedTable $table, array $columnValues, Stri
245
251
$ updateColumns = $ this ->columns ->getIncrement ($ table , $ columnValues );
246
252
$ tableName = $ table ->getName ();
247
253
$ condition = new ColumnCondition ($ table ->getPk (), 'eq ' , $ id );
248
- $ condition = $ this ->addAuthorizationCondition ($ tableName , $ condition );
254
+ $ condition = $ this ->addMiddlewareConditions ($ tableName , $ condition );
249
255
$ parameters = array_values ($ columnValues );
250
256
$ whereClause = $ this ->conditions ->getWhereClause ($ condition , $ parameters );
251
257
$ sql = 'UPDATE " ' . $ tableName . '" SET ' . $ updateColumns . $ whereClause ;
0 commit comments