Skip to content

Commit 52578dd

Browse files
feat: Extend Swagger Coverage for controller OAuth2SummitSpeakersApiController
1 parent 3e47d1e commit 52578dd

8 files changed

+1741
-0
lines changed

app/Http/Controllers/Apis/Protected/Summit/OAuth2SummitSpeakersApiController.php

Lines changed: 1153 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 143 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,143 @@
1+
<?php
2+
3+
namespace App\Swagger\Summit;
4+
5+
use OpenApi\Attributes as OA;
6+
7+
class SummitAdminPresentationSpeaker
8+
{
9+
#[OA\Schema(
10+
schema: 'SummitAdminPresentationSpeaker',
11+
allOf: [
12+
new OA\Schema(ref: '#/components/schemas/SummitPresentationSpeaker'),
13+
new OA\Schema(
14+
type: 'object',
15+
properties: [
16+
new OA\Property(
17+
property: 'notes',
18+
type: 'string',
19+
description: 'Internal notes (admin only)'
20+
),
21+
new OA\Property(
22+
property: 'member',
23+
description: 'Member ID or expanded Member object',
24+
oneOf: [
25+
new OA\Schema(type: 'integer'),
26+
new OA\Schema(type: 'object', title: 'Member')
27+
],
28+
nullable: true
29+
),
30+
new OA\Property(
31+
property: 'accepted_presentations',
32+
type: 'array',
33+
description: 'Accepted presentation IDs or expanded Presentation objects',
34+
items: new OA\Items(oneOf: [
35+
new OA\Schema(type: 'integer'),
36+
new OA\Schema(type: 'object', title: 'Presentation')
37+
])
38+
),
39+
new OA\Property(
40+
property: 'alternate_presentations',
41+
type: 'array',
42+
description: 'Alternate presentation IDs or expanded Presentation objects',
43+
items: new OA\Items(oneOf: [
44+
new OA\Schema(type: 'integer'),
45+
new OA\Schema(type: 'object', title: 'Presentation')
46+
])
47+
),
48+
new OA\Property(
49+
property: 'rejected_presentations',
50+
type: 'array',
51+
description: 'Rejected presentation IDs or expanded Presentation objects',
52+
items: new OA\Items(oneOf: [
53+
new OA\Schema(type: 'integer'),
54+
new OA\Schema(type: 'object', title: 'Presentation')
55+
])
56+
),
57+
new OA\Property(
58+
property: 'presentations',
59+
type: 'array',
60+
description: 'Presentation IDs or expanded Presentation objects',
61+
items: new OA\Items(oneOf: [
62+
new OA\Schema(type: 'integer'),
63+
new OA\Schema(type: 'object', title: 'Presentation')
64+
])
65+
),
66+
new OA\Property(
67+
property: 'moderated_presentations',
68+
type: 'array',
69+
description: 'Moderated presentation IDs or expanded Presentation objects',
70+
items: new OA\Items(oneOf: [
71+
new OA\Schema(type: 'integer'),
72+
new OA\Schema(type: 'object', title: 'Presentation')
73+
])
74+
),
75+
new OA\Property(
76+
property: 'affiliations',
77+
type: 'array',
78+
description: 'Affiliation objects (can be expanded)',
79+
items: new OA\Items(type: 'object', title: 'Affiliation')
80+
),
81+
new OA\Property(
82+
property: 'languages',
83+
type: 'array',
84+
description: 'Language IDs or expanded Language objects',
85+
items: new OA\Items(oneOf: [
86+
new OA\Schema(type: 'integer'),
87+
new OA\Schema(type: 'object', title: 'Language')
88+
])
89+
),
90+
new OA\Property(
91+
property: 'other_presentation_links',
92+
type: 'array',
93+
description: 'Other presentation link objects',
94+
items: new OA\Items(type: 'object', title: 'PresentationLink')
95+
),
96+
new OA\Property(
97+
property: 'areas_of_expertise',
98+
type: 'array',
99+
description: 'Area of expertise IDs or expanded objects',
100+
items: new OA\Items(oneOf: [
101+
new OA\Schema(type: 'string'),
102+
new OA\Schema(type: 'object', title: 'AreaOfExpertise')
103+
])
104+
),
105+
new OA\Property(
106+
property: 'travel_preferences',
107+
type: 'array',
108+
description: 'Travel preference IDs or expanded objects',
109+
items: new OA\Items(oneOf: [
110+
new OA\Schema(type: 'string'),
111+
new OA\Schema(type: 'object', title: 'TravelPreference')
112+
])
113+
),
114+
new OA\Property(
115+
property: 'organizational_roles',
116+
type: 'array',
117+
description: 'Organizational role IDs or expanded objects',
118+
items: new OA\Items(oneOf: [
119+
new OA\Schema(type: 'integer'),
120+
new OA\Schema(type: 'object', title: 'OrganizationalRole')
121+
])
122+
),
123+
new OA\Property(
124+
property: 'active_involvements',
125+
type: 'array',
126+
description: 'Active involvement IDs or expanded objects',
127+
items: new OA\Items(oneOf: [
128+
new OA\Schema(type: 'integer'),
129+
new OA\Schema(type: 'object', title: 'ActiveInvolvement')
130+
])
131+
),
132+
new OA\Property(
133+
property: 'badge_features',
134+
type: 'array',
135+
description: 'Badge feature objects',
136+
items: new OA\Items(type: 'object', title: 'BadgeFeature')
137+
),
138+
]
139+
)
140+
]
141+
)]
142+
public function model() {}
143+
}
Lines changed: 124 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,124 @@
1+
<?php
2+
3+
namespace App\Swagger\Summit;
4+
5+
use OpenApi\Attributes as OA;
6+
7+
class SummitPresentationSpeaker
8+
{
9+
#[OA\Schema(
10+
schema: 'SummitPresentationSpeaker',
11+
type: 'object',
12+
properties: [
13+
new OA\Property(
14+
property: 'id',
15+
type: 'integer',
16+
format: 'int64',
17+
example: 1
18+
),
19+
new OA\Property(
20+
property: 'first_name',
21+
type: 'string',
22+
example: 'John'
23+
),
24+
new OA\Property(
25+
property: 'last_name',
26+
type: 'string',
27+
example: 'Doe'
28+
),
29+
new OA\Property(
30+
property: 'title',
31+
type: 'string',
32+
example: 'Software Engineer'
33+
),
34+
new OA\Property(
35+
property: 'bio',
36+
type: 'string',
37+
example: 'Experienced software engineer with 10 years in cloud computing'
38+
),
39+
new OA\Property(
40+
property: 'email',
41+
type: 'string',
42+
format: 'email',
43+
example: 'john.doe@example.com'
44+
),
45+
new OA\Property(
46+
property: 'twitter',
47+
type: 'string',
48+
example: '@johndoe'
49+
),
50+
new OA\Property(
51+
property: 'irc',
52+
type: 'string',
53+
example: 'johndoe-irc'
54+
),
55+
new OA\Property(
56+
property: 'pic',
57+
type: 'string',
58+
format: 'uri',
59+
example: 'https://example.com/photos/johndoe.jpg'
60+
),
61+
new OA\Property(
62+
property: 'big_pic',
63+
type: 'string',
64+
format: 'uri'
65+
),
66+
new OA\Property(
67+
property: 'member_id',
68+
type: 'integer',
69+
format: 'int64'
70+
),
71+
new OA\Property(
72+
property: 'registration_request_id',
73+
type: 'integer',
74+
format: 'int64'
75+
),
76+
new OA\Property(
77+
property: 'funded_travel',
78+
type: 'boolean'
79+
),
80+
new OA\Property(
81+
property: 'willing_to_travel',
82+
type: 'boolean'
83+
),
84+
new OA\Property(
85+
property: 'willing_to_present_video',
86+
type: 'boolean'
87+
),
88+
new OA\Property(
89+
property: 'org_has_cloud',
90+
type: 'boolean'
91+
),
92+
new OA\Property(
93+
property: 'available_for_bureau',
94+
type: 'boolean'
95+
),
96+
new OA\Property(
97+
property: 'country',
98+
type: 'string',
99+
example: 'US'
100+
),
101+
new OA\Property(
102+
property: 'company',
103+
type: 'string'
104+
),
105+
new OA\Property(
106+
property: 'phone_number',
107+
type: 'string'
108+
),
109+
new OA\Property(
110+
property: 'created',
111+
type: 'integer',
112+
format: 'int64',
113+
example: 1609459200
114+
),
115+
new OA\Property(
116+
property: 'last_edited',
117+
type: 'integer',
118+
format: 'int64',
119+
example: 1609459200
120+
),
121+
]
122+
)]
123+
public function model() {}
124+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<?php
2+
3+
4+
namespace App\Swagger\Summit;
5+
6+
use OpenApi\Attributes as OA;
7+
8+
class SummitPresentationSpeakerCSV
9+
{
10+
#[OA\Schema(
11+
schema: 'SummitPresentationSpeakerCSV',
12+
type: 'string',
13+
format: 'binary',
14+
description: 'CSV file with speaker data containing columns: id, first_name, last_name, email, accepted_presentations, accepted_presentations_count, alternate_presentations, alternate_presentations_count, rejected_presentations, rejected_presentations_count'
15+
)]
16+
public function model() {}
17+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
<?php
2+
3+
namespace App\Swagger\Summit;
4+
5+
use OpenApi\Attributes as OA;
6+
7+
class SummitPresentationSpeakerDeleteMySpeakerPhoto
8+
{
9+
#[OA\Schema(
10+
schema: 'SummitPresentationSpeakerDeleteMySpeakerPhoto',
11+
type: 'object',
12+
description: 'Delete my speaker photo response'
13+
)]
14+
public function model() {}
15+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<?php
2+
3+
namespace App\Swagger\Summit;
4+
5+
use OpenApi\Attributes as OA;
6+
7+
class SummitPresentationSpeakerMergeRequest
8+
{
9+
#[OA\Schema(
10+
schema: 'SummitPresentationSpeakerMergeRequest',
11+
type: 'object',
12+
description: 'Request to merge two speakers',
13+
properties: [],
14+
example: []
15+
)]
16+
public function model() {}
17+
}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
<?php
2+
3+
namespace App\Swagger\Summit;
4+
5+
use OpenApi\Attributes as OA;
6+
7+
class SummitPresentationSpeakerPhotoRequest
8+
{
9+
#[OA\Schema(
10+
schema: 'SummitPresentationSpeakerPhotoRequest',
11+
type: 'object',
12+
description: 'Request to upload speaker photo',
13+
properties: [
14+
new OA\Property(
15+
property: 'file',
16+
type: 'string',
17+
format: 'binary',
18+
description: 'Speaker photo file (JPG, PNG)'
19+
),
20+
],
21+
required: ['file']
22+
)]
23+
public function model() {}
24+
}

0 commit comments

Comments
 (0)