Skip to content
Merged
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
26 changes: 26 additions & 0 deletions app/Swagger/Models/SummitSelectedPresentationListSchema.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
<?php

namespace App\Swagger\schemas;

use OpenApi\Attributes as OA;

#[OA\Schema(
schema: "SummitSelectedPresentationList",
properties: [
new OA\Property(property: "id", type: "integer", example: 1),
new OA\Property(property: "created", type: "integer", description: "Unix timestamp", example: 1640995200),
new OA\Property(property: "last_edited", type: "integer", description: "Unix timestamp", example: 1640995200),
new OA\Property(property: "name", type: "string", example: "My Selection List"),
new OA\Property(property: "type", type: "string", enum: ["Individual", "Group"], example: "Individual"),
new OA\Property(property: "hash", type: "string", example: "abc123def456"),
new OA\Property(property: "selected_presentations", type: "array", items: new OA\Items(type: "integer"), description: "Array of SummitSelectedPresentation IDs of collection \"selected\", full objects when ?expand=selected_presentations" ),
new OA\Property(property: "interested_presentations", type: "array", items: new OA\Items(type: "integer"), description: "Array of SummitSelectedPresentation IDs of collection \"maybe\", full objects when ?expand=interested_presentations", nullable: true),
new OA\Property(property: "category_id", type: "integer", example: 5, description: "PresentationCategory ID, full object when ?expand=category", nullable: true),
new OA\Property(property: "owner_id", type: "integer", example: 10, nullable: true, description: "Member ID not present when ?expand=owner"),
new OA\Property(property: "owner", ref: "#/components/schemas/Member", description: "Member full object when ?expand=owner)", nullable: true),
new OA\Property(property: "selection_plan_id", type: "integer", example: 3, description: "SelectionPlan ID, full object when ?expand=selection_plan)", nullable: true),
]
)]
class SummitSelectedPresentationListSchema
{
}
141 changes: 46 additions & 95 deletions app/Swagger/SummitPresentationSchemas.php
Original file line number Diff line number Diff line change
Expand Up @@ -146,78 +146,16 @@ class PresentationTrackChairScoreTypeUpdateRequest {}

// End Track Chair Score Types


#[OA\Schema(
schema: 'PaginatedPresentationCategoriesResponse',
type: 'object',
description: 'Paginated response containing presentation categories',
allOf: [
new OA\Schema(ref: '#/components/schemas/PaginateDataSchemaResponse'),
new OA\Schema(
type: 'object',
properties: [
new OA\Property(
property: 'data',
type: 'array',
items: new OA\Items(ref: '#/components/schemas/PresentationCategory'),
description: 'Array of presentation categories'
)
]
)
]
)]
class PaginatedPresentationCategoriesResponseSchema
{
}


#[OA\Schema(
schema: 'PaginatedTraksExtraQuestionsResponse',
type: 'object',
description: 'Paginated response containing presentation categories',
allOf: [
new OA\Schema(ref: '#/components/schemas/PaginateDataSchemaResponse'),
new OA\Schema(
type: 'object',
properties: [
new OA\Property(
property: 'data',
type: 'array',
items: new OA\Items(ref: '#/components/schemas/TrackQuestionTemplate'),
description: 'Array of track question templates'
)
]
)
]
)]
class PaginatedTraksExtraQuestionsResponseSchema
{
}

#[OA\Schema(
schema: 'PaginatedPresentationCategoryAllowedTagResponse',
type: 'object',
description: 'Paginated response containing presentation categories',
allOf: [
new OA\Schema(ref: '#/components/schemas/PaginateDataSchemaResponse'),
new OA\Schema(
type: 'object',
properties: [
new OA\Property(
property: 'data',
type: 'array',
items: new OA\Items(ref: '#/components/schemas/PresentationCategoryAllowedTag'),
description: 'Array of presentation category allowed tags'
)
]
)
schema: "SummitSelectedPresentationListReorderRequest",
required: ["collection"],
properties: [
new OA\Property(property: "hash", type: "string", nullable: true, example: "abc123def456"),
new OA\Property(property: "collection", type: "string", enum: ["selected", "maybe"], example: "selected"),
new OA\Property(property: "presentations", type: "array", items: new OA\Items(type: "integer"), description: "Array of presentation IDs in the desired order", nullable: true),
]
)]
class PaginatedPresentationCategoryAllowedTagResponseSchema
{
}


class SummitSelectedPresentationListReorderRequest {}

#[OA\Schema(
schema: 'PaginatedPresentationCategoriesResponse',
Expand Down Expand Up @@ -289,67 +227,80 @@ class PaginatedPresentationCategoryAllowedTagResponseSchema
{
}

