Fix SQL unmarshalling of optional nested structs (LEFT JOIN)

This commit is contained in:
2022-12-22 12:43:40 +01:00
parent 0cb2a977a0
commit 0112d681ac
20 changed files with 403 additions and 135 deletions

View File

@@ -1176,8 +1176,7 @@
"type": "string",
"description": "Filter channels (default: owned)",
"name": "selector",
"in": "query",
"required": true
"in": "query"
}
],
"responses": {
@@ -1743,6 +1742,7 @@
},
"/api/users/{uid}/subscriptions": {
"get": {
"description": "The possible values for 'selector' are:\n- \"owner_all\" All subscriptions (confirmed/unconfirmed) with the user as owner (= subscriptions he can use to read channels)\n- \"owner_confirmed\" Confirmed subscriptions with the user as owner\n- \"owner_unconfirmed\" Unconfirmed (Pending) subscriptions with the user as owner\n- \"incoming_all\" All subscriptions (confirmed/unconfirmed) from other users to channels of this user (= incoming subscriptions and subscription requests)\n- \"incoming_confirmed\" Confirmed subscriptions from other users to channels of this user\n- \"incoming_unconfirmed\" Unconfirmed subscriptions from other users to channels of this user (= requests)",
"tags": [
"API-v2"
],
@@ -1766,7 +1766,7 @@
"incoming_unconfirmed"
],
"type": "string",
"description": "Filter subscribptions (default: owner_all)",
"description": "Filter subscriptions (default: owner_all)",
"name": "selector",
"in": "query",
"required": true
@@ -1800,10 +1800,11 @@
}
},
"post": {
"description": "Either [channel_owner_user_id, channel_internal_name] or [channel_id] must be supplied in the request body",
"tags": [
"API-v2"
],
"summary": "Creare/Request a subscription",
"summary": "Create/Request a subscription",
"operationId": "api-subscriptions-create",
"parameters": [
{
@@ -2410,11 +2411,15 @@
"handler.CreateSubscription.body": {
"type": "object",
"required": [
"channel",
"channel_id",
"channel_internal_name",
"channel_owner_user_id"
],
"properties": {
"channel": {
"channel_id": {
"type": "integer"
},
"channel_internal_name": {
"type": "string"
},
"channel_owner_user_id": {

View File

@@ -60,12 +60,15 @@ definitions:
type: object
handler.CreateSubscription.body:
properties:
channel:
channel_id:
type: integer
channel_internal_name:
type: string
channel_owner_user_id:
type: integer
required:
- channel
- channel_id
- channel_internal_name
- channel_owner_user_id
type: object
handler.CreateUser.body:
@@ -1315,7 +1318,6 @@ paths:
- all_any
in: query
name: selector
required: true
type: string
responses:
"200":
@@ -1697,6 +1699,14 @@ paths:
- API-v2
/api/users/{uid}/subscriptions:
get:
description: |-
The possible values for 'selector' are:
- "owner_all" All subscriptions (confirmed/unconfirmed) with the user as owner (= subscriptions he can use to read channels)
- "owner_confirmed" Confirmed subscriptions with the user as owner
- "owner_unconfirmed" Unconfirmed (Pending) subscriptions with the user as owner
- "incoming_all" All subscriptions (confirmed/unconfirmed) from other users to channels of this user (= incoming subscriptions and subscription requests)
- "incoming_confirmed" Confirmed subscriptions from other users to channels of this user
- "incoming_unconfirmed" Unconfirmed subscriptions from other users to channels of this user (= requests)
operationId: api-user-subscriptions-list
parameters:
- description: UserID
@@ -1704,7 +1714,7 @@ paths:
name: uid
required: true
type: integer
- description: 'Filter subscribptions (default: owner_all)'
- description: 'Filter subscriptions (default: owner_all)'
enum:
- owner_all
- owner_confirmed
@@ -1737,6 +1747,8 @@ paths:
tags:
- API-v2
post:
description: Either [channel_owner_user_id, channel_internal_name] or [channel_id]
must be supplied in the request body
operationId: api-subscriptions-create
parameters:
- description: UserID
@@ -1769,7 +1781,7 @@ paths:
description: internal server error
schema:
$ref: '#/definitions/ginresp.apiError'
summary: Creare/Request a subscription
summary: Create/Request a subscription
tags:
- API-v2
/api/users/{uid}/subscriptions/{sid}: