Add generate openapi schema for rest api (#2923)

* Add generate openapi schema for rest api

* Split method in utils

* Add paramters

* Add error response

* Update description of filter and order by

* Add get/id routes

* Add delete route

* Use components

* Fix Typo

* Add tags

* Add create query

* Add required field

* Add update query

* Add body request example

* Add 201 on create request

* Add servers

* Fix failing test

* Add open-api endpoint

* Update description

* Return base schema if no auth

* Code review returns

* Use open-api/types

* Fix tag

* Use components for parameters

* Improve response examples

* Improve axios error message

* Fix tests
This commit is contained in:
martmull
2023-12-13 14:58:34 +01:00
committed by GitHub
parent 366ae0d448
commit e3e42be723
29 changed files with 957 additions and 13 deletions

View File

@ -0,0 +1,44 @@
import { FieldMetadataType } from 'src/metadata/field-metadata/field-metadata.entity';
import { ObjectMetadataEntity } from 'src/metadata/object-metadata/object-metadata.entity';
export const fieldNumber = {
name: 'fieldNumber',
type: FieldMetadataType.NUMBER,
isNullable: false,
defaultValue: null,
targetColumnMap: { value: 'fieldNumber' },
};
export const fieldString = {
name: 'fieldString',
type: FieldMetadataType.TEXT,
isNullable: true,
defaultValue: null,
targetColumnMap: { value: 'fieldString' },
};
export const fieldLink = {
name: 'fieldLink',
type: FieldMetadataType.LINK,
isNullable: false,
defaultValue: { label: '', url: '' },
targetColumnMap: { label: 'fieldLinkLabel', url: 'fieldLinkUrl' },
};
export const fieldCurrency = {
name: 'fieldCurrency',
type: FieldMetadataType.CURRENCY,
isNullable: true,
defaultValue: null,
targetColumnMap: {
amountMicros: 'fieldCurrencyAmountMicros',
currencyCode: 'fieldCurrencyCurrencyCode',
},
};
export const objectMetadataItem: DeepPartial<ObjectMetadataEntity> = {
targetTableName: 'testingObject',
nameSingular: 'objectName',
namePlural: 'objectsName',
fields: [fieldNumber, fieldString, fieldLink, fieldCurrency],
};