diff options
-rw-r--r-- | server/middlewares/validators/users.ts | 1 | ||||
-rw-r--r-- | support/doc/api/openapi.yaml | 377 |
2 files changed, 206 insertions, 172 deletions
diff --git a/server/middlewares/validators/users.ts b/server/middlewares/validators/users.ts index 9cff51d45..37119e279 100644 --- a/server/middlewares/validators/users.ts +++ b/server/middlewares/validators/users.ts | |||
@@ -196,6 +196,7 @@ const deleteMeValidator = [ | |||
196 | 196 | ||
197 | const usersUpdateValidator = [ | 197 | const usersUpdateValidator = [ |
198 | param('id').isInt().not().isEmpty().withMessage('Should have a valid id'), | 198 | param('id').isInt().not().isEmpty().withMessage('Should have a valid id'), |
199 | |||
199 | body('password').optional().custom(isUserPasswordValid).withMessage('Should have a valid password'), | 200 | body('password').optional().custom(isUserPasswordValid).withMessage('Should have a valid password'), |
200 | body('email').optional().isEmail().withMessage('Should have a valid email attribute'), | 201 | body('email').optional().isEmail().withMessage('Should have a valid email attribute'), |
201 | body('emailVerified').optional().isBoolean().withMessage('Should have a valid email verified attribute'), | 202 | body('emailVerified').optional().isBoolean().withMessage('Should have a valid email verified attribute'), |
diff --git a/support/doc/api/openapi.yaml b/support/doc/api/openapi.yaml index 4fbf5b055..7316b0b58 100644 --- a/support/doc/api/openapi.yaml +++ b/support/doc/api/openapi.yaml | |||
@@ -195,7 +195,7 @@ tags: | |||
195 | description: | | 195 | description: | |
196 | PeerTube instances can mirror videos from one another, and help distribute some videos. | 196 | PeerTube instances can mirror videos from one another, and help distribute some videos. |
197 | 197 | ||
198 | For importing videos as your own, refer to [video imports](#tag/Video-Upload/paths/~1videos~1imports/post). | 198 | For importing videos as your own, refer to [video imports](#operation/importVideo). |
199 | x-tagGroups: | 199 | x-tagGroups: |
200 | - name: Accounts | 200 | - name: Accounts |
201 | tags: | 201 | tags: |
@@ -579,7 +579,9 @@ paths: | |||
579 | application/json: | 579 | application/json: |
580 | schema: | 580 | schema: |
581 | $ref: '#/components/schemas/AddUser' | 581 | $ref: '#/components/schemas/AddUser' |
582 | description: User to create | 582 | description: | |
583 | If the smtp server is configured, you can leave the password empty and an email will be sent | ||
584 | asking the user to set it first. | ||
583 | required: true | 585 | required: true |
584 | get: | 586 | get: |
585 | summary: List users | 587 | summary: List users |
@@ -743,9 +745,11 @@ paths: | |||
743 | properties: | 745 | properties: |
744 | videoQuotaUsed: | 746 | videoQuotaUsed: |
745 | type: number | 747 | type: number |
748 | description: The user video quota used so far in bytes | ||
746 | example: 16810141515 | 749 | example: 16810141515 |
747 | videoQuotaUsedDaily: | 750 | videoQuotaUsedDaily: |
748 | type: number | 751 | type: number |
752 | description: The user video quota used today in bytes | ||
749 | example: 1681014151 | 753 | example: 1681014151 |
750 | '/users/me/videos/{videoId}/rating': | 754 | '/users/me/videos/{videoId}/rating': |
751 | get: | 755 | get: |
@@ -759,9 +763,9 @@ paths: | |||
759 | - name: videoId | 763 | - name: videoId |
760 | in: path | 764 | in: path |
761 | required: true | 765 | required: true |
762 | description: 'The video id ' | 766 | description: The video id |
763 | schema: | 767 | schema: |
764 | type: string | 768 | $ref: '#/components/schemas/Video/properties/id' |
765 | responses: | 769 | responses: |
766 | '200': | 770 | '200': |
767 | description: successful operation | 771 | description: successful operation |
@@ -1075,7 +1079,7 @@ paths: | |||
1075 | type: object | 1079 | type: object |
1076 | properties: | 1080 | properties: |
1077 | avatarfile: | 1081 | avatarfile: |
1078 | description: The file to upload. | 1082 | description: The file to upload |
1079 | type: string | 1083 | type: string |
1080 | format: binary | 1084 | format: binary |
1081 | encoding: | 1085 | encoding: |
@@ -1370,7 +1374,12 @@ paths: | |||
1370 | content: | 1374 | content: |
1371 | application/json: | 1375 | application/json: |
1372 | schema: | 1376 | schema: |
1377 | nullable: true | ||
1373 | type: string | 1378 | type: string |
1379 | minLength: 3 | ||
1380 | maxLength: 10000 | ||
1381 | example: | | ||
1382 | **[Want to help to translate this video?](https://weblate.framasoft.org/projects/what-is-peertube-video/)**\r\n\r\n**Take back the control of your videos! [#JoinPeertube](https://joinpeertube.org)** | ||
1374 | '/videos/{id}/views': | 1383 | '/videos/{id}/views': |
1375 | post: | 1384 | post: |
1376 | summary: Add a view to a video | 1385 | summary: Add a view to a video |
@@ -1757,7 +1766,7 @@ paths: | |||
1757 | schema: | 1766 | schema: |
1758 | $ref: '#/components/schemas/VideoUploadResponse' | 1767 | $ref: '#/components/schemas/VideoUploadResponse' |
1759 | '403': | 1768 | '403': |
1760 | description: Live is not enabled, allow replay is not enabled, or max instance/user live videos limit is exceeded | 1769 | description: live is not enabled, allow replay is not enabled, or max instance/user live videos limit is exceeded |
1761 | requestBody: | 1770 | requestBody: |
1762 | content: | 1771 | content: |
1763 | multipart/form-data: | 1772 | multipart/form-data: |
@@ -1862,11 +1871,11 @@ paths: | |||
1862 | $ref: '#/components/schemas/LiveVideoUpdate' | 1871 | $ref: '#/components/schemas/LiveVideoUpdate' |
1863 | responses: | 1872 | responses: |
1864 | '204': | 1873 | '204': |
1865 | description: Successful operation | 1874 | description: successful operation |
1866 | '400': | 1875 | '400': |
1867 | description: Bad parameters or trying to update a live that has already started | 1876 | description: bad parameters or trying to update a live that has already started |
1868 | '403': | 1877 | '403': |
1869 | description: Trying to save replay of the live but saving replay is not enabled on the instance | 1878 | description: trying to save replay of the live but saving replay is not enabled on the instance |
1870 | 1879 | ||
1871 | /users/me/abuses: | 1880 | /users/me/abuses: |
1872 | get: | 1881 | get: |
@@ -2017,7 +2026,8 @@ paths: | |||
2017 | properties: | 2026 | properties: |
2018 | id: | 2027 | id: |
2019 | description: Video id to report | 2028 | description: Video id to report |
2020 | type: number | 2029 | allOf: |
2030 | - $ref: '#/components/schemas/Video/properties/id' | ||
2021 | startAt: | 2031 | startAt: |
2022 | type: integer | 2032 | type: integer |
2023 | description: Timestamp in the video that marks the beginning of the report | 2033 | description: Timestamp in the video that marks the beginning of the report |
@@ -2031,13 +2041,14 @@ paths: | |||
2031 | properties: | 2041 | properties: |
2032 | id: | 2042 | id: |
2033 | description: Comment id to report | 2043 | description: Comment id to report |
2034 | type: number | 2044 | allOf: |
2045 | - $ref: '#/components/schemas/VideoComment/properties/id' | ||
2035 | account: | 2046 | account: |
2036 | type: object | 2047 | type: object |
2037 | properties: | 2048 | properties: |
2038 | id: | 2049 | id: |
2039 | description: Account id to report | 2050 | description: Account id to report |
2040 | type: number | 2051 | type: integer |
2041 | required: | 2052 | required: |
2042 | - reason | 2053 | - reason |
2043 | responses: | 2054 | responses: |
@@ -2541,7 +2552,7 @@ paths: | |||
2541 | $ref: '#/components/schemas/VideoPlaylist' | 2552 | $ref: '#/components/schemas/VideoPlaylist' |
2542 | post: | 2553 | post: |
2543 | summary: Create a video playlist | 2554 | summary: Create a video playlist |
2544 | description: 'If the video playlist is set as public, the videoChannelId is mandatory.' | 2555 | description: If the video playlist is set as public, `videoChannelId` is mandatory. |
2545 | operationId: createPlaylist | 2556 | operationId: createPlaylist |
2546 | security: | 2557 | security: |
2547 | - OAuth2: [] | 2558 | - OAuth2: [] |
@@ -2559,9 +2570,9 @@ paths: | |||
2559 | type: object | 2570 | type: object |
2560 | properties: | 2571 | properties: |
2561 | id: | 2572 | id: |
2562 | type: integer | 2573 | $ref: '#/components/schemas/VideoPlaylist/properties/id' |
2563 | uuid: | 2574 | uuid: |
2564 | $ref: '#/components/schemas/UUIDv4' | 2575 | $ref: '#/components/schemas/VideoPlaylist/properties/uuid' |
2565 | requestBody: | 2576 | requestBody: |
2566 | content: | 2577 | content: |
2567 | multipart/form-data: | 2578 | multipart/form-data: |
@@ -2582,9 +2593,12 @@ paths: | |||
2582 | description: | 2593 | description: |
2583 | description: Video playlist description | 2594 | description: Video playlist description |
2584 | type: string | 2595 | type: string |
2596 | minLength: 3 | ||
2597 | maxLength: 1000 | ||
2585 | videoChannelId: | 2598 | videoChannelId: |
2599 | allOf: | ||
2600 | - $ref: '#/components/schemas/id' | ||
2586 | description: Video channel in which the playlist will be published | 2601 | description: Video channel in which the playlist will be published |
2587 | type: integer | ||
2588 | required: | 2602 | required: |
2589 | - displayName | 2603 | - displayName |
2590 | encoding: | 2604 | encoding: |
@@ -2638,8 +2652,9 @@ paths: | |||
2638 | description: Video playlist description | 2652 | description: Video playlist description |
2639 | type: string | 2653 | type: string |
2640 | videoChannelId: | 2654 | videoChannelId: |
2655 | allOf: | ||
2656 | - $ref: '#/components/schemas/id' | ||
2641 | description: Video channel in which the playlist will be published | 2657 | description: Video channel in which the playlist will be published |
2642 | type: integer | ||
2643 | encoding: | 2658 | encoding: |
2644 | thumbnailfile: | 2659 | thumbnailfile: |
2645 | contentType: image/jpeg | 2660 | contentType: image/jpeg |
@@ -2699,14 +2714,15 @@ paths: | |||
2699 | type: object | 2714 | type: object |
2700 | properties: | 2715 | properties: |
2701 | videoId: | 2716 | videoId: |
2702 | type: integer | 2717 | allOf: |
2703 | description: 'Video to add in the playlist' | 2718 | - $ref: '#/components/schemas/Video/properties/id' |
2719 | description: Video to add in the playlist | ||
2704 | startTimestamp: | 2720 | startTimestamp: |
2705 | type: integer | 2721 | type: integer |
2706 | description: 'Start the video at this specific timestamp (in seconds)' | 2722 | description: Start the video at this specific timestamp (in seconds) |
2707 | stopTimestamp: | 2723 | stopTimestamp: |
2708 | type: integer | 2724 | type: integer |
2709 | description: 'Stop the video at this specific timestamp (in seconds)' | 2725 | description: Stop the video at this specific timestamp (in seconds) |
2710 | required: | 2726 | required: |
2711 | - videoId | 2727 | - videoId |
2712 | 2728 | ||
@@ -2797,7 +2813,7 @@ paths: | |||
2797 | schema: | 2813 | schema: |
2798 | type: array | 2814 | type: array |
2799 | items: | 2815 | items: |
2800 | type: integer | 2816 | $ref: '#/components/schemas/Video/properties/id' |
2801 | responses: | 2817 | responses: |
2802 | '200': | 2818 | '200': |
2803 | description: successful operation | 2819 | description: successful operation |
@@ -2960,8 +2976,7 @@ paths: | |||
2960 | type: object | 2976 | type: object |
2961 | properties: | 2977 | properties: |
2962 | text: | 2978 | text: |
2963 | type: string | 2979 | $ref: '#/components/schemas/VideoComment/properties/text' |
2964 | description: 'Text comment' | ||
2965 | required: | 2980 | required: |
2966 | - text | 2981 | - text |
2967 | 2982 | ||
@@ -3298,7 +3313,7 @@ paths: | |||
3298 | type: object | 3313 | type: object |
3299 | properties: | 3314 | properties: |
3300 | videoId: | 3315 | videoId: |
3301 | type: integer | 3316 | $ref: '#/components/schemas/Video/properties/id' |
3302 | required: | 3317 | required: |
3303 | - videoId | 3318 | - videoId |
3304 | responses: | 3319 | responses: |
@@ -3982,9 +3997,7 @@ components: | |||
3982 | required: true | 3997 | required: true |
3983 | description: The user id | 3998 | description: The user id |
3984 | schema: | 3999 | schema: |
3985 | type: integer | 4000 | $ref: '#/components/schemas/id' |
3986 | minimum: 0 | ||
3987 | example: 42 | ||
3988 | idOrUUID: | 4001 | idOrUUID: |
3989 | name: id | 4002 | name: id |
3990 | in: path | 4003 | in: path |
@@ -3992,9 +4005,7 @@ components: | |||
3992 | description: The object id or uuid | 4005 | description: The object id or uuid |
3993 | schema: | 4006 | schema: |
3994 | oneOf: | 4007 | oneOf: |
3995 | - type: integer | 4008 | - $ref: '#/components/schemas/id' |
3996 | minimum: 0 | ||
3997 | example: 42 | ||
3998 | - $ref: '#/components/schemas/UUIDv4' | 4009 | - $ref: '#/components/schemas/UUIDv4' |
3999 | playlistElementId: | 4010 | playlistElementId: |
4000 | name: playlistElementId | 4011 | name: playlistElementId |
@@ -4002,28 +4013,28 @@ components: | |||
4002 | required: true | 4013 | required: true |
4003 | description: Playlist element id | 4014 | description: Playlist element id |
4004 | schema: | 4015 | schema: |
4005 | type: integer | 4016 | $ref: '#/components/schemas/id' |
4006 | abuseId: | 4017 | abuseId: |
4007 | name: abuseId | 4018 | name: abuseId |
4008 | in: path | 4019 | in: path |
4009 | required: true | 4020 | required: true |
4010 | description: Abuse id | 4021 | description: Abuse id |
4011 | schema: | 4022 | schema: |
4012 | type: integer | 4023 | $ref: '#/components/schemas/Abuse/properties/id' |
4013 | abuseMessageId: | 4024 | abuseMessageId: |
4014 | name: abuseMessageId | 4025 | name: abuseMessageId |
4015 | in: path | 4026 | in: path |
4016 | required: true | 4027 | required: true |
4017 | description: Abuse message id | 4028 | description: Abuse message id |
4018 | schema: | 4029 | schema: |
4019 | type: integer | 4030 | $ref: '#/components/schemas/AbuseMessage/properties/id' |
4020 | captionLanguage: | 4031 | captionLanguage: |
4021 | name: captionLanguage | 4032 | name: captionLanguage |
4022 | in: path | 4033 | in: path |
4023 | required: true | 4034 | required: true |
4024 | description: The caption language | 4035 | description: The caption language |
4025 | schema: | 4036 | schema: |
4026 | type: string | 4037 | $ref: '#/components/schemas/VideoLanguageSet' |
4027 | channelHandle: | 4038 | channelHandle: |
4028 | name: channelHandle | 4039 | name: channelHandle |
4029 | in: path | 4040 | in: path |
@@ -4046,14 +4057,14 @@ components: | |||
4046 | required: true | 4057 | required: true |
4047 | description: The thread id (root comment id) | 4058 | description: The thread id (root comment id) |
4048 | schema: | 4059 | schema: |
4049 | type: integer | 4060 | $ref: '#/components/schemas/VideoCommentThreadTree/properties/comment/properties/id' |
4050 | commentId: | 4061 | commentId: |
4051 | name: commentId | 4062 | name: commentId |
4052 | in: path | 4063 | in: path |
4053 | required: true | 4064 | required: true |
4054 | description: The comment id | 4065 | description: The comment id |
4055 | schema: | 4066 | schema: |
4056 | type: integer | 4067 | $ref: '#/components/schemas/VideoComment/properties/id' |
4057 | isLive: | 4068 | isLive: |
4058 | name: isLive | 4069 | name: isLive |
4059 | in: query | 4070 | in: query |
@@ -4068,10 +4079,10 @@ components: | |||
4068 | description: category id of the video (see [/videos/categories](#operation/getCategories)) | 4079 | description: category id of the video (see [/videos/categories](#operation/getCategories)) |
4069 | schema: | 4080 | schema: |
4070 | oneOf: | 4081 | oneOf: |
4071 | - type: integer | 4082 | - $ref: '#/components/schemas/VideoCategorySet' |
4072 | - type: array | 4083 | - type: array |
4073 | items: | 4084 | items: |
4074 | type: integer | 4085 | $ref: '#/components/schemas/VideoCategorySet' |
4075 | style: form | 4086 | style: form |
4076 | explode: false | 4087 | explode: false |
4077 | tagsOneOf: | 4088 | tagsOneOf: |
@@ -4108,10 +4119,10 @@ components: | |||
4108 | description: language id of the video (see [/videos/languages](#operation/getLanguages)). Use `_unknown` to filter on videos that don't have a video language | 4119 | description: language id of the video (see [/videos/languages](#operation/getLanguages)). Use `_unknown` to filter on videos that don't have a video language |
4109 | schema: | 4120 | schema: |
4110 | oneOf: | 4121 | oneOf: |
4111 | - type: string | 4122 | - $ref: '#/components/schemas/VideoLanguageSet' |
4112 | - type: array | 4123 | - type: array |
4113 | items: | 4124 | items: |
4114 | type: string | 4125 | $ref: '#/components/schemas/VideoLanguageSet' |
4115 | style: form | 4126 | style: form |
4116 | explode: false | 4127 | explode: false |
4117 | licenceOneOf: | 4128 | licenceOneOf: |
@@ -4121,10 +4132,10 @@ components: | |||
4121 | description: licence id of the video (see [/videos/licences](#operation/getLicences)) | 4132 | description: licence id of the video (see [/videos/licences](#operation/getLicences)) |
4122 | schema: | 4133 | schema: |
4123 | oneOf: | 4134 | oneOf: |
4124 | - type: integer | 4135 | - $ref: '#/components/schemas/VideoLicenceSet' |
4125 | - type: array | 4136 | - type: array |
4126 | items: | 4137 | items: |
4127 | type: integer | 4138 | $ref: '#/components/schemas/VideoLicenceSet' |
4128 | style: form | 4139 | style: form |
4129 | explode: false | 4140 | explode: false |
4130 | skipCount: | 4141 | skipCount: |
@@ -4221,45 +4232,72 @@ components: | |||
4221 | moderator: Moderator scope | 4232 | moderator: Moderator scope |
4222 | user: User scope | 4233 | user: User scope |
4223 | schemas: | 4234 | schemas: |
4235 | # Resuable core properties | ||
4236 | id: | ||
4237 | type: integer | ||
4238 | minimum: 1 | ||
4239 | example: 42 | ||
4224 | UUIDv4: | 4240 | UUIDv4: |
4225 | type: string | 4241 | type: string |
4226 | format: uuid | 4242 | format: uuid |
4227 | example: 9c9de5e8-0a1e-484a-b099-e80766180a6d | 4243 | example: 9c9de5e8-0a1e-484a-b099-e80766180a6d |
4228 | pattern: '^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$' | 4244 | pattern: '^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$' |
4229 | # the regex above limits the length; | ||
4230 | # however, some tools might require explicit settings: | ||
4231 | minLength: 36 | 4245 | minLength: 36 |
4232 | maxLength: 36 | 4246 | maxLength: 36 |
4247 | username: | ||
4248 | type: string | ||
4249 | description: The username of the user | ||
4250 | example: chocobozzz | ||
4251 | pattern: '/^[a-z0-9._]{1,50}$/' | ||
4252 | minLength: 1 | ||
4253 | maxLength: 50 | ||
4254 | usernameChannel: | ||
4255 | type: string | ||
4256 | description: The username for the default channel | ||
4257 | example: The Capybara Channel | ||
4258 | pattern: '/^[ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\\-_.:]+$/' | ||
4259 | password: | ||
4260 | type: string | ||
4261 | format: password | ||
4262 | description: The password of the user | ||
4263 | minLength: 6 | ||
4264 | maxLength: 255 | ||
4233 | 4265 | ||
4234 | VideoCategorySet: | 4266 | VideoCategorySet: |
4235 | type: integer | 4267 | type: integer |
4236 | description: category id of the video (see [/videos/categories](#operation/getCategories)) | 4268 | description: category id of the video (see [/videos/categories](#operation/getCategories)) |
4269 | example: 15 | ||
4237 | VideoConstantNumber-Category: | 4270 | VideoConstantNumber-Category: |
4238 | properties: | 4271 | properties: |
4239 | id: | 4272 | id: |
4240 | $ref: '#/components/schemas/VideoCategorySet' | 4273 | $ref: '#/components/schemas/VideoCategorySet' |
4241 | label: | 4274 | label: |
4242 | type: string | 4275 | type: string |
4276 | example: Science & Technology | ||
4243 | 4277 | ||
4244 | VideoLicenceSet: | 4278 | VideoLicenceSet: |
4245 | type: integer | 4279 | type: integer |
4246 | description: licence id of the video (see [/videos/licences](#operation/getLicences)) | 4280 | description: licence id of the video (see [/videos/licences](#operation/getLicences)) |
4281 | example: 2 | ||
4247 | VideoConstantNumber-Licence: | 4282 | VideoConstantNumber-Licence: |
4248 | properties: | 4283 | properties: |
4249 | id: | 4284 | id: |
4250 | $ref: '#/components/schemas/VideoLicenceSet' | 4285 | $ref: '#/components/schemas/VideoLicenceSet' |
4251 | label: | 4286 | label: |
4252 | type: string | 4287 | type: string |
4253 | 4288 | example: Attribution - Share Alike | |
4289 | |||
4254 | VideoLanguageSet: | 4290 | VideoLanguageSet: |
4255 | type: string | 4291 | type: string |
4256 | description: language id of the video (see [/videos/languages](#operation/getLanguages)) | 4292 | description: language id of the video (see [/videos/languages](#operation/getLanguages)) |
4293 | example: en | ||
4257 | VideoConstantString-Language: | 4294 | VideoConstantString-Language: |
4258 | properties: | 4295 | properties: |
4259 | id: | 4296 | id: |
4260 | $ref: '#/components/schemas/VideoLanguageSet' | 4297 | $ref: '#/components/schemas/VideoLanguageSet' |
4261 | label: | 4298 | label: |
4262 | type: string | 4299 | type: string |
4300 | example: English | ||
4263 | 4301 | ||
4264 | VideoPlaylistPrivacySet: | 4302 | VideoPlaylistPrivacySet: |
4265 | type: integer | 4303 | type: integer |
@@ -4411,7 +4449,7 @@ components: | |||
4411 | VideoChannelSummary: | 4449 | VideoChannelSummary: |
4412 | properties: | 4450 | properties: |
4413 | id: | 4451 | id: |
4414 | type: integer | 4452 | $ref: '#/components/schemas/id' |
4415 | name: | 4453 | name: |
4416 | type: string | 4454 | type: string |
4417 | displayName: | 4455 | displayName: |
@@ -4473,7 +4511,7 @@ components: | |||
4473 | - type: object | 4511 | - type: object |
4474 | properties: | 4512 | properties: |
4475 | id: | 4513 | id: |
4476 | type: integer | 4514 | $ref: '#/components/schemas/id' |
4477 | type: | 4515 | type: |
4478 | type: integer | 4516 | type: integer |
4479 | enum: | 4517 | enum: |
@@ -4509,20 +4547,21 @@ components: | |||
4509 | VideoInfo: | 4547 | VideoInfo: |
4510 | properties: | 4548 | properties: |
4511 | id: | 4549 | id: |
4512 | type: integer | 4550 | $ref: '#/components/schemas/Video/properties/id' |
4513 | uuid: | 4551 | uuid: |
4514 | $ref: '#/components/schemas/UUIDv4' | 4552 | $ref: '#/components/schemas/Video/properties/uuid' |
4515 | name: | 4553 | name: |
4516 | type: string | 4554 | $ref: '#/components/schemas/Video/properties/name' |
4517 | minLength: 3 | ||
4518 | maxLength: 120 | ||
4519 | Video: | 4555 | Video: |
4520 | properties: | 4556 | properties: |
4521 | id: | 4557 | id: |
4522 | type: integer | 4558 | description: object id for the video |
4523 | example: 8 | 4559 | allOf: |
4560 | - $ref: '#/components/schemas/id' | ||
4524 | uuid: | 4561 | uuid: |
4525 | $ref: '#/components/schemas/UUIDv4' | 4562 | description: universal identifier for the video, that can be used across instances |
4563 | allOf: | ||
4564 | - $ref: '#/components/schemas/UUIDv4' | ||
4526 | isLive: | 4565 | isLive: |
4527 | type: boolean | 4566 | type: boolean |
4528 | createdAt: | 4567 | createdAt: |
@@ -4546,13 +4585,21 @@ components: | |||
4546 | example: 2010-10-01T10:52:46.396Z | 4585 | example: 2010-10-01T10:52:46.396Z |
4547 | description: used to represent a date of first publication, prior to the practical publication date of `publishedAt` | 4586 | description: used to represent a date of first publication, prior to the practical publication date of `publishedAt` |
4548 | category: | 4587 | category: |
4549 | $ref: '#/components/schemas/VideoConstantNumber-Category' | 4588 | allOf: |
4589 | - $ref: '#/components/schemas/VideoConstantNumber-Category' | ||
4590 | description: category in which the video is classified | ||
4550 | licence: | 4591 | licence: |
4551 | $ref: '#/components/schemas/VideoConstantNumber-Licence' | 4592 | allOf: |
4593 | - $ref: '#/components/schemas/VideoConstantNumber-Licence' | ||
4594 | description: licence under which the video is distributed | ||
4552 | language: | 4595 | language: |
4553 | $ref: '#/components/schemas/VideoConstantString-Language' | 4596 | allOf: |
4597 | - $ref: '#/components/schemas/VideoConstantString-Language' | ||
4598 | description: main language used in the video | ||
4554 | privacy: | 4599 | privacy: |
4555 | $ref: '#/components/schemas/VideoPrivacyConstant' | 4600 | allOf: |
4601 | - $ref: '#/components/schemas/VideoPrivacyConstant' | ||
4602 | description: privacy policy used to distribute the video | ||
4556 | description: | 4603 | description: |
4557 | type: string | 4604 | type: string |
4558 | example: | | 4605 | example: | |
@@ -4571,6 +4618,7 @@ components: | |||
4571 | type: boolean | 4618 | type: boolean |
4572 | name: | 4619 | name: |
4573 | type: string | 4620 | type: string |
4621 | description: title of the video | ||
4574 | example: What is PeerTube? | 4622 | example: What is PeerTube? |
4575 | minLength: 3 | 4623 | minLength: 3 |
4576 | maxLength: 120 | 4624 | maxLength: 120 |
@@ -4598,7 +4646,9 @@ components: | |||
4598 | type: boolean | 4646 | type: boolean |
4599 | nullable: true | 4647 | nullable: true |
4600 | state: | 4648 | state: |
4601 | $ref: '#/components/schemas/VideoStateConstant' | 4649 | allOf: |
4650 | - $ref: '#/components/schemas/VideoStateConstant' | ||
4651 | description: represents the internal state of the video processing within the PeerTube instance | ||
4602 | scheduledUpdate: | 4652 | scheduledUpdate: |
4603 | nullable: true | 4653 | nullable: true |
4604 | allOf: | 4654 | allOf: |
@@ -4677,7 +4727,7 @@ components: | |||
4677 | FileRedundancyInformation: | 4727 | FileRedundancyInformation: |
4678 | properties: | 4728 | properties: |
4679 | id: | 4729 | id: |
4680 | type: integer | 4730 | $ref: '#/components/schemas/id' |
4681 | fileUrl: | 4731 | fileUrl: |
4682 | type: string | 4732 | type: string |
4683 | format: url | 4733 | format: url |
@@ -4702,7 +4752,7 @@ components: | |||
4702 | VideoRedundancy: | 4752 | VideoRedundancy: |
4703 | properties: | 4753 | properties: |
4704 | id: | 4754 | id: |
4705 | type: integer | 4755 | $ref: '#/components/schemas/id' |
4706 | name: | 4756 | name: |
4707 | type: string | 4757 | type: string |
4708 | url: | 4758 | url: |
@@ -4736,8 +4786,7 @@ components: | |||
4736 | VideoImport: | 4786 | VideoImport: |
4737 | properties: | 4787 | properties: |
4738 | id: | 4788 | id: |
4739 | type: integer | 4789 | $ref: '#/components/schemas/id' |
4740 | example: 2 | ||
4741 | targetUrl: | 4790 | targetUrl: |
4742 | type: string | 4791 | type: string |
4743 | format: url | 4792 | format: url |
@@ -4773,8 +4822,7 @@ components: | |||
4773 | Abuse: | 4822 | Abuse: |
4774 | properties: | 4823 | properties: |
4775 | id: | 4824 | id: |
4776 | type: integer | 4825 | $ref: '#/components/schemas/id' |
4777 | example: 7 | ||
4778 | reason: | 4826 | reason: |
4779 | type: string | 4827 | type: string |
4780 | example: The video is a spam | 4828 | example: The video is a spam |
@@ -4799,7 +4847,7 @@ components: | |||
4799 | AbuseMessage: | 4847 | AbuseMessage: |
4800 | properties: | 4848 | properties: |
4801 | id: | 4849 | id: |
4802 | type: integer | 4850 | $ref: '#/components/schemas/id' |
4803 | message: | 4851 | message: |
4804 | type: string | 4852 | type: string |
4805 | minLength: 2 | 4853 | minLength: 2 |
@@ -4814,9 +4862,9 @@ components: | |||
4814 | VideoBlacklist: | 4862 | VideoBlacklist: |
4815 | properties: | 4863 | properties: |
4816 | id: | 4864 | id: |
4817 | type: integer | 4865 | $ref: '#/components/schemas/id' |
4818 | videoId: | 4866 | videoId: |
4819 | type: integer | 4867 | $ref: '#/components/schemas/Video/properties/id' |
4820 | createdAt: | 4868 | createdAt: |
4821 | type: string | 4869 | type: string |
4822 | format: date-time | 4870 | format: date-time |
@@ -4843,29 +4891,12 @@ components: | |||
4843 | type: integer | 4891 | type: integer |
4844 | nsfw: | 4892 | nsfw: |
4845 | type: boolean | 4893 | type: boolean |
4846 | VideoChannel: | ||
4847 | properties: | ||
4848 | displayName: | ||
4849 | type: string | ||
4850 | minLength: 1 | ||
4851 | maxLength: 120 | ||
4852 | description: | ||
4853 | type: string | ||
4854 | minLength: 3 | ||
4855 | maxLength: 1000 | ||
4856 | isLocal: | ||
4857 | type: boolean | ||
4858 | ownerAccount: | ||
4859 | type: object | ||
4860 | properties: | ||
4861 | id: | ||
4862 | type: integer | ||
4863 | uuid: | ||
4864 | $ref: '#/components/schemas/UUIDv4' | ||
4865 | VideoPlaylist: | 4894 | VideoPlaylist: |
4866 | properties: | 4895 | properties: |
4867 | id: | 4896 | id: |
4868 | type: integer | 4897 | $ref: '#/components/schemas/id' |
4898 | uuid: | ||
4899 | $ref: '#/components/schemas/UUIDv4' | ||
4869 | createdAt: | 4900 | createdAt: |
4870 | type: string | 4901 | type: string |
4871 | format: date-time | 4902 | format: date-time |
@@ -4876,8 +4907,6 @@ components: | |||
4876 | type: string | 4907 | type: string |
4877 | minLength: 3 | 4908 | minLength: 3 |
4878 | maxLength: 1000 | 4909 | maxLength: 1000 |
4879 | uuid: | ||
4880 | $ref: '#/components/schemas/UUIDv4' | ||
4881 | displayName: | 4910 | displayName: |
4882 | type: string | 4911 | type: string |
4883 | minLength: 1 | 4912 | minLength: 1 |
@@ -4886,6 +4915,7 @@ components: | |||
4886 | type: boolean | 4915 | type: boolean |
4887 | videoLength: | 4916 | videoLength: |
4888 | type: integer | 4917 | type: integer |
4918 | minimum: 0 | ||
4889 | thumbnailPath: | 4919 | thumbnailPath: |
4890 | type: string | 4920 | type: string |
4891 | privacy: | 4921 | privacy: |
@@ -4899,20 +4929,21 @@ components: | |||
4899 | VideoComment: | 4929 | VideoComment: |
4900 | properties: | 4930 | properties: |
4901 | id: | 4931 | id: |
4902 | type: integer | 4932 | $ref: '#/components/schemas/id' |
4903 | url: | 4933 | url: |
4904 | type: string | 4934 | type: string |
4905 | format: url | 4935 | format: url |
4906 | text: | 4936 | text: |
4907 | type: string | 4937 | type: string |
4938 | description: Text of the comment in Markdown | ||
4908 | minLength: 1 | 4939 | minLength: 1 |
4909 | maxLength: 10000 | 4940 | maxLength: 10000 |
4910 | threadId: | 4941 | threadId: |
4911 | type: integer | 4942 | type: integer |
4912 | inReplyToCommentId: | 4943 | inReplyToCommentId: |
4913 | type: integer | 4944 | $ref: '#/components/schemas/id' |
4914 | videoId: | 4945 | videoId: |
4915 | type: integer | 4946 | $ref: '#/components/schemas/Video/properties/id' |
4916 | createdAt: | 4947 | createdAt: |
4917 | type: string | 4948 | type: string |
4918 | format: date-time | 4949 | format: date-time |
@@ -4921,8 +4952,10 @@ components: | |||
4921 | format: date-time | 4952 | format: date-time |
4922 | totalRepliesFromVideoAuthor: | 4953 | totalRepliesFromVideoAuthor: |
4923 | type: integer | 4954 | type: integer |
4955 | minimum: 0 | ||
4924 | totalReplies: | 4956 | totalReplies: |
4925 | type: integer | 4957 | type: integer |
4958 | minimum: 0 | ||
4926 | account: | 4959 | account: |
4927 | $ref: '#/components/schemas/Account' | 4960 | $ref: '#/components/schemas/Account' |
4928 | VideoCommentThreadTree: | 4961 | VideoCommentThreadTree: |
@@ -4952,8 +4985,7 @@ components: | |||
4952 | ActorInfo: | 4985 | ActorInfo: |
4953 | properties: | 4986 | properties: |
4954 | id: | 4987 | id: |
4955 | type: integer | 4988 | $ref: '#/components/schemas/id' |
4956 | example: 11 | ||
4957 | name: | 4989 | name: |
4958 | type: string | 4990 | type: string |
4959 | displayName: | 4991 | displayName: |
@@ -4970,8 +5002,7 @@ components: | |||
4970 | Actor: | 5002 | Actor: |
4971 | properties: | 5003 | properties: |
4972 | id: | 5004 | id: |
4973 | type: integer | 5005 | $ref: '#/components/schemas/id' |
4974 | example: 11 | ||
4975 | url: | 5006 | url: |
4976 | type: string | 5007 | type: string |
4977 | format: url | 5008 | format: url |
@@ -4999,8 +5030,7 @@ components: | |||
4999 | - $ref: '#/components/schemas/Actor' | 5030 | - $ref: '#/components/schemas/Actor' |
5000 | - properties: | 5031 | - properties: |
5001 | userId: | 5032 | userId: |
5002 | type: string | 5033 | $ref: '#/components/schemas/id' |
5003 | example: 2 | ||
5004 | displayName: | 5034 | displayName: |
5005 | type: string | 5035 | type: string |
5006 | description: | 5036 | description: |
@@ -5181,8 +5211,10 @@ components: | |||
5181 | properties: | 5211 | properties: |
5182 | videoQuota: | 5212 | videoQuota: |
5183 | type: integer | 5213 | type: integer |
5214 | example: 16810141515 | ||
5184 | videoQuotaDaily: | 5215 | videoQuotaDaily: |
5185 | type: integer | 5216 | type: integer |
5217 | example: 1681014151 | ||
5186 | trending: | 5218 | trending: |
5187 | type: object | 5219 | type: object |
5188 | properties: | 5220 | properties: |
@@ -5301,8 +5333,10 @@ components: | |||
5301 | properties: | 5333 | properties: |
5302 | videoQuota: | 5334 | videoQuota: |
5303 | type: integer | 5335 | type: integer |
5336 | example: 16810141515 | ||
5304 | videoQuotaDaily: | 5337 | videoQuotaDaily: |
5305 | type: integer | 5338 | type: integer |
5339 | example: 1681014151 | ||
5306 | transcoding: | 5340 | transcoding: |
5307 | type: object | 5341 | type: object |
5308 | description: Settings pertaining to transcoding jobs | 5342 | description: Settings pertaining to transcoding jobs |
@@ -5399,7 +5433,7 @@ components: | |||
5399 | Follow: | 5433 | Follow: |
5400 | properties: | 5434 | properties: |
5401 | id: | 5435 | id: |
5402 | type: integer | 5436 | $ref: '#/components/schemas/id' |
5403 | follower: | 5437 | follower: |
5404 | $ref: '#/components/schemas/Actor' | 5438 | $ref: '#/components/schemas/Actor' |
5405 | following: | 5439 | following: |
@@ -5438,9 +5472,7 @@ components: | |||
5438 | Job: | 5472 | Job: |
5439 | properties: | 5473 | properties: |
5440 | id: | 5474 | id: |
5441 | type: integer | 5475 | $ref: '#/components/schemas/id' |
5442 | minimum: 0 | ||
5443 | example: 42 | ||
5444 | state: | 5476 | state: |
5445 | type: string | 5477 | type: string |
5446 | enum: | 5478 | enum: |
@@ -5484,22 +5516,25 @@ components: | |||
5484 | type: object | 5516 | type: object |
5485 | properties: | 5517 | properties: |
5486 | id: | 5518 | id: |
5487 | type: integer | 5519 | $ref: '#/components/schemas/id' |
5488 | example: 8 | ||
5489 | account: | 5520 | account: |
5490 | type: object | 5521 | type: object |
5491 | properties: | 5522 | properties: |
5492 | id: | 5523 | id: |
5493 | type: integer | 5524 | $ref: '#/components/schemas/id' |
5494 | example: 37 | ||
5495 | VideoUploadRequestCommon: | 5525 | VideoUploadRequestCommon: |
5496 | properties: | 5526 | properties: |
5497 | name: | 5527 | name: |
5498 | description: Video name | 5528 | description: Video name |
5499 | type: string | 5529 | type: string |
5530 | example: What is PeerTube? | ||
5531 | minLength: 3 | ||
5532 | maxLength: 120 | ||
5500 | channelId: | 5533 | channelId: |
5501 | description: Channel id that will contain this video | 5534 | description: Channel id that will contain this video |
5502 | type: integer | 5535 | type: integer |
5536 | example: 3 | ||
5537 | minimum: 1 | ||
5503 | privacy: | 5538 | privacy: |
5504 | $ref: '#/components/schemas/VideoPrivacySet' | 5539 | $ref: '#/components/schemas/VideoPrivacySet' |
5505 | category: | 5540 | category: |
@@ -5511,6 +5546,8 @@ components: | |||
5511 | description: | 5546 | description: |
5512 | description: Video description | 5547 | description: Video description |
5513 | type: string | 5548 | type: string |
5549 | example: | | ||
5550 | **[Want to help to translate this video?](https://weblate.framasoft.org/projects/what-is-peertube-video/)**\r\n\r\n**Take back the control of your videos! [#JoinPeertube](https://joinpeertube.org)** | ||
5514 | waitTranscoding: | 5551 | waitTranscoding: |
5515 | description: Whether or not we wait transcoding before publish the video | 5552 | description: Whether or not we wait transcoding before publish the video |
5516 | type: boolean | 5553 | type: boolean |
@@ -5527,6 +5564,9 @@ components: | |||
5527 | minItems: 1 | 5564 | minItems: 1 |
5528 | maxItems: 5 | 5565 | maxItems: 5 |
5529 | uniqueItems: true | 5566 | uniqueItems: true |
5567 | example: | ||
5568 | - framasoft | ||
5569 | - peertube | ||
5530 | items: | 5570 | items: |
5531 | type: string | 5571 | type: string |
5532 | minLength: 2 | 5572 | minLength: 2 |
@@ -5576,6 +5616,7 @@ components: | |||
5576 | description: Video filename including extension | 5616 | description: Video filename including extension |
5577 | type: string | 5617 | type: string |
5578 | format: filename | 5618 | format: filename |
5619 | example: what_is_peertube.mp4 | ||
5579 | thumbnailfile: | 5620 | thumbnailfile: |
5580 | description: Video thumbnail file | 5621 | description: Video thumbnail file |
5581 | type: string | 5622 | type: string |
@@ -5590,10 +5631,9 @@ components: | |||
5590 | type: object | 5631 | type: object |
5591 | properties: | 5632 | properties: |
5592 | id: | 5633 | id: |
5593 | type: integer | 5634 | $ref: '#/components/schemas/Video/properties/id' |
5594 | example: 8 | ||
5595 | uuid: | 5635 | uuid: |
5596 | $ref: '#/components/schemas/UUIDv4' | 5636 | $ref: '#/components/schemas/Video/properties/uuid' |
5597 | CommentThreadResponse: | 5637 | CommentThreadResponse: |
5598 | properties: | 5638 | properties: |
5599 | total: | 5639 | total: |
@@ -5671,10 +5711,7 @@ components: | |||
5671 | type: string | 5711 | type: string |
5672 | description: Theme enabled by this user | 5712 | description: Theme enabled by this user |
5673 | username: | 5713 | username: |
5674 | type: string | 5714 | $ref: '#/components/schemas/username' |
5675 | description: The user username | ||
5676 | minLength: 1 | ||
5677 | maxLength: 50 | ||
5678 | videoChannels: | 5715 | videoChannels: |
5679 | type: array | 5716 | type: array |
5680 | items: | 5717 | items: |
@@ -5713,31 +5750,23 @@ components: | |||
5713 | AddUser: | 5750 | AddUser: |
5714 | properties: | 5751 | properties: |
5715 | username: | 5752 | username: |
5716 | type: string | 5753 | $ref: '#/components/schemas/username' |
5717 | description: The user username | ||
5718 | minLength: 1 | ||
5719 | maxLength: 50 | ||
5720 | pattern: '/^[a-z0-9._]{1,50}$/' | ||
5721 | password: | 5754 | password: |
5722 | type: string | 5755 | $ref: '#/components/schemas/password' |
5723 | format: password | ||
5724 | description: The user password. If the smtp server is configured, you can leave empty and an email will be sent | ||
5725 | minLength: 6 | ||
5726 | maxLength: 255 | ||
5727 | email: | 5756 | email: |
5728 | type: string | 5757 | type: string |
5729 | format: email | 5758 | format: email |
5730 | description: The user email | 5759 | description: The user email |
5731 | videoQuota: | 5760 | videoQuota: |
5732 | type: integer | 5761 | type: integer |
5733 | description: The user video quota | 5762 | description: The user video quota in bytes |
5763 | example: -1 | ||
5734 | videoQuotaDaily: | 5764 | videoQuotaDaily: |
5735 | type: integer | 5765 | type: integer |
5736 | description: The user daily video quota | 5766 | description: The user daily video quota in bytes |
5767 | example: -1 | ||
5737 | channelName: | 5768 | channelName: |
5738 | type: string | 5769 | $ref: '#/components/schemas/usernameChannel' |
5739 | description: The user default channel username | ||
5740 | pattern: '/^[ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\\-_.:]+$/' | ||
5741 | role: | 5770 | role: |
5742 | $ref: '#/components/schemas/UserRole' | 5771 | $ref: '#/components/schemas/UserRole' |
5743 | adminFlags: | 5772 | adminFlags: |
@@ -5751,9 +5780,6 @@ components: | |||
5751 | - role | 5780 | - role |
5752 | UpdateUser: | 5781 | UpdateUser: |
5753 | properties: | 5782 | properties: |
5754 | id: | ||
5755 | type: string | ||
5756 | description: The user id | ||
5757 | email: | 5783 | email: |
5758 | type: string | 5784 | type: string |
5759 | format: email | 5785 | format: email |
@@ -5763,10 +5789,10 @@ components: | |||
5763 | description: Set the email as verified | 5789 | description: Set the email as verified |
5764 | videoQuota: | 5790 | videoQuota: |
5765 | type: integer | 5791 | type: integer |
5766 | description: The updated video quota of the user | 5792 | description: The updated video quota of the user in bytes |
5767 | videoQuotaDaily: | 5793 | videoQuotaDaily: |
5768 | type: integer | 5794 | type: integer |
5769 | description: The updated daily video quota of the user | 5795 | description: The updated daily video quota of the user in bytes |
5770 | pluginAuth: | 5796 | pluginAuth: |
5771 | type: string | 5797 | type: string |
5772 | nullable: true | 5798 | nullable: true |
@@ -5776,16 +5802,10 @@ components: | |||
5776 | $ref: '#/components/schemas/UserRole' | 5802 | $ref: '#/components/schemas/UserRole' |
5777 | adminFlags: | 5803 | adminFlags: |
5778 | $ref: '#/components/schemas/UserAdminFlags' | 5804 | $ref: '#/components/schemas/UserAdminFlags' |
5779 | required: | ||
5780 | - id | ||
5781 | UpdateMe: | 5805 | UpdateMe: |
5782 | properties: | 5806 | properties: |
5783 | password: | 5807 | password: |
5784 | type: string | 5808 | $ref: '#/components/schemas/password' |
5785 | format: password | ||
5786 | description: Your new password | ||
5787 | minLength: 6 | ||
5788 | maxLength: 255 | ||
5789 | email: | 5809 | email: |
5790 | type: string | 5810 | type: string |
5791 | format: email | 5811 | format: email |
@@ -5808,8 +5828,7 @@ components: | |||
5808 | GetMeVideoRating: | 5828 | GetMeVideoRating: |
5809 | properties: | 5829 | properties: |
5810 | id: | 5830 | id: |
5811 | type: string | 5831 | $ref: '#/components/schemas/id' |
5812 | description: Id of the video | ||
5813 | rating: | 5832 | rating: |
5814 | type: string | 5833 | type: string |
5815 | enum: | 5834 | enum: |
@@ -5837,17 +5856,9 @@ components: | |||
5837 | RegisterUser: | 5856 | RegisterUser: |
5838 | properties: | 5857 | properties: |
5839 | username: | 5858 | username: |
5840 | type: string | 5859 | $ref: '#/components/schemas/username' |
5841 | description: The username of the user | ||
5842 | minLength: 1 | ||
5843 | maxLength: 50 | ||
5844 | pattern: '/^[a-z0-9._]{1,50}$/' | ||
5845 | password: | 5860 | password: |
5846 | type: string | 5861 | $ref: '#/components/schemas/password' |
5847 | format: password | ||
5848 | description: The password of the user | ||
5849 | minLength: 6 | ||
5850 | maxLength: 255 | ||
5851 | email: | 5862 | email: |
5852 | type: string | 5863 | type: string |
5853 | format: email | 5864 | format: email |
@@ -5861,9 +5872,7 @@ components: | |||
5861 | type: object | 5872 | type: object |
5862 | properties: | 5873 | properties: |
5863 | name: | 5874 | name: |
5864 | type: string | 5875 | $ref: '#/components/schemas/usernameChannel' |
5865 | description: The username for the default channel | ||
5866 | pattern: '/^[ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\\-_.:]+$/' | ||
5867 | displayName: | 5876 | displayName: |
5868 | type: string | 5877 | type: string |
5869 | description: The display name for the default channel | 5878 | description: The display name for the default channel |
@@ -5874,40 +5883,64 @@ components: | |||
5874 | - password | 5883 | - password |
5875 | 5884 | ||
5876 | 5885 | ||
5877 | VideoChannelCommon: | 5886 | VideoChannel: |
5878 | properties: | 5887 | properties: |
5888 | # GET/POST/PUT properties | ||
5879 | displayName: | 5889 | displayName: |
5880 | type: string | 5890 | type: string |
5891 | example: Videos of Framasoft | ||
5881 | minLength: 1 | 5892 | minLength: 1 |
5882 | maxLength: 120 | 5893 | maxLength: 120 |
5883 | description: | 5894 | description: |
5884 | type: string | 5895 | type: string |
5896 | example: Videos made with <3 by Framasoft | ||
5885 | minLength: 3 | 5897 | minLength: 3 |
5886 | maxLength: 1000 | 5898 | maxLength: 1000 |
5887 | support: | 5899 | support: |
5888 | type: string | 5900 | type: string |
5889 | description: 'A text shown by default on all videos of this channel, to tell the audience how to support it' | 5901 | description: text shown by default on all videos of this channel, to tell the audience how to support it |
5890 | example: Please support my work on <insert crowdfunding plateform>! <3 | 5902 | example: Please support my work on <insert crowdfunding plateform>! <3 |
5891 | minLength: 3 | 5903 | minLength: 3 |
5892 | maxLength: 1000 | 5904 | maxLength: 1000 |
5905 | # GET-only properties | ||
5906 | id: | ||
5907 | readOnly: true | ||
5908 | allOf: | ||
5909 | - $ref: '#/components/schemas/id' | ||
5910 | isLocal: | ||
5911 | readOnly: true | ||
5912 | type: boolean | ||
5913 | updatedAt: | ||
5914 | readOnly: true | ||
5915 | type: string | ||
5916 | format: date-time | ||
5917 | ownerAccount: | ||
5918 | readOnly: true | ||
5919 | nullable: true | ||
5920 | type: object | ||
5921 | properties: | ||
5922 | id: | ||
5923 | type: integer | ||
5924 | uuid: | ||
5925 | $ref: '#/components/schemas/UUIDv4' | ||
5893 | VideoChannelCreate: | 5926 | VideoChannelCreate: |
5894 | allOf: | 5927 | allOf: |
5895 | - $ref: '#/components/schemas/VideoChannelCommon' | 5928 | - $ref: '#/components/schemas/VideoChannel' |
5896 | - properties: | 5929 | - properties: |
5897 | name: | 5930 | name: |
5898 | type: string | 5931 | description: username of the channel to create |
5899 | minLength: 1 | 5932 | allOf: |
5900 | maxLength: 120 | 5933 | - $ref: '#/components/schemas/usernameChannel' |
5901 | required: | 5934 | required: |
5902 | - name | 5935 | - name |
5903 | - displayName | 5936 | - displayName |
5904 | VideoChannelUpdate: | 5937 | VideoChannelUpdate: |
5905 | allOf: | 5938 | allOf: |
5906 | - $ref: '#/components/schemas/VideoChannelCommon' | 5939 | - $ref: '#/components/schemas/VideoChannel' |
5907 | - properties: | 5940 | - properties: |
5908 | bulkVideosSupportUpdate: | 5941 | bulkVideosSupportUpdate: |
5909 | type: boolean | 5942 | type: boolean |
5910 | description: 'Update the support field for all videos of this channel' | 5943 | description: Update the support field for all videos of this channel |
5911 | VideoChannelList: | 5944 | VideoChannelList: |
5912 | properties: | 5945 | properties: |
5913 | total: | 5946 | total: |
@@ -6123,7 +6156,7 @@ components: | |||
6123 | Notification: | 6156 | Notification: |
6124 | properties: | 6157 | properties: |
6125 | id: | 6158 | id: |
6126 | type: integer | 6159 | $ref: '#/components/schemas/id' |
6127 | type: | 6160 | type: |
6128 | type: integer | 6161 | type: integer |
6129 | description: > | 6162 | description: > |
@@ -6171,7 +6204,7 @@ components: | |||
6171 | type: object | 6204 | type: object |
6172 | properties: | 6205 | properties: |
6173 | id: | 6206 | id: |
6174 | type: integer | 6207 | $ref: '#/components/schemas/id' |
6175 | video: | 6208 | video: |
6176 | nullable: true | 6209 | nullable: true |
6177 | $ref: '#/components/schemas/VideoInfo' | 6210 | $ref: '#/components/schemas/VideoInfo' |
@@ -6191,7 +6224,7 @@ components: | |||
6191 | type: object | 6224 | type: object |
6192 | properties: | 6225 | properties: |
6193 | id: | 6226 | id: |
6194 | type: integer | 6227 | $ref: '#/components/schemas/id' |
6195 | threadId: | 6228 | threadId: |
6196 | type: integer | 6229 | type: integer |
6197 | video: | 6230 | video: |
@@ -6203,7 +6236,7 @@ components: | |||
6203 | type: object | 6236 | type: object |
6204 | properties: | 6237 | properties: |
6205 | id: | 6238 | id: |
6206 | type: integer | 6239 | $ref: '#/components/schemas/id' |
6207 | video: | 6240 | video: |
6208 | allOf: | 6241 | allOf: |
6209 | - $ref: '#/components/schemas/VideoInfo' | 6242 | - $ref: '#/components/schemas/VideoInfo' |
@@ -6212,7 +6245,7 @@ components: | |||
6212 | type: object | 6245 | type: object |
6213 | properties: | 6246 | properties: |
6214 | id: | 6247 | id: |
6215 | type: integer | 6248 | $ref: '#/components/schemas/id' |
6216 | video: | 6249 | video: |
6217 | allOf: | 6250 | allOf: |
6218 | - $ref: '#/components/schemas/VideoInfo' | 6251 | - $ref: '#/components/schemas/VideoInfo' |
@@ -6225,7 +6258,7 @@ components: | |||
6225 | nullable: true | 6258 | nullable: true |
6226 | properties: | 6259 | properties: |
6227 | id: | 6260 | id: |
6228 | type: integer | 6261 | $ref: '#/components/schemas/id' |
6229 | follower: | 6262 | follower: |
6230 | $ref: '#/components/schemas/ActorInfo' | 6263 | $ref: '#/components/schemas/ActorInfo' |
6231 | state: | 6264 | state: |