Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view

Large diffs are not rendered by default.

143 changes: 143 additions & 0 deletions app/Swagger/SummitAdminPresentationSpeaker.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,143 @@
<?php

namespace App\Swagger\Summit;

use OpenApi\Attributes as OA;

class SummitAdminPresentationSpeaker
{
#[OA\Schema(
schema: 'SummitAdminPresentationSpeaker',
allOf: [
new OA\Schema(ref: '#/components/schemas/SummitPresentationSpeaker'),
new OA\Schema(
type: 'object',
properties: [
new OA\Property(
property: 'notes',
type: 'string',
description: 'Internal notes (admin only)'
),
new OA\Property(
property: 'member',
description: 'Member ID or expanded Member object',
oneOf: [
new OA\Schema(type: 'integer'),
new OA\Schema(type: 'object', title: 'Member')
],
nullable: true
),
new OA\Property(
property: 'accepted_presentations',
type: 'array',
description: 'Accepted presentation IDs or expanded Presentation objects',
items: new OA\Items(oneOf: [
new OA\Schema(type: 'integer'),
new OA\Schema(type: 'object', title: 'Presentation')
])
),
new OA\Property(
property: 'alternate_presentations',
type: 'array',
description: 'Alternate presentation IDs or expanded Presentation objects',
items: new OA\Items(oneOf: [
new OA\Schema(type: 'integer'),
new OA\Schema(type: 'object', title: 'Presentation')
])
),
new OA\Property(
property: 'rejected_presentations',
type: 'array',
description: 'Rejected presentation IDs or expanded Presentation objects',
items: new OA\Items(oneOf: [
new OA\Schema(type: 'integer'),
new OA\Schema(type: 'object', title: 'Presentation')
])
),
new OA\Property(
property: 'presentations',
type: 'array',
description: 'Presentation IDs or expanded Presentation objects',
items: new OA\Items(oneOf: [
new OA\Schema(type: 'integer'),
new OA\Schema(type: 'object', title: 'Presentation')
])
),
new OA\Property(
property: 'moderated_presentations',
type: 'array',
description: 'Moderated presentation IDs or expanded Presentation objects',
items: new OA\Items(oneOf: [
new OA\Schema(type: 'integer'),
new OA\Schema(type: 'object', title: 'Presentation')
])
),
new OA\Property(
property: 'affiliations',
type: 'array',
description: 'Affiliation objects (can be expanded)',
items: new OA\Items(type: 'object', title: 'Affiliation')
),
new OA\Property(
property: 'languages',
type: 'array',
description: 'Language IDs or expanded Language objects',
items: new OA\Items(oneOf: [
new OA\Schema(type: 'integer'),
new OA\Schema(type: 'object', title: 'Language')
])
),
new OA\Property(
property: 'other_presentation_links',
type: 'array',
description: 'Other presentation link objects',
items: new OA\Items(type: 'object', title: 'PresentationLink')
),
new OA\Property(
property: 'areas_of_expertise',
type: 'array',
description: 'Area of expertise IDs or expanded objects',
items: new OA\Items(oneOf: [
new OA\Schema(type: 'string'),
new OA\Schema(type: 'object', title: 'AreaOfExpertise')
])
),
new OA\Property(
property: 'travel_preferences',
type: 'array',
description: 'Travel preference IDs or expanded objects',
items: new OA\Items(oneOf: [
new OA\Schema(type: 'string'),
new OA\Schema(type: 'object', title: 'TravelPreference')
])
),
new OA\Property(
property: 'organizational_roles',
type: 'array',
description: 'Organizational role IDs or expanded objects',
items: new OA\Items(oneOf: [
new OA\Schema(type: 'integer'),
new OA\Schema(type: 'object', title: 'OrganizationalRole')
])
),
new OA\Property(
property: 'active_involvements',
type: 'array',
description: 'Active involvement IDs or expanded objects',
items: new OA\Items(oneOf: [
new OA\Schema(type: 'integer'),
new OA\Schema(type: 'object', title: 'ActiveInvolvement')
])
),
new OA\Property(
property: 'badge_features',
type: 'array',
description: 'Badge feature objects',
items: new OA\Items(type: 'object', title: 'BadgeFeature')
),
]
)
]
)]
public function model() {}
}
124 changes: 124 additions & 0 deletions app/Swagger/SummitPresentationSpeaker.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,124 @@
<?php

