Code Duplication    Length = 18-18 lines in 2 locations

src/FlexiPeeHP/FlexiBeeRW.php 2 locations

@@ 161-178 (lines=18) @@
158
     * @param array $data
159
     * @return array List of missing columns. Empty if all is ok
160
     */
161
    public function controlMandatoryColumns($data = null)
162
    {
163
        if (is_null($data)) {
164
            $data = $this->getData();
165
        }
166
167
        $missingMandatoryColumns = [];
168
169
        $fbColumns   = $this->getColumnsInfo();
170
        foreach ($fbColumns as $columnName => $columnInfo) {
171
            $mandatory = ($columnInfo['mandatory'] == 'true');
172
            if ($mandatory && !array_key_exists($columnName, $data)) {
173
                $missingMandatoryColumns[$columnName] = $columnInfo['name'];
174
            }
175
        }
176
177
        return $missingMandatoryColumns;
178
    }
179
180
    /**
181
     * Control data for readonly columns presence.
@@ 186-203 (lines=18) @@
183
     * @param array $data
184
     * @return array List of ReadOnly columns. Empty if all is ok
185
     */
186
    public function controlReadOnlyColumns($data = null)
187
    {
188
        if (is_null($data)) {
189
            $data->getData();
190
        }
191
192
        $readonlyColumns = [];
193
194
        $fbColumns = $this->getColumnsInfo();
195
        foreach ($fbColumns as $columnName => $columnInfo) {
196
            $writable = ($columnInfo['isWritable'] == 'true');
197
            if (!$writable && !array_key_exists($columnName, $data)) {
198
                $readonlyColumns[$columnName] = $columnInfo['name'];
199
            }
200
        }
201
202
        return $readonlyColumns;
203
    }
204
205
    /**
206
     * Convert Timestamp to FlexiBee Date format.