Squashed 'seatmap-webapi/' content from commit 02d4bf7

git-subtree-dir: seatmap-webapi
git-subtree-split: 02d4bf7404b8fcb788502ca45c813946b6c4f5b9
This commit is contained in:
zino
2021-01-20 12:59:59 +01:00
commit 1392bd3a96
261 changed files with 39680 additions and 0 deletions

View File

@@ -0,0 +1,9 @@
skip-for-sqlite: auto incrementing primary keys must be integer typed (may not be bigint)
===
GET /columns
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 2840
{"tables":[{"name":"barcodes","type":"table","columns":[{"name":"id","type":"integer","pk":true},{"name":"product_id","type":"integer","fk":"products"},{"name":"hex","type":"varchar","length":255},{"name":"bin","type":"blob"},{"name":"ip_address","type":"varchar","length":15,"nullable":true}]},{"name":"categories","type":"table","columns":[{"name":"id","type":"integer","pk":true},{"name":"name","type":"varchar","length":255},{"name":"icon","type":"blob","nullable":true}]},{"name":"comments","type":"table","columns":[{"name":"id","type":"bigint","pk":true},{"name":"post_id","type":"integer","fk":"posts"},{"name":"message","type":"varchar","length":255},{"name":"category_id","type":"integer","fk":"categories"}]},{"name":"countries","type":"table","columns":[{"name":"id","type":"integer","pk":true},{"name":"name","type":"varchar","length":255},{"name":"shape","type":"geometry"}]},{"name":"events","type":"table","columns":[{"name":"id","type":"integer","pk":true},{"name":"name","type":"varchar","length":255},{"name":"datetime","type":"timestamp","nullable":true},{"name":"visitors","type":"bigint","nullable":true}]},{"name":"kunsthåndværk","type":"table","columns":[{"name":"id","type":"varchar","length":36,"pk":true},{"name":"Umlauts ä_ö_ü-COUNT","type":"integer"},{"name":"user_id","type":"integer","fk":"users"},{"name":"invisible_id","type":"varchar","length":36,"nullable":true,"fk":"invisibles"}]},{"name":"nopk","type":"table","columns":[{"name":"id","type":"varchar","length":36}]},{"name":"post_tags","type":"table","columns":[{"name":"id","type":"integer","pk":true},{"name":"post_id","type":"integer","fk":"posts"},{"name":"tag_id","type":"integer","fk":"tags"}]},{"name":"posts","type":"table","columns":[{"name":"id","type":"integer","pk":true},{"name":"user_id","type":"integer","fk":"users"},{"name":"category_id","type":"integer","fk":"categories"},{"name":"content","type":"varchar","length":255}]},{"name":"products","type":"table","columns":[{"name":"id","type":"integer","pk":true},{"name":"name","type":"varchar","length":255},{"name":"price","type":"decimal","precision":10,"scale":2},{"name":"properties","type":"clob"},{"name":"created_at","type":"timestamp"},{"name":"deleted_at","type":"timestamp","nullable":true}]},{"name":"tag_usage","type":"view","columns":[{"name":"id","type":"integer","pk":true},{"name":"name","type":"varchar","length":255},{"name":"count","type":"bigint"}]},{"name":"tags","type":"table","columns":[{"name":"id","type":"integer","pk":true},{"name":"name","type":"varchar","length":255},{"name":"is_important","type":"boolean"}]},{"name":"users","type":"table","columns":[{"name":"id","type":"integer","pk":true},{"name":"username","type":"varchar","length":255},{"name":"password","type":"varchar","length":255},{"name":"location","type":"geometry","nullable":true}]}]}

View File

@@ -0,0 +1,8 @@
===
GET /columns/barcodes
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 283
{"name":"barcodes","type":"table","columns":[{"name":"id","type":"integer","pk":true},{"name":"product_id","type":"integer","fk":"products"},{"name":"hex","type":"varchar","length":255},{"name":"bin","type":"blob"},{"name":"ip_address","type":"varchar","length":15,"nullable":true}]}

View File

@@ -0,0 +1,8 @@
===
GET /columns/barcodes/id
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 40
{"name":"id","type":"integer","pk":true}

View File

@@ -0,0 +1,37 @@
skip-for-sqlite: table (columns) cannot be altered online
===
PUT /columns/barcodes/id
{"name":"id2","type":"bigint"}
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 4
true
===
GET /columns/barcodes/id2
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 40
{"name":"id2","type":"bigint","pk":true}
===
PUT /columns/barcodes/id2
{"name":"id","type":"integer"}
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 4
true
===
GET /columns/barcodes/id
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 40
{"name":"id","type":"integer","pk":true}

