Skip to content

Commit de7c051

Browse files
committed
improve openapi types
1 parent 279586d commit de7c051

File tree

1 file changed

+10
-6
lines changed

1 file changed

+10
-6
lines changed

src/Tqdev/PhpCrudApi/OpenApi/OpenApiRecordsBuilder.php

+10-6
Original file line numberDiff line numberDiff line change
@@ -22,16 +22,16 @@ class OpenApiRecordsBuilder
2222
'integer' => ['type' => 'integer', 'format' => 'int32'],
2323
'bigint' => ['type' => 'integer', 'format' => 'int64'],
2424
'varchar' => ['type' => 'string'],
25-
'clob' => ['type' => 'string'],
25+
'clob' => ['type' => 'string', 'format' => 'large-string'], //custom format
2626
'varbinary' => ['type' => 'string', 'format' => 'byte'],
27-
'blob' => ['type' => 'string', 'format' => 'byte'],
28-
'decimal' => ['type' => 'string'],
27+
'blob' => ['type' => 'string', 'format' => 'large-byte'], //custom format
28+
'decimal' => ['type' => 'string', 'format' => 'decimal'], //custom format
2929
'float' => ['type' => 'number', 'format' => 'float'],
3030
'double' => ['type' => 'number', 'format' => 'double'],
3131
'date' => ['type' => 'string', 'format' => 'date'],
32-
'time' => ['type' => 'string', 'format' => 'date-time'],
32+
'time' => ['type' => 'string', 'format' => 'time'], //custom format
3333
'timestamp' => ['type' => 'string', 'format' => 'date-time'],
34-
'geometry' => ['type' => 'string'],
34+
'geometry' => ['type' => 'string', 'format' => 'geometry'], //custom format
3535
'boolean' => ['type' => 'boolean'],
3636
];
3737

@@ -203,8 +203,12 @@ private function setComponentSchema(string $tableName, array $references) /*: vo
203203
}
204204
$column = $table->getColumn($columnName);
205205
$properties = $this->types[$column->getType()];
206+
$properties['maxLength'] = $column->hasLength() ? $column->getLength() : 0;
207+
$properties['nullable'] = $column->getNullable();
206208
foreach ($properties as $key => $value) {
207-
$this->openapi->set("$prefix|properties|$columnName|$key", $value);
209+
if ($value) {
210+
$this->openapi->set("$prefix|properties|$columnName|$key", $value);
211+
}
208212
}
209213
if ($column->getPk()) {
210214
$this->openapi->set("$prefix|properties|$columnName|x-primary-key", true);

0 commit comments

Comments
 (0)