|
5 | 5 | use OpenApi\Attributes as OA; |
6 | 6 |
|
7 | 7 | // |
| 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