Skip to content

Commit e8f95c9

Browse files
fix: Move schema to the new file
1 parent 77b335b commit e8f95c9

1 file changed

Lines changed: 57 additions & 0 deletions

File tree

app/Swagger/SummitRegistrationSchemas.php

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,60 @@
55
use OpenApi\Attributes as OA;
66

77
//
8+
9+
// Summit Badge Feature Types
10+
11+
#[OA\Schema(
12+
schema: 'SummitBadgeFeatureType',
13+
type: 'object',
14+
properties: [
15+
new OA\Property(property: 'id', type: 'integer', example: 1),
16+
new OA\Property(property: 'name', type: 'string', example: 'Speaker Ribbon'),
17+
new OA\Property(property: 'description', type: 'string', nullable: true, example: 'Special ribbon indicating speaker status'),
18+
new OA\Property(property: 'template_content', type: 'string', nullable: true, example: '<div class="speaker-badge">{{name}}</div>'),
19+
new OA\Property(property: 'summit_id', type: 'integer', example: 42),
20+
new OA\Property(property: 'image', type: 'string', nullable: true, example: 'https://example.com/images/speaker-ribbon.png'),
21+
]
22+
)]
23+
class SummitBadgeFeatureTypeSchema {}
24+
25+
#[OA\Schema(
26+
schema: 'PaginatedSummitBadgeFeatureTypesResponse',
27+
allOf: [
28+
new OA\Schema(ref: '#/components/schemas/PaginateDataSchemaResponse'),
29+
new OA\Schema(
30+
type: 'object',
31+
properties: [
32+
new OA\Property(
33+
property: 'data',
34+
type: 'array',
35+
items: new OA\Items(ref: '#/components/schemas/SummitBadgeFeatureType')
36+
)
37+
]
38+
)
39+
]
40+
)]
41+
class PaginatedSummitBadgeFeatureTypesResponseSchema {}
42+
43+
#[OA\Schema(
44+
schema: 'SummitBadgeFeatureTypeCreateRequest',
45+
type: 'object',
46+
required: ['name'],
47+
properties: [
48+
new OA\Property(property: 'name', type: 'string', example: 'Speaker Ribbon'),
49+
new OA\Property(property: 'description', type: 'string', nullable: true, example: 'Special ribbon for speakers'),
50+
new OA\Property(property: 'template_content', type: 'string', nullable: true, example: '<div>{{name}}</div>'),
51+
]
52+
)]
53+
class SummitBadgeFeatureTypeCreateRequestSchema {}
54+
55+
#[OA\Schema(
56+
schema: 'SummitBadgeFeatureTypeUpdateRequest',
57+
type: 'object',
58+
properties: [
59+
new OA\Property(property: 'name', type: 'string', example: 'VIP Ribbon'),
60+
new OA\Property(property: 'description', type: 'string', nullable: true, example: 'VIP attendee designation'),
61+
new OA\Property(property: 'template_content', type: 'string', nullable: true, example: '<div class="vip">{{name}}</div>'),
62+
]
63+
)]
64+
class SummitBadgeFeatureTypeUpdateRequestSchema {}

0 commit comments

Comments
 (0)