namespace App\Swagger\Summit;

use OpenApi\Attributes as OA;

class SummitPresentationSpeaker
{
#[OA\Schema(
schema: 'SummitPresentationSpeaker',
type: 'object',
properties: [
new OA\Property(
property: 'id',
type: 'integer',
format: 'int64',
example: 1
),
new OA\Property(
property: 'first_name',
type: 'string',
example: 'John'
),
new OA\Property(
property: 'last_name',
type: 'string',
example: 'Doe'
),
new OA\Property(
property: 'title',
type: 'string',
example: 'Software Engineer'
),
new OA\Property(
property: 'bio',
type: 'string',
example: 'Experienced software engineer with 10 years in cloud computing'
),
new OA\Property(
property: 'email',
type: 'string',
format: 'email',
example: 'john.doe@example.com'
),
new OA\Property(
property: 'twitter',
type: 'string',
example: '@johndoe'
),
new OA\Property(
property: 'irc',
type: 'string',
example: 'johndoe-irc'
),
new OA\Property(
property: 'pic',
type: 'string',
format: 'uri',
example: 'https://example.com/photos/johndoe.jpg'
),
new OA\Property(
property: 'big_pic',
type: 'string',
format: 'uri'
),
new OA\Property(
property: 'member_id',
type: 'integer',
format: 'int64'
),
new OA\Property(
property: 'registration_request_id',
type: 'integer',
format: 'int64'
),
new OA\Property(
property: 'funded_travel',
type: 'boolean'
),
new OA\Property(
property: 'willing_to_travel',
type: 'boolean'
),
new OA\Property(
property: 'willing_to_present_video',
type: 'boolean'
),
new OA\Property(
property: 'org_has_cloud',
type: 'boolean'
),
new OA\Property(
property: 'available_for_bureau',
type: 'boolean'
),
new OA\Property(
property: 'country',
type: 'string',
example: 'US'
),
new OA\Property(
property: 'company',
type: 'string'
),
new OA\Property(
property: 'phone_number',
type: 'string'
),
new OA\Property(
property: 'created',
type: 'integer',
format: 'int64',
example: 1609459200
),
new OA\Property(
property: 'last_edited',
type: 'integer',
format: 'int64',
example: 1609459200
),
]
)]
public function model() {}
}
17 changes: 17 additions & 0 deletions app/Swagger/SummitPresentationSpeakerCSV.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<?php


namespace App\Swagger\Summit;

use OpenApi\Attributes as OA;

class SummitPresentationSpeakerCSV
{
#[OA\Schema(
schema: 'SummitPresentationSpeakerCSV',
type: 'string',
format: 'binary',
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'
)]
public function model() {}
}
15 changes: 15 additions & 0 deletions app/Swagger/SummitPresentationSpeakerDeleteMySpeakerPhoto.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<?php

namespace App\Swagger\Summit;

use OpenApi\Attributes as OA;

class SummitPresentationSpeakerDeleteMySpeakerPhoto
{
#[OA\Schema(
schema: 'SummitPresentationSpeakerDeleteMySpeakerPhoto',
type: 'object',
description: 'Delete my speaker photo response'
)]
public function model() {}
}
17 changes: 17 additions & 0 deletions app/Swagger/SummitPresentationSpeakerMergeRequest.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<?php

namespace App\Swagger\Summit;

use OpenApi\Attributes as OA;

class SummitPresentationSpeakerMergeRequest
{
#[OA\Schema(
schema: 'SummitPresentationSpeakerMergeRequest',
type: 'object',
description: 'Request to merge two speakers',
properties: [],
example: []
)]
public function model() {}
}
24 changes: 24 additions & 0 deletions app/Swagger/SummitPresentationSpeakerPhotoRequest.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
<?php

namespace App\Swagger\Summit;

use OpenApi\Attributes as OA;

class SummitPresentationSpeakerPhotoRequest
{
#[OA\Schema(
schema: 'SummitPresentationSpeakerPhotoRequest',
type: 'object',
description: 'Request to upload speaker photo',
properties: [
new OA\Property(
property: 'file',
type: 'string',
format: 'binary',
description: 'Speaker photo file (JPG, PNG)'
),
],
required: ['file']
)]
public function model() {}
}
Loading