Code Duplication    Length = 18-18 lines in 2 locations

src/FlexiPeeHP/FlexiBeeRW.php 2 locations

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