File: widget-crud.yml

package info (click to toggle)
golang-github-go-openapi-analysis 0.23.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 2,548 kB
  • sloc: makefile: 4
file content (208 lines) | stat: -rw-r--r-- 4,306 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
---
swagger: '2.0'
info:
  title: widget CRUD API
  version: 4.2.0
schemes:
  - http
basePath: /api
consumes:
  - application/json
produces:
  - application/json
securityDefinitions:
  myRoles:
    description: definition of scopes as roles
    type: oauth2
    flow: accessCode 
    authorizationUrl: https://foo.bar.com/authorize
    tokenUrl: https://foo.bar.com/token
    scopes:
      sellers: group of sellers
      buyers: group of buyers
  myPrimaryAPIKey:
    type: apiKey
    name: X-primaryApiKey
    in: header
  myBasicAuth:
    type: basic
    description: basic primary auth
security:
  - myPrimaryAPIKey: []
  - 
    myBasicAuth: []
    myRoles: [ sellers ]
  - 
    myBasicAuth: []
tags:
  - name: conflict
    description: a tag in conflict with primary spec
paths:
  /common:
    get:
      operationId: commonGet
      summary: here to test path collisons
      responses:
        '200':
          description: OK
          schema:
            $ref: "#/definitions/widget"

  /widgets:
    post:
      operationId: create
      summary: Create a new widget
      parameters:
        - name: info
          in: body
          schema:
            $ref: "#/definitions/widget"
      responses:
        '201':
          description: created
          schema:
            $ref: "#/definitions/widgetId"
        default:
          description: error
          schema:
            $ref: "#/definitions/error"
  /widgets/{widgetid}:
    get:
      operationId: get
      summary: Get a widget by id
      parameters:
        - $ref: "#/parameters/widgetid"
      responses:
        '200':
          description: OK
          schema:
            $ref: "#/definitions/widget"
        '401':
          $ref: "#/responses/401"
        '404':
          $ref: "#/responses/404"
        default:
          description: error
          schema:
            $ref: "#/definitions/error"
    delete:
      operationId: delete
      summary: delete a widget by id
      parameters:
        - name: widgetid
          in: path
          required: true
          type: string
      responses:
        '200':
          description: OK
        '401':
          description: unauthorized
          schema:
            $ref: "#/definitions/error"
        '404':
          description: resource not found
          schema:
            $ref: "#/definitions/error"
        default:
          description: error
          schema:
            $ref: "#/definitions/error"
    post:
      operationId: update
      summary: update a widget by id
      parameters:
        - name: widgetid
          in: path
          required: true
          type: string
        - name: info
          in: body
          schema:
            $ref: "#/definitions/widget"
      responses:
        '200':
          description: OK
        '401':
          description: unauthorized
          schema:
            $ref: "#/definitions/error"
        '404':
          description: resource not found
          schema:
            $ref: "#/definitions/error"
        default:
          description: error
          schema:
            $ref: "#/definitions/error"

definitions:
  common:
    type: object
    required:
      - id
    properties:
      id:
        type: string
        format: string
        minLength: 1
  widget:
    type: object
    required:
      - name
      - description
    properties:
      id:
        type: string
        format: string
        readOnly: true
      name:
        type: string
        format: string
        minLength: 1
      description:
        type: string
        format: string
        minLength: 1
  widgetId:
    type: object
    required:
      - id
    properties:
      id:
        type: string
        format: string
        minLength: 1
  error:
    type: object
    required:
       - message
    properties:
      code:
        type: string
        format: string
      message:
        type: string
      fields:
        type: string

parameters:
  common:
    name: common
    in: query
    type: string
  widgetid:
    name: widgetid
    in: path
    required: true
    type: string

responses:
  401:
    description: widget unauthorized
    schema:
      $ref: "#/definitions/error"
  404:
    description: widget resource not found
    schema:
      $ref: "#/definitions/error"