View File

@@ -0,0 +1,37 @@
skip-for-sqlite: table (columns) cannot be altered online
===
PUT /columns/barcodes/product_id
{"nullable":true}
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 4
true
===
GET /columns/barcodes/product_id
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 70
{"name":"product_id","type":"integer","nullable":true,"fk":"products"}
===
PUT /columns/barcodes/product_id
{"nullable":false}
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 4
true
===
GET /columns/barcodes/product_id
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 54
{"name":"product_id","type":"integer","fk":"products"}

View File

@@ -0,0 +1,81 @@
skip-for-sqlite: table (columns) cannot be altered online
===
GET /columns/events/visitors
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 51
{"name":"visitors","type":"bigint","nullable":true}
===
PUT /columns/events/visitors
{"nullable":false}
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 4
true
===
GET /columns/events/visitors
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 35
{"name":"visitors","type":"bigint"}
===
PUT /columns/events/visitors
{"nullable":true}
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 4
true
===
GET /columns/events/id
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 40
{"name":"id","type":"integer","pk":true}
===
PUT /columns/events/visitors
{"pk":false}
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 4
true
===
GET /columns/events/visitors
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 51
{"name":"visitors","type":"bigint","nullable":true}
===
PUT /columns/events/id
{"pk":true}
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 4
true
===
GET /columns/events/id
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 40
{"name":"id","type":"integer","pk":true}

View File

@@ -0,0 +1,37 @@
skip-for-sqlite: table (columns) cannot be altered online
===
PUT /columns/barcodes/product_id
{"fk":""}
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 4
true
===
GET /columns/barcodes/product_id
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 38
{"name":"product_id","type":"integer"}
===
PUT /columns/barcodes/product_id
{"fk":"products"}
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 4
true
===
GET /columns/barcodes/product_id
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 54
{"name":"product_id","type":"integer","fk":"products"}

View File

@@ -0,0 +1,36 @@
===
PUT /columns/barcodes
{"name":"barcodes2"}
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 4
true
===
GET /columns/barcodes2
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 284
{"name":"barcodes2","type":"table","columns":[{"name":"id","type":"integer","pk":true},{"name":"product_id","type":"integer","fk":"products"},{"name":"hex","type":"varchar","length":255},{"name":"bin","type":"blob"},{"name":"ip_address","type":"varchar","length":15,"nullable":true}]}
===
PUT /columns/barcodes2
{"name":"barcodes"}
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 4
true
===
GET /columns/barcodes
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 283
{"name":"barcodes","type":"table","columns":[{"name":"id","type":"integer","pk":true},{"name":"product_id","type":"integer","fk":"products"},{"name":"hex","type":"varchar","length":255},{"name":"bin","type":"blob"},{"name":"ip_address","type":"varchar","length":15,"nullable":true}]}

View File

@@ -0,0 +1,37 @@
skip-for-sqlite: table (columns) cannot be altered online
===
PUT /columns/barcodes/hex
{"type":"clob"}
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 4
true
===
GET /columns/barcodes/hex
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 28
{"name":"hex","type":"clob"}
===
PUT /columns/barcodes/hex
{"type":"varchar","length":255}
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 4
true
===
GET /columns/barcodes/hex
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 44
{"name":"hex","type":"varchar","length":255}

View File

@@ -0,0 +1,26 @@
===
POST /columns
{"name":"barcodes2","type":"table","columns":[{"name":"id","type":"integer","pk":true},{"name":"product_id","type":"integer","fk":"products"},{"name":"hex","type":"varchar","length":255},{"name":"bin","type":"blob"},{"name":"ip_address","type":"varchar","length":15,"nullable":true}]}
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 4
true
===
GET /columns/barcodes2
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 284
{"name":"barcodes2","type":"table","columns":[{"name":"id","type":"integer","pk":true},{"name":"product_id","type":"integer","fk":"products"},{"name":"hex","type":"varchar","length":255},{"name":"bin","type":"blob"},{"name":"ip_address","type":"varchar","length":15,"nullable":true}]}
===
DELETE /columns/barcodes2
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 4
true

View File

