From a52f53bf61d44ed169ae0bcd49e8812703577c4c Mon Sep 17 00:00:00 2001 From: Akellymourab Date: Tue, 19 Mar 2024 13:05:18 -0300 Subject: [PATCH] Adds documentation of projects describe and find. --- .../components/paths/project/describe.yaml | 14 + .../docs/components/paths/project/find.yaml | 23 ++ .../components/schemas/project-describe.yaml | 333 ++++++++++++++++++ public/docs/components/schemas/project.yaml | 231 ++++++++++++ public/docs/openapi.yaml | 13 + 5 files changed, 614 insertions(+) create mode 100644 public/docs/components/paths/project/describe.yaml create mode 100644 public/docs/components/paths/project/find.yaml create mode 100644 public/docs/components/schemas/project-describe.yaml create mode 100644 public/docs/components/schemas/project.yaml diff --git a/public/docs/components/paths/project/describe.yaml b/public/docs/components/paths/project/describe.yaml new file mode 100644 index 0000000000..8fc137ba5f --- /dev/null +++ b/public/docs/components/paths/project/describe.yaml @@ -0,0 +1,14 @@ +get: + tags: + - Projetos + summary: Recupera os detalhes de mapeamento da entity Projetos + description: Recupera os detalhes de mapeamento da entity Projetos + responses: + '200': + description: Success + content: + application/json: + schema: + type: array + items: + $ref: '../../schemas/project-describe.yaml' diff --git a/public/docs/components/paths/project/find.yaml b/public/docs/components/paths/project/find.yaml new file mode 100644 index 0000000000..cd8ea699ab --- /dev/null +++ b/public/docs/components/paths/project/find.yaml @@ -0,0 +1,23 @@ +get: + tags: + - Projetos + summary: Recupera a lista de projetos + description: Recupera a lista de projetos + parameters: + - $ref: '../../parameters/select.yaml' + responses: + '200': + description: Um array com todos os projetos, caso não tenha o parametro @select na busca, ele trará apenas id e @entityType + content: + application/json: + schema: + type: array + items: + allOf: + - $ref: '../../schemas/project.yaml' + - type: object + properties: + '@entityType': + type: string + example: seal + description: Um texto que representa qual a entity é retornada diff --git a/public/docs/components/schemas/project-describe.yaml b/public/docs/components/schemas/project-describe.yaml new file mode 100644 index 0000000000..8debc433cb --- /dev/null +++ b/public/docs/components/schemas/project-describe.yaml @@ -0,0 +1,333 @@ +type: object +properties: + id: + type: integer + example: 1 + description: Um id numérico que representa o Projeto + required: true + _type: + type: integer + example: 1 + description: Um número que representa o tipo do Projeto + required: true + name: + type: string + example: "Nome do Projeto" + maxLength: 255 + description: Um texto que representa o nome do Projeto + required: true + shortDescription: + type: string + example: "Descrição curta do Projeto" + description: Uma breve descrição do Projeto + required: true + longDescription: + type: string + example: "Descrição longa do Projeto" + description: Uma descrição detalhada do Projeto + required: false + updateTimestamp: + type: string + format: date-time + example: "2024-03-11 14:52:35.000000" + description: Data e hora da última atualização do Projeto + required: false + startsOn: + type: string + format: date-time + example: "2024-03-11 14:52:35.000000" + description: Data e hora de início do Projeto + required: false + endsOn: + type: string + format: date-time + example: "2024-03-11 14:52:35.000000" + description: Data e hora de término do Projeto + required: false + createTimestamp: + type: string + format: date-time + example: "2024-03-11 14:52:35.000000" + description: Data e hora de criação do Projeto + required: true + status: + type: integer + example: 1 + description: Um número que representa o status do Projeto + required: true + _subsiteId: + type: integer + example: 1 + description: ID do subsite associado ao Projeto + required: false + parent: + type: object + properties: + id: + type: integer + example: 1 + description: ID do Projeto pai + required: false + _children: + type: array + items: + type: object + properties: + id: + type: integer + example: 2 + description: ID do Projeto filho + description: Filhos do Projeto + required: false + owner: + type: object + properties: + id: + type: integer + example: 1 + description: ID do Agente que criou o Projeto + required: true + _events: + type: array + items: + type: object + properties: + id: + type: integer + example: 1 + description: ID do Evento associado ao Projeto + description: Eventos associados ao Projeto + required: false + _relatedOpportunities: + type: array + items: + type: object + properties: + id: + type: integer + example: 1 + description: ID da Oportunidade relacionada ao Projeto + description: Oportunidades relacionadas ao Projeto + required: false + __metadata: + type: array + items: + type: object + properties: + id: + type: integer + example: 1 + description: ID do Metadado associado ao Projeto + description: Metadados associados ao Projeto + required: false + __files: + type: array + items: + type: object + properties: + id: + type: integer + example: 1 + description: ID do Arquivo associado ao Projeto + description: Arquivos associados ao Projeto + required: false + __agentRelations: + type: array + items: + type: object + properties: + id: + type: integer + example: 1 + description: ID da Relação de Agente associada ao Projeto + description: Relações de Agente associadas ao Projeto + required: false + __termRelations: + type: array + items: + type: object + properties: + id: + type: integer + example: 1 + description: ID da Relação de Termo associada ao Projeto + description: Relações de Termo associadas ao Projeto + required: false + __sealRelations: + type: array + items: + type: object + properties: + id: + type: integer + example: 1 + description: ID da Relação de Selo associada ao Projeto + description: Relações de Selo associadas ao Projeto + required: false + __permissionsCache: + type: array + items: + type: object + properties: + id: + type: integer + example: 1 + description: ID do Cache de Permissão associado ao Projeto + description: Caches de Permissão associados ao Projeto + required: false + subsite: + type: object + properties: + id: + type: integer + example: 1 + description: ID do Subsite associado ao Projeto + required: false + site: + type: string + example: "https://example.com" + description: Site associado ao Projeto + required: false + facebook: + type: string + example: "https://facebook.com/example" + description: Facebook associado ao Projeto + required: false + twitter: + type: string + example: "https://twitter.com/example" + description: Twitter associado ao Projeto + required: false + instagram: + type: string + example: "https://instagram.com/example" + description: Instagram associado ao Projeto + required: false + linkedin: + type: string + example: "https://linkedin.com/in/example" + description: LinkedIn associado ao Projeto + required: false + vimeo: + type: string + example: "https://vimeo.com/example" + description: Vimeo associado ao Projeto + required: false + spotify: + type: string + example: "https://open.spotify.com/user/example" + description: Spotify associado ao Projeto + required: false + youtube: + type: string + example: "https://youtube.com/channel/example" + description: YouTube associado ao Projeto + required: false + pinterest: + type: string + example: "https://pinterest.com/example" + description: Pinterest associado ao Projeto + required: false + emailPublico: + type: string + example: "public@example.com" + description: Email público do Projeto + required: false + emailPrivado: + type: string + example: "private@example.com" + description: Email privado do Projeto + required: false + telefonePublico: + type: string + example: "+5511987654321" + description: Telefone público do Projeto + required: false + telefone1: + type: string + example: "+5511987654321" + description: Telefone 1 do Projeto + required: false + telefone2: + type: string + example: "+5511987654321" + description: Telefone 2 do Projeto + required: false + type: + type: string + example: "Festival" + description: Tipo do Projeto + enum: + - Ciclo + - Concurso + - Conferência Pública Estadual + - Conferência Pública Municipal + - Conferência Pública Nacional + - Conferência Pública Setorial + - Congresso + - Consulta + - Convenção + - Curso + - Edital + - Encontro + - Exibição + - Exposição + - Feira + - Festa Popular + - Festa Religiosa + - Festival + - Fórum + - Inscrições + - Intercâmbio Cultural + - Jornada + - Jornada + - Mostra + - Oficina + - Palestra + - Parada e Desfile Cívico + - Parada e Desfile Festivo + - Parada e Desfile Militar + - Parada e Desfile Político + - Parada e Desfile de Ações Afirmativas + - Pesquisa + - Programa + - Reunião + - Sarau + - Seminário + - Simpósio + required: true + singleUrl: + type: string + example: "https://example.com/single" + description: URL única do Projeto + required: false + editUrl: + type: string + example: "https://example.com/edit" + description: URL de edição do Projeto + required: false + '@file': + type: object + properties: + header: + type: array + items: + type: string + example: ["header"] + avatar: + type: array + items: + type: string + example: ["avatar", "avatarSmall", "avatarMedium", "avatarBig", "avatarEvent"] + downloads: + type: array + items: + type: string + example: ["downloads"] + gallery: + type: array + items: + type: string + example: ["gallery", "galleryThumb", "galleryFull"] + description: Arquivos associados ao Projeto + required: false diff --git a/public/docs/components/schemas/project.yaml b/public/docs/components/schemas/project.yaml new file mode 100644 index 0000000000..7906b07562 --- /dev/null +++ b/public/docs/components/schemas/project.yaml @@ -0,0 +1,231 @@ +type: object +properties: + id: + type: integer + example: 4 + description: Um id numérico que representa o Projeto + name: + type: string + example: "teste projeto" + description: Um texto que representa o nome do Projeto + shortDescription: + type: string + example: "teste de projeto" + description: Uma breve descrição do Projeto + longDescription: + type: string + nullable: true + description: Uma descrição detalhada do Projeto + updateTimestamp: + $ref: '../common-types/date.yaml' + startsOn: + type: string + format: date-time + nullable: true + description: Data de início do Projeto + endsOn: + type: string + format: date-time + nullable: true + description: Data de término do Projeto + createTimestamp: + $ref: '../common-types/date.yaml' + status: + type: integer + example: 1 + description: Um número que representa o status do Projeto + parent: + type: integer + nullable: true + description: ID do Projeto pai + owner: + type: integer + example: 1 + description: O Agente que criou o Projeto + subsite: + type: string + nullable: true + description: Subsite associado ao Projeto + currentUserPermissions: + type: object + properties: + '@control': + type: boolean + example: false + createEvents: + type: boolean + example: false + requestEventRelation: + type: boolean + example: false + view: + type: boolean + example: true + create: + type: boolean + example: false + modify: + type: boolean + example: false + remove: + type: boolean + example: false + _control: + type: boolean + example: false + viewPrivateFiles: + type: boolean + example: false + changeOwner: + type: boolean + example: false + viewPrivateData: + type: boolean + example: false + createAgentRelation: + type: boolean + example: false + createAgentRelationWithControl: + type: boolean + example: false + removeAgentRelation: + type: boolean + example: false + removeAgentRelationWithControl: + type: boolean + example: false + createSealRelation: + type: boolean + example: false + removeSealRelation: + type: boolean + example: false + destroy: + type: boolean + example: false + publish: + type: boolean + example: false + archive: + type: boolean + example: false + unarchive: + type: boolean + example: false + description: Permissões do usuário atual para o Projeto + children: + type: array + items: + type: string + description: Filhos do Projeto + events: + type: array + items: + type: string + description: Eventos associados ao Projeto + relatedOpportunities: + type: array + items: + type: string + description: Oportunidades relacionadas ao Projeto + terms: + type: object + properties: + tag: + type: array + items: + type: string + description: Termos associados ao Projeto + metalists: + type: array + items: + type: string + description: Metalistas associadas ao Projeto + files: + type: array + items: + type: string + description: Arquivos associados ao Projeto + seals: + type: array + items: + type: string + description: Selos associados ao Projeto + type: + type: object + properties: + id: + type: integer + example: 1 + name: + type: string + example: "Festival" + description: Tipo do Projeto + subsiteId: + type: integer + nullable: true + description: ID do subsite associado ao Projeto + site: + type: string + nullable: true + description: Site associado ao Projeto + facebook: + type: string + nullable: true + description: Facebook associado ao Projeto + twitter: + type: string + nullable: true + description: Twitter associado ao Projeto + instagram: + type: string + nullable: true + description: Instagram associado ao Projeto + linkedin: + type: string + nullable: true + description: LinkedIn associado ao Projeto + vimeo: + type: string + nullable: true + description: Vimeo associado ao Projeto + spotify: + type: string + nullable: true + description: Spotify associado ao Projeto + youtube: + type: string + nullable: true + description: YouTube associado ao Projeto + pinterest: + type: string + nullable: true + description: Pinterest associado ao Projeto + emailPublico: + type: string + nullable: true + description: Email público do Projeto + emailPrivado: + type: string + nullable: true + description: Email privado do Projeto + telefonePublico: + type: string + nullable: true + description: Telefone público do Projeto + telefone1: + type: string + nullable: true + description: Telefone 1 do Projeto + telefone2: + type: string + nullable: true + description: Telefone 2 do Projeto + relatedAgents: + type: string + nullable: true + description: Agentes relacionados ao Projeto + '@entityType': + type: string + example: project + description: Um texto que representa qual a entidade é retornada diff --git a/public/docs/openapi.yaml b/public/docs/openapi.yaml index d782e8f08b..432c0a060b 100644 --- a/public/docs/openapi.yaml +++ b/public/docs/openapi.yaml @@ -33,6 +33,11 @@ tags: externalDocs: description: Find out more url: http://swagger.io + - name: Projetos + description: Rotas relacionadas aos projetos + externalDocs: + description: Find out more + url: http://swagger.io - name: Selos description: Rotas relacionadas aos selos externalDocs: @@ -53,6 +58,10 @@ paths: $ref: './components/paths/opportunity/find-registrations.yaml' /api/opportunity/selectFields: $ref: './components/paths/opportunity/select-fields.yaml' + /api/project/describe: + $ref: './components/paths/project/describe.yaml' + /api/project/find: + $ref: './components/paths/project/find.yaml' /api/space/describe: $ref: './components/paths/space/describe.yaml' /api/space/find: @@ -83,6 +92,10 @@ components: $ref: './components/schemas/opportunity.yaml' OpportunityType: $ref: './components/schemas/opportunity-type.yaml' + ProjectDescribe: + $ref: './components/schemas/project-describe.yaml' + Project: + $ref: './components/schemas/project.yaml' Space: $ref: './components/schemas/space.yaml' SpaceType: