Feature #2
openIntegração VdoCipher: Listagem e Upload de Filmes por Produtora
0%
Description
Precisamos permitir que usuários com perfil de Produtora realizem o upload de seus filmes na plataforma. O armazenamento e processamento de vídeo será feito através da integração com a API do VdoCipher. Esta tarefa abrange a criação da área de gestão de vídeos e o fluxo técnico de upload.
História de Usuário:
"Como uma Produtora, quero visualizar uma lista dos meus filmes cadastrados e ter a opção de realizar o upload de novos arquivos de vídeo, que serão processados automaticamente pelo VdoCipher para segurança e streaming."
Especificações Técnicas - Backend (Laravel):¶
-
Service Integration (
VdoCipherService):- Criar um Service ou Trait responsável pela comunicação com a API VdoCipher (utilizando Guzzle ou Http Client do Laravel).
-
Endpoints Necessários:
-
GET /credentials: Solicitar credenciais de upload (OTP/Playback Info) ou URL de upload assinada (PUT). -
POST /videos: Para salvar os metadados iniciais (se necessário pela API do VdoCipher antes do upload).
-
-
Controller de Filmes (
MovieController):-
Listagem (
index): Retornar apenas os vídeos pertencentes à Produtora logada (where('producer_id', auth()->id())). -
Webhook/Sync: Criar método para atualizar o status do vídeo no banco local (ex: de 'processando' para 'pronto') consultando o
videoIDna API do VdoCipher ou recebendo um Webhook.
-
Listagem (
-
Banco de Dados:
- Garantir que a tabela
movies(ouvideos) tenha os campos:-
vdocipher_id(string, para armazenar o ID externo). -
status(enum: pending, uploading, processing, ready, error).
-
- Garantir que a tabela
Especificações Técnicas - Frontend:¶
-
Área de Listagem:
- Criar view/componente que liste os filmes da produtora.
- Colunas sugeridas: Thumbnail (se disponível), Título, Status de Processamento, Data de Envio, Ações (Editar, Excluir).
-
Componente de Upload:
- Implementar botão "Novo Upload".
-
Fluxo de Upload Seguro:
- O Frontend solicita ao Backend (Laravel) uma URL/Credencial de upload.
- O Backend comunica com VdoCipher e retorna a autorização.
- O Frontend realiza o upload do arquivo binário diretamente para a URL fornecida pelo VdoCipher (para não sobrecarregar nosso servidor).
- Ao finalizar (sucesso 200 OK), o Frontend envia o
videoIDretornado pelo VdoCipher para o Backend salvar no registro do filme.
Critérios de Aceitação:
- Listagem: A produtora vê apenas os seus próprios filmes.
-
Integração: O Laravel consegue autenticar na API VdoCipher usando a Key configurada no
.env. -
Upload: O arquivo de vídeo é enviado para o VdoCipher e um
vdocipher_idé salvo corretamente no banco de dados do Moviementa. - Status: O sistema exibe o status atual do vídeo (ex: "Processando") na listagem.
Dica para o Desenvolvedor:¶
Para o upload via API VdoCipher v2, o fluxo recomendado é:
- Obter "Upload Policy" via API (Server-side).
- Usar essa policy para fazer o upload do arquivo via PUT (Client-side).
Documentação referência:https://dev.vdocipher.com/api/docs/book/upload/upload.html
No data to display