@@ -0,0 +1,27 @@
skip-for-sqlite: table (columns) cannot be altered online
===
POST /columns/barcodes
{"name":"alternative_product_id","type":"integer","nullable":true,"fk":"products"}
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 4
true
===
GET /columns/barcodes/alternative_product_id
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 82
{"name":"alternative_product_id","type":"integer","nullable":true,"fk":"products"}
===
DELETE /columns/barcodes/alternative_product_id
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 4
true

View File

@@ -0,0 +1,8 @@
===
GET /columns/invisibles
===
404
Content-Type: application/json; charset=utf-8
Content-Length: 54
{"code":1001,"message":"Table 'invisibles' not found"}

View File

@@ -0,0 +1,8 @@
===
GET /columns/kunsthåndværk/invisible
===
404
Content-Type: application/json; charset=utf-8
Content-Length: 54
{"code":1005,"message":"Column 'invisible' not found"}

View File

@@ -0,0 +1,56 @@
===
POST /columns
{"name":"types","type":"table","columns":[{"name":"id","type":"integer","pk":true},{"name":"integer","type":"integer"},{"name":"bigint","type":"bigint"},{"name":"varchar","type":"varchar","length":10},{"name":"decimal","type":"decimal","precision":10,"scale":4},{"name":"float","type":"float"},{"name":"double","type":"double"},{"name":"boolean","type":"boolean"},{"name":"date","type":"date"},{"name":"time","type":"time"},{"name":"timestamp","type":"timestamp"},{"name":"clob","type":"clob"},{"name":"blob","type":"blob"},{"name":"geometry","type":"geometry"}]}
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 4
true
===
GET /columns/types
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 563
{"name":"types","type":"table","columns":[{"name":"id","type":"integer","pk":true},{"name":"integer","type":"integer"},{"name":"bigint","type":"bigint"},{"name":"varchar","type":"varchar","length":10},{"name":"decimal","type":"decimal","precision":10,"scale":4},{"name":"float","type":"float"},{"name":"double","type":"double"},{"name":"boolean","type":"boolean"},{"name":"date","type":"date"},{"name":"time","type":"time"},{"name":"timestamp","type":"timestamp"},{"name":"clob","type":"clob"},{"name":"blob","type":"blob"},{"name":"geometry","type":"geometry"}]}
===
POST /records/types
Content-Type: application/json; charset=utf-8
{"integer":3,"bigint":4,"varchar":"bcd","decimal":"2.34","float":2,"double":34.56,"boolean":false,"date":"2020-02-02","time":"23:55:59","timestamp":"2002-03-04 05:06:07","clob":"b","blob":"Yg==","geometry":"POINT(2 3)"}
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 1
1
===
PUT /records/types/1
Content-Type: application/json; charset=utf-8
{"integer":2,"bigint":3,"varchar":"abc","decimal":"1.23","float":1,"double":23.45,"boolean":true,"date":"1970-01-01","time":"00:00:01","timestamp":"2001-02-03 04:05:06","clob":"a","blob":"YQ==","geometry":"POINT(1 2)"}
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 1
1
===
GET /records/types/1
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 227
{"id":1,"integer":2,"bigint":3,"varchar":"abc","decimal":"1.2300","float":1,"double":23.45,"boolean":true,"date":"1970-01-01","time":"00:00:01","timestamp":"2001-02-03 04:05:06","clob":"a","blob":"YQ==","geometry":"POINT(1 2)"}
===
DELETE /columns/types
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 4
true

View File

