Pastas e Arquivos

Pasta e Arquivo são referenciados, respectivamente, como: folder
e file
. Estes compõem a seção de Arquivos de Apoio dispostos em uma Disciplina, onde é possível guardar, organizar e baixar arquivos.

Folder
Representa uma pasta no sistema de arquivos, a qual pode estar contida em uma pasta e conter várias pastas e arquivos. Uma disciplina pode possuir várias pastas.
Atributos
Atributo | Descrição |
---|---|
ID | Identificador único do Folder |
name | Nome |
created_at | Data de criação |
Links
Link | Descrição |
---|---|
self | Pasta em questão |
folder | Pasta na qual a pasta em questão está contida (pasta pai) |
files | Arquivos contidos |
folders | Pastas contidas |
space | Disciplina onde a pasta se encontra |
user | Usuário criador |
GET /api/folders/:id
Retorna a pasta em questão.
Autorização
É necessário estar matriculado no curso ao qual a pasta pertence (no caso, o curso da disciplina).
Parâmetros
Atributo | Descrição | Restrições |
---|---|---|
id | ID da pasta | N/A |
Exemplo
Requisição:
GET /api/folders/4
Resposta:
{
"id" : 4,
"name" : "My Folder",
"created_at" "2012-01-13T12:11:22-02:00…",
"links" : [
{
"href" : "http://www.redu.com.br/api/folders/4",
"rel" : "self"
},
{
"href" : "http://www.redu.com.br/api/folders/2",
"rel" : "folder"
},
{
"href" : "http://www.redu.com.br/api/folders/4/files",
"rel" : "files"
},
{
"href" : "http://www.redu.com.br/api/folders/4/folders",
"rel" : "folders"
},
{
"href" : "http://www.redu.com.br/api/spaces/1626",
"rel" : "space"
},
{
"href" : "http://www.redu.com.br/api/users/julianalucena",
"rel" : "user"
},
]
}
GET /api/folders/:folder_id/folders
Retorna as pastas contidas na pasta em questão.
Autorização
É necessário estar matriculado no curso ao qual a pasta pertence (no caso, o curso da disciplina).
Parâmetros
Atributo | Descrição | Restrições |
---|---|---|
id | ID da pasta pai | N/A |
GET /api/spaces/:space_id/folders
Retorna as pastas contidas na disciplina informada.
Autorização
É necessário estar matriculado no curso ao qual a disciplina pertence.
Parâmetros
Atributo | Descrição | Restrições |
---|---|---|
id | ID da disciplina | N/A |
POST /api/folders/:id/folders
Cria novo diretório dentro do diretório especificado.
Autorização
É necessário estar matriculado no curso ao qual a disciplina pertence e ser administrador, professor ou tutor no curso.
Parâmetros
Atributo | Descrição | Restrições |
---|---|---|
folder[name] | Novo nome do arquivo | N/A |
Exemplo
O exemplo abaixo foi realizado utilizando o programa cURL.
curl \
-H 'Authorization: OAuth us8Jsbsgbc3bb5b56nCuBFirbXni0LpQWI' \
-H 'Content-type: application/json' \
-X 'POST' \
-d '{ "folder" : { "name" : "new folder" } }' \
http://redu.com.br/api/folders/31/folders -vv
PUT /api/folders/:id
Atualiza nome de um Folder.
Autorização
É necessário estar matriculado no curso ao qual a disciplina pertence e ser administrador, professor ou tutor no curso.
Parâmetros
Atributo | Descrição | Restrições |
---|---|---|
folder[name] | Novo nome do arquivo | N/A |
DELETE /api/folders/:id
Remove a pasta especificada.
Autorização
É necessário estar matriculado no curso e ser administrador, professor ou tutor no curso.
File
Representa um arquivo no sistema de arquivos, o qual está contido em uma pasta.
Atributos
Atributo | Descrição |
---|---|
id | Identificador único do File |
name | Nome |
mimetype | Formato do arquivo |
size | Tamanho em megabytes |
byte | Tamanho em bytes |
created_at | Data de criação |
Links
Link | Descrição |
---|---|
self | Arquivo em questão |
folder | Pasta na qual o arquivo está contido (pasta pai) |
space | Disciplina onde a pasta se encontra |
user | Usuário criador |
raw | Endereço do arquivo bruto para download |
GET /api/files/:id
Retorna o arquivo em questão.
Autorização
É necessário estar matriculado no curso ao qual o arquivo pertence (no caso, o curso da disciplina).
Parâmetros
Atributo | Descrição | Restrições |
---|---|---|
id | ID do arquivo | N/A |
Exemplo
Requisição:
GET /api/files/4
Resposta:
{
"id" : 4,
"name" : "My File",
"mimetype" : "application/pdf",
"size" : "132Mb",
"byte" : "12213",
"created_at" "2012-01-13T12:11:22-02:00…",
"links" : [
{
"href" : "http://www.redu.com.br/api/files/4",
"rel" : "self"
},
{
"href" : "http://www.redu.com.br/api/folders/2",
"rel" : "folder"
},
{
"href" : "http://www.redu.com.br/api/spaces/1626",
"rel" : "space"
},
{
"href" : "http://www.redu.com.br/api/users/julianalucena",
"rel" : "user"
},
{
"href" : "http://s3.amazonaws.com/redu_files/myfiles/attachments/309/original/01_intro.pdf?AWSAccessKeyId=AKIAIRKVQDTWT2NN4J4Q&Expires=1358789646&Signature=AoV34rkOyu9PFNxMxxAqQlDTBzA%3D",
"rel" : "raw"
},
]
}
GET /api/folders/:folder_id/files
Retorna os arquivos contidos na pasta em questão.
Autorização
É necessário estar matriculado no curso ao qual a pasta / o arquivo pertence (no caso, o curso da disciplina).
Parâmetros
Atributo | Descrição | Restrições |
---|---|---|
id | ID da pasta | N/A |
POST /api/folders/:folder_id/files
Cria um novo arquivo dentro da pasta especificada.
Autorização
É necessário estar matriculado no curso e ser administrador, professor ou tutor no curso.
Parâmetros
Atributo | Descrição | Restrições |
---|---|---|
file[content] | Dados binários do arquivo a ser criado | Tamanho máximo de 100 Mb |
Upload de arquivos
Em casos casos em que há o upload de arquivos, são necessários os seguintes cabeçalhos HTTP:
1. Content-Type: multipart/form-data
2. Content-Length: 13951 (tamanho do arquivo em bytes)
O uso do Content-type multipart/form-data torna possível que o corpo da requisição HTTP seja composto vários conjuntos de dados, cada qual possuindo seu próprio Content-type. Com isso podemos enviar, além do name e type, os dados binários que compõem uma imagem ou um PDF.
Exemplo
O exemplo abaixo foi realizado utilizando o programa cURL.
curl \
-H 'Authorization: OAuth us8JsbsgaH32jh3h23g32irbXni0LpQWI' \
-F 'file[content]=@spec/fixtures/api/pdf_example.pdf;type=application/pdf' \
http://redu.com.br/api/folders/31/files -vv
DELETE /api/files/:id
Remove o arquivo especificado
Autorização
É necessário estar matriculado no curso e ser administrador, professor ou tutor no curso.