Code Duplication    Length = 18-18 lines in 2 locations

src/FlexiPeeHP/FlexiBeeRW.php 2 locations

@@ 134-151 (lines=18) @@
131
     * @param array $data
132
     * @return array List of missing columns. Empty if all is ok
133
     */
134
    public function controlMandatoryColumns($data = null)
135
    {
136
        if (is_null($data)) {
137
            $data->getData();
138
        }
139
140
        $missingMandatoryColumns = [];
141
142
        $fbColumns = $this->getColumnsInfo();
143
        foreach ($fbColumns as $columnName => $columnInfo) {
144
            $mandatory = ($columnInfo['mandatory'] == 'true');
145
            if ($mandatory && !array_key_exists($columnName, $data)) {
146
                $missingMandatoryColumns[$columnName] = $columnInfo['name'];
147
            }
148
        }
149
150
        return $missingMandatoryColumns;
151
    }
152
153
    /**
154
     * Control data for readonly columns presence.
@@ 159-176 (lines=18) @@
156
     * @param array $data
157
     * @return array List of ReadOnly columns. Empty if all is ok
158
     */
159
    public function controlReadOnlyColumns($data = null)
160
    {
161
        if (is_null($data)) {
162
            $data->getData();
163
        }
164
165
        $readonlyColumns = [];
166
167
        $fbColumns = $this->getColumnsInfo();
168
        foreach ($fbColumns as $columnName => $columnInfo) {
169
            $writable = ($columnInfo['isWritable'] == 'true');
170
            if (!$writable && !array_key_exists($columnName, $data)) {
171
                $readonlyColumns[$columnName] = $columnInfo['name'];
172
            }
173
        }
174
175
        return $readonlyColumns;
176
    }
177
178
    /**
179
     * Convert Timestamp to FlexiBee Date format.