@@ -0,0 +1,337 @@
===
POST /columns
{"name":"types","type":"table","columns":[{"name":"id","type":"integer","pk":true},{"name":"integer","type":"integer"},{"name":"bigint","type":"bigint"},{"name":"varchar","type":"varchar","length":10},{"name":"decimal","type":"decimal","precision":10,"scale":4},{"name":"float","type":"float"},{"name":"double","type":"double"},{"name":"boolean","type":"boolean"},{"name":"date","type":"date"},{"name":"time","type":"time"},{"name":"timestamp","type":"timestamp"},{"name":"clob","type":"clob"},{"name":"blob","type":"blob"},{"name":"geometry","type":"geometry"}]}
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 4
true
===
POST /records/types
Content-Type: application/json; charset=utf-8
{"integer":2,"bigint":3,"varchar":"abc","decimal":"1.23","float":1,"double":23.45,"boolean":true,"date":"1970-01-01","time":"00:00:01","timestamp":"2001-02-03 04:05:06","clob":"a","blob":"YQ==","geometry":"POINT(1 2)"}
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 1
1
===
PUT /records/types/1
{"boolean":null}
===
422
Content-Type: application/json; charset=utf-8
Content-Length: 100
{"code":1013,"message":"Input validation failed for 'types'","details":{"boolean":"cannot be null"}}
===
PUT /records/types/1
{"integer":" 1\n"}
===
422
Content-Type: application/json; charset=utf-8
Content-Length: 104
{"code":1013,"message":"Input validation failed for 'types'","details":{"integer":"illegal whitespace"}}
===
PUT /records/types/1
{"integer":"23e"}
===
422
Content-Type: application/json; charset=utf-8
Content-Length: 101
{"code":1013,"message":"Input validation failed for 'types'","details":{"integer":"invalid integer"}}
===
PUT /records/types/1
integer=23e
===
422
Content-Type: application/json; charset=utf-8
Content-Length: 101
{"code":1013,"message":"Input validation failed for 'types'","details":{"integer":"invalid integer"}}
===
PUT /records/types/1
{"integer":"2.3"}
===
422
Content-Type: application/json; charset=utf-8
Content-Length: 101
{"code":1013,"message":"Input validation failed for 'types'","details":{"integer":"invalid integer"}}
===
PUT /records/types/1
{"integer":2.3}
===
422
Content-Type: application/json; charset=utf-8
Content-Length: 101
{"code":1013,"message":"Input validation failed for 'types'","details":{"integer":"invalid integer"}}
===
PUT /records/types/1
{"integer":"12345678901"}
===
422
Content-Type: application/json; charset=utf-8
Content-Length: 101
{"code":1013,"message":"Input validation failed for 'types'","details":{"integer":"invalid integer"}}
===
PUT /records/types/1
{"bigint":"12345678901234567890"}
===
422
Content-Type: application/json; charset=utf-8
Content-Length: 100
{"code":1013,"message":"Input validation failed for 'types'","details":{"bigint":"invalid integer"}}
===
PUT /records/types/1
{"varchar":"12345678901"}
===
422
Content-Type: application/json; charset=utf-8
Content-Length: 101
{"code":1013,"message":"Input validation failed for 'types'","details":{"varchar":"string too long"}}
===
PUT /records/types/1
{"decimal":"-1.23"}
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 1
1
===
PUT /records/types/1
{"decimal":"1.23"}
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 1
1
===
PUT /records/types/1
{"decimal":"12.23.34"}
===
422
Content-Type: application/json; charset=utf-8
Content-Length: 101
{"code":1013,"message":"Input validation failed for 'types'","details":{"decimal":"invalid decimal"}}
===
PUT /records/types/1
{"decimal":"1131313145345"}
===
422
Content-Type: application/json; charset=utf-8
Content-Length: 103
{"code":1013,"message":"Input validation failed for 'types'","details":{"decimal":"decimal too large"}}
===
PUT /records/types/1
{"decimal":1.2300}
===
422
Content-Type: application/json; charset=utf-8
Content-Length: 101
{"code":1013,"message":"Input validation failed for 'types'","details":{"decimal":"invalid decimal"}}
===
PUT /records/types/1
{"decimal":"1234567.123"}
===
422
Content-Type: application/json; charset=utf-8
Content-Length: 103
{"code":1013,"message":"Input validation failed for 'types'","details":{"decimal":"decimal too large"}}
===
PUT /records/types/1
{"decimal":"123456.12345"}
===
422
Content-Type: application/json; charset=utf-8
Content-Length: 105
{"code":1013,"message":"Input validation failed for 'types'","details":{"decimal":"decimal too precise"}}
===
PUT /records/types/1
{"decimal":"113131.3145345"}
===
422
Content-Type: application/json; charset=utf-8
Content-Length: 105
{"code":1013,"message":"Input validation failed for 'types'","details":{"decimal":"decimal too precise"}}
===
PUT /records/types/1
{"float":"string"}
===
422
Content-Type: application/json; charset=utf-8
Content-Length: 97
{"code":1013,"message":"Input validation failed for 'types'","details":{"float":"invalid float"}}
===
PUT /records/types/1
{"double":"string"}
===
422
Content-Type: application/json; charset=utf-8
Content-Length: 98
{"code":1013,"message":"Input validation failed for 'types'","details":{"double":"invalid float"}}
===
PUT /records/types/1
{"boolean":-1}
===
422
Content-Type: application/json; charset=utf-8
Content-Length: 101
{"code":1013,"message":"Input validation failed for 'types'","details":{"boolean":"invalid boolean"}}
===
PUT /records/types/1
{"date":"string"}
===
422
Content-Type: application/json; charset=utf-8
Content-Length: 95
{"code":1013,"message":"Input validation failed for 'types'","details":{"date":"invalid date"}}
===
PUT /records/types/1
{"date":"still-no-date"}
===
422
Content-Type: application/json; charset=utf-8
Content-Length: 95
{"code":1013,"message":"Input validation failed for 'types'","details":{"date":"invalid date"}}
===
PUT /records/types/1
{"time":"string"}
===
422
Content-Type: application/json; charset=utf-8
Content-Length: 95
{"code":1013,"message":"Input validation failed for 'types'","details":{"time":"invalid time"}}
===
PUT /records/types/1
{"time":"still:no:time"}
===
422
Content-Type: application/json; charset=utf-8
Content-Length: 95
{"code":1013,"message":"Input validation failed for 'types'","details":{"time":"invalid time"}}
===
PUT /records/types/1
{"time":"999:999:999"}
===
422
Content-Type: application/json; charset=utf-8
Content-Length: 95
{"code":1013,"message":"Input validation failed for 'types'","details":{"time":"invalid time"}}
===
PUT /records/types/1
{"timestamp":"string"}
===
422
Content-Type: application/json; charset=utf-8
Content-Length: 105
{"code":1013,"message":"Input validation failed for 'types'","details":{"timestamp":"invalid timestamp"}}
===
PUT /records/types/1
{"timestamp":"2001-01-01 999:999:999"}
===
422
Content-Type: application/json; charset=utf-8
Content-Length: 105
{"code":1013,"message":"Input validation failed for 'types'","details":{"timestamp":"invalid timestamp"}}
===
PUT /records/types/1
{"clob":"𠜎𠜱𠝹𠱓𠱸𠲖𠳏𠳕𠴕𠵼𠵿𠸎𠸏𠹷𠺝𠺢𠻗"}
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 1
1
===
PUT /records/types/1
{"blob":"!"}
===
422
Content-Type: application/json; charset=utf-8
Content-Length: 97
{"code":1013,"message":"Input validation failed for 'types'","details":{"blob":"invalid base64"}}
===
PUT /records/types/1
{"blob":"T8O5IGVzdCBsZSBjYWbDqSBsZSBwbHVzIHByb2NoZT8"}
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 1
1
===
GET /records/types/1
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 334
{"id":1,"integer":2,"bigint":3,"varchar":"abc","decimal":"1.2300","float":1,"double":23.45,"boolean":true,"date":"1970-01-01","time":"00:00:01","timestamp":"2001-02-03 04:05:06","clob":"𠜎𠜱𠝹𠱓𠱸𠲖𠳏𠳕𠴕𠵼𠵿𠸎𠸏𠹷𠺝𠺢𠻗","blob":"T8O5IGVzdCBsZSBjYWbDqSBsZSBwbHVzIHByb2NoZT8=","geometry":"POINT(1 2)"}
===
DELETE /columns/types
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 4
true

