-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMeetingsController.php
More file actions
110 lines (106 loc) · 6.54 KB
/
Copy pathMeetingsController.php
File metadata and controls
110 lines (106 loc) · 6.54 KB
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
<?php
namespace Bmlt\SemanticOpenApi\Swagger;
use OpenApi\Attributes as OA;
class MeetingsController extends Controller
{
#[OA\Get(
path: '/client_interface/json/?switcher=GetSearchResults',
operationId: 'getSearchResults',
summary: 'Search for meetings',
description: 'Search meetings with extensive filtering (location, day, time, format, service body, text). In aggregator mode at least one filter parameter is required, otherwise the response will be an empty array.',
tags: ['Meetings'],
parameters: [
new OA\Parameter(name: 'switcher', in: 'query', required: true, schema: new OA\Schema(type: 'string', enum: ['GetSearchResults'])),
new OA\Parameter(ref: '#/components/parameters/MeetingIds'),
new OA\Parameter(ref: '#/components/parameters/MeetingIdsArray'),
new OA\Parameter(ref: '#/components/parameters/Weekdays'),
new OA\Parameter(ref: '#/components/parameters/WeekdaysArray'),
new OA\Parameter(ref: '#/components/parameters/VenueTypes'),
new OA\Parameter(ref: '#/components/parameters/VenueTypesArray'),
new OA\Parameter(ref: '#/components/parameters/Formats'),
new OA\Parameter(ref: '#/components/parameters/FormatsArray'),
new OA\Parameter(ref: '#/components/parameters/FormatsComparisonOperator'),
new OA\Parameter(ref: '#/components/parameters/Services'),
new OA\Parameter(ref: '#/components/parameters/ServicesArray'),
new OA\Parameter(ref: '#/components/parameters/Recursive'),
new OA\Parameter(ref: '#/components/parameters/GetUsedFormats'),
new OA\Parameter(ref: '#/components/parameters/GetFormatsOnly'),
new OA\Parameter(ref: '#/components/parameters/SearchString'),
new OA\Parameter(ref: '#/components/parameters/StringSearchIsAnAddress'),
new OA\Parameter(ref: '#/components/parameters/SearchStringRadius'),
new OA\Parameter(ref: '#/components/parameters/StartsAfterH'),
new OA\Parameter(ref: '#/components/parameters/StartsAfterM'),
new OA\Parameter(ref: '#/components/parameters/StartsBeforeH'),
new OA\Parameter(ref: '#/components/parameters/StartsBeforeM'),
new OA\Parameter(ref: '#/components/parameters/EndsBeforeH'),
new OA\Parameter(ref: '#/components/parameters/EndsBeforeM'),
new OA\Parameter(ref: '#/components/parameters/MinDurationH'),
new OA\Parameter(ref: '#/components/parameters/MinDurationM'),
new OA\Parameter(ref: '#/components/parameters/MaxDurationH'),
new OA\Parameter(ref: '#/components/parameters/MaxDurationM'),
new OA\Parameter(ref: '#/components/parameters/LatVal'),
new OA\Parameter(ref: '#/components/parameters/LongVal'),
new OA\Parameter(ref: '#/components/parameters/GeoWidth'),
new OA\Parameter(ref: '#/components/parameters/GeoWidthKm'),
new OA\Parameter(ref: '#/components/parameters/SortResultsByDistance'),
new OA\Parameter(ref: '#/components/parameters/MeetingKeyFilter'),
new OA\Parameter(ref: '#/components/parameters/MeetingKeyValue'),
new OA\Parameter(ref: '#/components/parameters/DataFieldKey'),
new OA\Parameter(ref: '#/components/parameters/SortKeys'),
new OA\Parameter(ref: '#/components/parameters/SortKey'),
new OA\Parameter(ref: '#/components/parameters/PageSize'),
new OA\Parameter(ref: '#/components/parameters/PageNum'),
new OA\Parameter(ref: '#/components/parameters/AdvancedPublished'),
new OA\Parameter(ref: '#/components/parameters/LangEnum'),
new OA\Parameter(ref: '#/components/parameters/RootServerIds'),
new OA\Parameter(ref: '#/components/parameters/RootServerIdsArray'),
],
responses: [
new OA\Response(
response: 200,
description: 'Meeting search results. May be a bare array of meetings, an array of formats when `get_formats_only=1`, or a `{meetings, formats}` envelope when `get_used_formats=1`.',
content: new OA\JsonContent(
oneOf: [
new OA\Schema(type: 'array', items: new OA\Items(ref: '#/components/schemas/Meeting')),
new OA\Schema(type: 'array', items: new OA\Items(ref: '#/components/schemas/Format')),
new OA\Schema(
type: 'object',
properties: [
new OA\Property(property: 'meetings', type: 'array', items: new OA\Items(ref: '#/components/schemas/Meeting')),
new OA\Property(property: 'formats', type: 'array', items: new OA\Items(ref: '#/components/schemas/Format')),
]
),
]
)
),
new OA\Response(response: 400, ref: '#/components/responses/BadRequest'),
new OA\Response(response: 500, ref: '#/components/responses/ServerError'),
]
)]
public function getSearchResults()
{
}
#[OA\Get(
path: '/client_interface/json/?switcher=GetChanges',
operationId: 'getChanges',
summary: 'Get meeting changes within a date range',
tags: ['Meetings'],
parameters: [
new OA\Parameter(name: 'switcher', in: 'query', required: true, schema: new OA\Schema(type: 'string', enum: ['GetChanges'])),
new OA\Parameter(name: 'start_date', in: 'query', description: 'Start date (inclusive) in YYYY-MM-DD format.', schema: new OA\Schema(type: 'string', format: 'date')),
new OA\Parameter(name: 'end_date', in: 'query', description: 'End date (inclusive) in YYYY-MM-DD format.', schema: new OA\Schema(type: 'string', format: 'date')),
new OA\Parameter(name: 'meeting_id', in: 'query', description: 'Restrict to changes for a single meeting.', schema: new OA\Schema(type: 'integer')),
new OA\Parameter(name: 'service_body_id', in: 'query', description: 'Restrict to changes within a single service body.', schema: new OA\Schema(type: 'integer')),
],
responses: [
new OA\Response(
response: 200,
description: 'List of meeting changes',
content: new OA\JsonContent(type: 'array', items: new OA\Items(ref: '#/components/schemas/MeetingChange'))
),
]
)]
public function getChanges()
{
}
}