aboutsummaryrefslogtreecommitdiffstats
path: root/packages/sra-api/src
diff options
context:
space:
mode:
authorfragosti <francesco.agosti93@gmail.com>2018-08-09 05:00:50 +0800
committerfragosti <francesco.agosti93@gmail.com>2018-08-09 05:00:50 +0800
commit9aacceb0e4549a7a72cae7cbf74ea819db184d80 (patch)
tree059e0de4b423d78e50d6175a86d11fd541ab0244 /packages/sra-api/src
parentc9e1b7c5dc4eebf447fdc97568f08db0e2546904 (diff)
downloaddexon-sol-tools-9aacceb0e4549a7a72cae7cbf74ea819db184d80.tar.gz
dexon-sol-tools-9aacceb0e4549a7a72cae7cbf74ea819db184d80.tar.zst
dexon-sol-tools-9aacceb0e4549a7a72cae7cbf74ea819db184d80.zip
Remove tests directory, use swagger api, make json api compliant
Diffstat (limited to 'packages/sra-api/src')
-rw-r--r--packages/sra-api/src/api.ts6
-rw-r--r--packages/sra-api/src/json-schemas.ts63
-rw-r--r--packages/sra-api/src/parameters.ts1
3 files changed, 65 insertions, 5 deletions
diff --git a/packages/sra-api/src/api.ts b/packages/sra-api/src/api.ts
index 5973e11cd..e578ddc74 100644
--- a/packages/sra-api/src/api.ts
+++ b/packages/sra-api/src/api.ts
@@ -1,12 +1,10 @@
-import { schemas } from '@0xproject/json-schemas';
import { OpenApiSpec } from '@loopback/openapi-v3-types';
import { examples } from './examples';
+import { schemas } from './json-schemas';
import { md } from './md';
import { generateParameters } from './parameters';
import { generateResponses } from './responses';
-// We need to replace the `$ref`s to be OpenAPI compliant.
-const openApiSchemas = JSON.parse(JSON.stringify(schemas).replace(/(\/\w+)/g, match => `#/components/schemas${match}`));
export const api: OpenApiSpec = {
openapi: '3.0.0',
@@ -298,6 +296,6 @@ export const api: OpenApiSpec = {
},
},
components: {
- schemas: openApiSchemas,
+ schemas,
},
};
diff --git a/packages/sra-api/src/json-schemas.ts b/packages/sra-api/src/json-schemas.ts
new file mode 100644
index 000000000..5b222a43f
--- /dev/null
+++ b/packages/sra-api/src/json-schemas.ts
@@ -0,0 +1,63 @@
+import { schemas as jsonSchemas } from '@0xproject/json-schemas';
+
+// Only include schemas we actually need
+const {
+ numberSchema,
+ addressSchema,
+ hexSchema,
+ orderHashSchema,
+ orderSchema,
+ signedOrderSchema,
+ signedOrdersSchema,
+ ordersSchema,
+ paginatedCollectionSchema,
+ relayerApiErrorResponseSchema,
+ relayerApiFeeRecipientsResponseSchema,
+ relayerApiOrderSchema,
+ relayerApiOrdersSchema,
+ relayerApiOrderConfigPayloadSchema,
+ relayerApiOrderConfigResponseSchema,
+ relayerApiOrderBookResponseSchema,
+ relayerApiAssetDataPairsResponseSchema,
+ relayerApiAssetDataTradeInfoSchema,
+ relayerApiOrdersChannelSubscribeSchema,
+ relayerApiOrdersChannelSubscribePayload,
+ relayerApiOrdersChannelUpdateSchema,
+ relayerApiOrdersResponseSchema,
+ relayerApiAssetDataPairsSchema,
+} = jsonSchemas;
+
+const usedSchemas = {
+ numberSchema,
+ addressSchema,
+ hexSchema,
+ orderHashSchema,
+ orderSchema,
+ signedOrderSchema,
+ signedOrdersSchema,
+ ordersSchema,
+ paginatedCollectionSchema,
+ relayerApiErrorResponseSchema,
+ relayerApiFeeRecipientsResponseSchema,
+ relayerApiOrderSchema,
+ relayerApiOrdersSchema,
+ relayerApiOrderConfigPayloadSchema,
+ relayerApiOrderConfigResponseSchema,
+ relayerApiOrderBookResponseSchema,
+ relayerApiAssetDataPairsResponseSchema,
+ relayerApiAssetDataTradeInfoSchema,
+ relayerApiOrdersChannelSubscribeSchema,
+ relayerApiOrdersChannelSubscribePayload,
+ relayerApiOrdersChannelUpdateSchema,
+ relayerApiOrdersResponseSchema,
+ relayerApiAssetDataPairsSchema,
+};
+
+// We need to replace the `$ref`s to be OpenAPI compliant.
+const openApiSchemas = JSON.parse(
+ JSON.stringify(usedSchemas).replace(/(\/\w+)/g, match => `#/components/schemas${match}`),
+);
+// The json schema used by OpenAPI does not accept ids
+Object.keys(openApiSchemas).forEach(key => delete openApiSchemas[key].id);
+
+export const schemas = openApiSchemas;
diff --git a/packages/sra-api/src/parameters.ts b/packages/sra-api/src/parameters.ts
index bfa261df0..7b54fe9a0 100644
--- a/packages/sra-api/src/parameters.ts
+++ b/packages/sra-api/src/parameters.ts
@@ -25,7 +25,6 @@ export const networkdIdParameter: ParameterObject = {
in: 'query',
description: 'The id of the Ethereum network',
example: 42,
- default: 1,
schema: {
type: 'number',
},