View File

@@ -0,0 +1,401 @@
===
POST /columns
{"name":"forgiving","type":"table","columns":[{"name":"id","type":"integer","pk":true},{"name":"integer","type":"integer"},{"name":"bigint","type":"bigint"},{"name":"varchar","type":"varchar","length":10},{"name":"decimal","type":"decimal","precision":10,"scale":4},{"name":"float","type":"float"},{"name":"double","type":"double"},{"name":"boolean","type":"boolean"},{"name":"date","type":"date"},{"name":"time","type":"time"},{"name":"timestamp","type":"timestamp"},{"name":"clob","type":"clob"},{"name":"blob","type":"blob"},{"name":"geometry","type":"geometry"}]}
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 4
true
===
POST /records/forgiving
Content-Type: application/json; charset=utf-8
{"integer":2,"bigint":3,"varchar":"abc","decimal":1.23,"float":1,"double":23.45,"boolean":true,"date":"1970-01-01","time":"00:00:01","timestamp":"2001-02-03 04:05:06","clob":"a","blob":"YQ==","geometry":"POINT(1 2)"}
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 1
1
===
PUT /records/forgiving/1
{"boolean":"true"}
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 1
1
===
GET /records/forgiving/1?include=boolean
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 16
{"boolean":true}
===
PUT /records/forgiving/1
{"boolean":"yes"}
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 1
1
===
GET /records/forgiving/1?include=boolean
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 16
{"boolean":true}
===
PUT /records/forgiving/1
{"boolean":"1"}
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 1
1
===
GET /records/forgiving/1?include=boolean
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 16
{"boolean":true}
===
PUT /records/forgiving/1
{"boolean":1}
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 1
1
===
GET /records/forgiving/1?include=boolean
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 16
{"boolean":true}
===
PUT /records/forgiving/1
{"integer":" 2\n"}
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 1
1
===
GET /records/forgiving/1?include=integer
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 13
{"integer":2}
===
PUT /records/forgiving/1
integer=2%20
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 1
1
===
GET /records/forgiving/1?include=integer
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 13
{"integer":2}
===
PUT /records/forgiving/1
{"integer":1.99999}
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 1
1
===
GET /records/forgiving/1?include=integer
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 13
{"integer":2}
===
PUT /records/forgiving/1
{"bigint":" 3\n"}
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 1
1
===
GET /records/forgiving/1?include=bigint
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 12
{"bigint":3}
===
PUT /records/forgiving/1
{"bigint":2.99999}
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 1
1
===
GET /records/forgiving/1?include=bigint
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 12
{"bigint":3}
===
PUT /records/forgiving/1
{"decimal":"1.23"}
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 1
1
===
GET /records/forgiving/1?include=decimal
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 20
{"decimal":"1.2300"}
===
PUT /records/forgiving/1
{"decimal":1.2300}
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 1
1
===
GET /records/forgiving/1?include=decimal
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 20
{"decimal":"1.2300"}
===
PUT /records/forgiving/1
{"decimal":"1.23004"}
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 1
1
===
GET /records/forgiving/1?include=decimal
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 20
{"decimal":"1.2300"}
===
PUT /records/forgiving/1
{"decimal":"1.23006"}
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 1
1
===
GET /records/forgiving/1?include=decimal
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 20
{"decimal":"1.2301"}
===
PUT /records/forgiving/1
float=1%20
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 1
1
===
GET /records/forgiving/1?include=float
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 11
{"float":1}
===
PUT /records/forgiving/1
{"double":" 23.45e-1 "}
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 1
1
===
GET /records/forgiving/1?include=double
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 16
{"double":2.345}
===
PUT /records/forgiving/1
{"date":"2020-12-05"}
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 1
1
===
GET /records/forgiving/1?include=date
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 21
{"date":"2020-12-05"}
===
PUT /records/forgiving/1
{"date":"December 20th, 2020"}
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 1
1
===
GET /records/forgiving/1?include=date
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 21
{"date":"2020-12-20"}
===
PUT /records/forgiving/1
{"time":"13:15"}
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 1
1
===
GET /records/forgiving/1?include=time
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 19
{"time":"13:15:00"}
===
PUT /records/forgiving/1
{"timestamp":"2012-1-1 23:46"}
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 1
1
===
GET /records/forgiving/1?include=timestamp
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 35
{"timestamp":"2012-01-01 23:46:00"}
===
PUT /records/forgiving/1
{"clob":"𠜎𠜱𠝹𠱓𠱸𠲖𠳏𠳕𠴕𠵼𠵿𠸎𠸏𠹷𠺝𠺢𠻗"}
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 1
1
===
PUT /records/forgiving/1
{"blob":"!"}
===
422
Content-Type: application/json; charset=utf-8
Content-Length: 101
{"code":1013,"message":"Input validation failed for 'forgiving'","details":{"blob":"invalid base64"}}
===
PUT /records/forgiving/1
{"blob":"T8O5IGVzdCBsZSBjYWbDqSBsZSBwbHVzIHByb2NoZT8"}
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 1
1
===
DELETE /columns/forgiving
===
200
Content-Type: application/json; charset=utf-8
Content-Length: 4
true

View File

@@ -0,0 +1,8 @@
===
GET /columns/barcodes?format=xml
===
200
Content-Type: text/xml; charset=utf-8
Content-Length: 433
<root><name>barcodes</name><type>table</type><columns type="array"><item><name>id</name><type>integer</type><pk>true</pk></item><item><name>product_id</name><type>integer</type><fk>products</fk></item><item><name>hex</name><type>varchar</type><length>255</length></item><item><name>bin</name><type>blob</type></item><item><name>ip_address</name><type>varchar</type><length>15</length><nullable>true</nullable></item></columns></root>