// Summit Speaker Assistance Schemas

#[OA\Schema(
schema: 'PresentationActionType',
type: 'object',
schema: "PresentationSpeakerSummitAssistanceConfirmationRequest",
type: "object",
properties: [
new OA\Property(property: 'id', type: 'integer', example: 1),
new OA\Property(property: 'created', type: 'integer', example: 1630500518),
new OA\Property(property: 'last_edited', type: 'integer', example: 1630500518),
new OA\Property(property: 'label', type: 'string', example: 'Review'),
new OA\Property(property: 'summit_id', type: 'integer', example: 42, description: 'Summit ID, add ?expand=summit to get full summit object'),
new OA\Property(property: 'order', type: 'integer', example: 1, description: 'Order within a selection plan. Only present when filtering by selection_plan_id', ),
new OA\Property(property: "id", type: "integer", example: 1),
new OA\Property(property: "created", type: "integer", description: "Unix timestamp", example: 1640995200),
new OA\Property(property: "last_edited", type: "integer", description: "Unix timestamp", example: 1640995200),
new OA\Property(property: "on_site_phone", type: "string", nullable: true),
new OA\Property(property: "registered", type: "boolean"),
new OA\Property(property: "is_confirmed", type: "boolean"),
new OA\Property(property: "checked_in", type: "boolean"),
new OA\Property(property: "summit_id", type: "integer"),
new OA\Property(property: "speaker_email", type: "string"),
new OA\Property(property: "speaker_full_name", type: "string"),
new OA\Property(property: "speaker_id", type: "integer", description: "PresentationSpeaker Id, full object available in 'speaker' expand (speaker field)"),
new OA\Property(property: "confirmation_date", type: "integer", nullable: true),
]
)]
class PresentationActionTypeSchema
class PresentationSpeakerSummitAssistanceConfirmationRequest
{
}

#[OA\Schema(
schema: 'PaginatedPresentationActionTypesResponse',
schema: "PaginatedPresentationSpeakerSummitAssistanceConfirmationRequestsResponse",
allOf: [
new OA\Schema(ref: '#/components/schemas/PaginateDataSchemaResponse'),
new OA\Schema(ref: "#/components/schemas/PaginateDataSchemaResponse"),
new OA\Schema(
type: 'object',
properties: [
new OA\Property(
property: 'data',
type: 'array',
items: new OA\Items(ref: '#/components/schemas/PresentationActionType')
property: "data",
type: "array",
items: new OA\Items(ref: "#/components/schemas/PresentationSpeakerSummitAssistanceConfirmationRequest")
)
]
)
]
)]
class PaginatedPresentationActionTypesResponseSchema
class PaginatedPresentationSpeakerSummitAssistanceConfirmationRequestsResponse
{
}

#[OA\Schema(
schema: 'PresentationActionTypeCreateRequest',
type: 'object',
required: ['label'],
schema: "PresentationSpeakerSummitAssistanceConfirmationRequestCreateRequest",
type: "object",
required: ["speaker_id"],
properties: [
new OA\Property(property: 'label', type: 'string', example: 'Review', maxLength: 255),
new OA\Property(property: 'selection_plan_id', type: 'integer', example: 42, description: 'If provided, the order field will be set within the context of the selection plan'),
new OA\Property(property: "speaker_id", type: "integer"),
new OA\Property(property: "on_site_phone", type: "string", maxLength: 50),
new OA\Property(property: "registered", type: "boolean"),
new OA\Property(property: "is_confirmed", type: "boolean"),
new OA\Property(property: "checked_in", type: "boolean")
]
)]
class PresentationActionTypeCreateRequestSchema
class PresentationSpeakerSummitAssistanceConfirmationRequestCreateRequest
{
}

#[OA\Schema(
schema: 'PresentationActionTypeUpdateRequest',
type: 'object',
schema: "PresentationSpeakerSummitAssistanceConfirmationRequestUpdateRequest",
type: "object",
properties: [
new OA\Property(property: 'label', type: 'string', example: 'Review', maxLength: 255),
new OA\Property(property: "on_site_phone", type: "string", maxLength: 50),
new OA\Property(property: "registered", type: "boolean"),
new OA\Property(property: "is_confirmed", type: "boolean"),
new OA\Property(property: "checked_in", type: "boolean")
]
)]
class PresentationActionTypeUpdateRequestSchema
class PresentationSpeakerSummitAssistanceConfirmationRequestUpdateRequest
{
}

//

#[OA\Schema(
schema: 'PresentationActionType',
Expand Down