definitions: controllers.Response: properties: _links: additionalProperties: $ref: '#/definitions/json.LinkJson' type: object video: $ref: '#/definitions/json.VideoJson' type: object controllers.TransformerServiceListResponse: properties: services: items: $ref: '#/definitions/json.TransformerServiceJson' type: array type: object controllers.VideoInfo: properties: coverlink: $ref: '#/definitions/json.LinkJson' id: example: "1" type: string title: example: my title type: string type: object controllers.VideoListResponse: properties: _lastpage: type: integer _links: additionalProperties: $ref: '#/definitions/json.LinkJson' type: object videos: items: $ref: '#/definitions/controllers.VideoInfo' type: array type: object json.LinkJson: properties: href: type: string method: type: string type: object json.TransformerServiceJson: properties: name: example: gray type: string type: object json.VideoInfo: properties: title: example: amazingtitle type: string uploadDateUnix: example: 1652173257 type: integer type: object json.VideoJson: properties: createdAt: example: "2022-04-15T12:59:52Z" type: string id: example: aaaa-b56b-... type: string status: example: VIDEO_STATUS_ENCODING type: string title: example: A Title type: string updatedAt: example: "2022-04-15T12:59:52Z" type: string uploadedAt: example: "2022-04-15T12:59:52Z" type: string type: object json.VideoStatus: properties: status: example: UPLOADED type: string title: example: AmazingTitle type: string type: object info: contact: {} paths: /api/v1/videos/{id}/archive: put: description: Archive video parameters: - description: Video ID in: path name: id required: true type: string produces: - text/plain responses: "200": description: OK schema: type: string "400": description: Bad Request schema: type: string "404": description: Not Found schema: type: string "500": description: Internal Server Error schema: type: string summary: Archive video tags: - video /api/v1/videos/{id}/cover: get: consumes: - text/plain description: Get video cover image in base64 parameters: - description: Video ID in: path name: id required: true type: string produces: - text/plain responses: "200": description: video cover image in base64 schema: type: string "400": description: Bad Request schema: type: string "404": description: Not Found schema: type: string "500": description: Internal Server Error schema: type: string summary: Get video cover image in base64 tags: - video /api/v1/videos/{id}/delete: delete: description: Delete video parameters: - description: Video ID in: path name: id required: true type: string produces: - text/plain responses: "200": description: OK schema: type: string "400": description: Bad Request schema: type: string "404": description: Not Found schema: type: string "500": description: Internal Server Error schema: type: string summary: Delete video tags: - video /api/v1/videos/{id}/info: get: description: Get video informations parameters: - description: Video ID in: path name: id required: true type: string produces: - application/json responses: "200": description: Video Informations schema: $ref: '#/definitions/json.VideoInfo' "400": description: Bad Request schema: type: string "404": description: Not Found schema: type: string "500": description: Internal Server Error schema: type: string summary: Get video informations tags: - video /api/v1/videos/{id}/status: get: description: Get video status parameters: - description: Video ID in: path name: id required: true type: string produces: - text/plain responses: "200": description: Describe video status schema: $ref: '#/definitions/json.VideoStatus' "400": description: Bad Request schema: type: string "404": description: Not Found schema: type: string "500": description: Internal Server Error schema: type: string summary: Get video status tags: - video /api/v1/videos/{id}/streams/{quality}/{filename}: get: description: Get sub part stream video parameters: - description: Video ID in: path name: id required: true type: string - description: Video quality in: path name: quality required: true type: string - description: Video sub part name in: path name: filename required: true type: string - description: List of required filters in: query items: type: string name: filter type: array produces: - text/plain responses: "200": description: Video sub part (.ts) schema: type: string "400": description: Bad Request schema: type: string "404": description: Not Found schema: type: string "500": description: Internal Server Error schema: type: string summary: Get sub part stream video tags: - video /api/v1/videos/{id}/streams/master.m3u8: get: description: Get video master parameters: - description: Video ID in: path name: id required: true type: string produces: - text/plain responses: "200": description: HLS video master schema: type: string "400": description: Bad Request schema: type: string "404": description: Not Found schema: type: string "500": description: Internal Server Error schema: type: string summary: Get video master tags: - video /api/v1/videos/{id}/unarchive: put: description: Unarchive video parameters: - description: Video ID in: path name: id required: true type: string produces: - text/plain responses: "200": description: OK schema: type: string "400": description: Bad Request schema: type: string "404": description: Not Found schema: type: string "500": description: Internal Server Error schema: type: string summary: Unarchive video tags: - video /api/v1/videos/list/{attribute}/{order}/{page}/{limit}/{status}: get: description: Get list of all videos parameters: - description: Sort attribute in: path name: attribute required: true type: string - description: Sort order in: path name: order required: true type: string - description: Page number in: path name: page required: true type: string - description: Video per page in: path name: limit required: true type: string - description: 'Video status ' in: path name: status required: true type: string produces: - application/json responses: "200": description: Video list and Hateoas links schema: $ref: '#/definitions/controllers.VideoListResponse' "400": description: Bad Request schema: type: string "500": description: Internal Server Error schema: type: string summary: Get list of all videos tags: - video /api/v1/videos/transformer: get: description: Get list of existing services produces: - application/json responses: "200": description: Service list schema: $ref: '#/definitions/controllers.TransformerServiceListResponse' summary: Get list of existing services tags: - services /api/v1/videos/upload: post: consumes: - multipart/form-data description: Upload video file parameters: - description: video in: formData name: file required: true type: file produces: - application/json responses: "200": description: Video and Links (HATEOAS) schema: $ref: '#/definitions/controllers.Response' "400": description: Bad Request schema: type: string "409": description: This title already exists schema: type: string "415": description: Unsupported Media Type schema: type: string "500": description: Internal Server Error schema: type: string summary: Upload video file tags: - video /health: get: description: Get component health produces: - text/plain responses: "200": description: OK schema: type: string summary: Get component health tags: - health /ws: get: consumes: - text/plain description: Send Update to Front parameters: - description: Authentication cookie in: header name: Cookie required: true type: string produces: - text/plain responses: "101": description: Switching Protocols schema: type: string "400": description: Bad Request schema: type: string "401": description: Unauthorized schema: type: string "500": description: Internal Server Error schema: type: string summary: Send Update to Front tags: - websocket swagger: "2.0"