Nomedoplugin
GSeller Vendure Este é um plugin que adiciona a funcionalidade de produtos favoritos aos projetos GSeller Vendure.
Dependências
Certifique-se de ter as seguintes dependências instaladas (listadas em peerDependencies
no package.json
):
@nestjs/graphql
@vendure/cli
@vendure/core
graphql-tag
reflect-metadata
typeorm
Estrutura de Pastas e Arquivos
A estrutura do projeto é organizada para facilitar a compreensão e manutenção.
entity
Pasta A pasta entity
contém as definições das entidades usadas no projeto.
favorite.entity.ts
Arquivo Define a entidade Favorite
, representando a relação entre um cliente e um produto favorito.
api
Pasta Contém arquivos relacionados à API GraphQL do projeto.
api-extensions.ts
Arquivo Fornece extensões para o esquema GraphQL do Vendure, introduzindo tipos e operações adicionais relacionados à entidade Favorite
.
customer-entity.resolver.ts
Arquivo Resolver GraphQL para consultas relacionadas à entidade Customer
. Inclui a resolução para o campo favorites
, que retorna a lista de favoritos de um cliente.
favorite-entity.resolver.ts
Arquivo Resolver GraphQL para consultas relacionadas à entidade Favorite
. Inclui resoluções para os campos product
e customer
.
favorite-shop.resolver.ts
Arquivo Resolver GraphQL para operações de mutação e consulta relacionadas aos favoritos na loja. Inclui operações como toggleFavorite
para adicionar ou remover um produto da lista de favoritos, e activeFavorites
para obter a lista de favoritos ativos de um cliente.
constants.ts
Arquivo Contém constantes utilizadas no projeto, incluindo o símbolo PLUGIN_INIT_OPTIONS
e o contexto do logger para o plugin.
plugin.ts
Arquivo Ponto central do plugin, responsável por configurar e exportar o FavoritesPlugin
. Principais características:
-
Favorite
Entity: Adiciona a entidadeFavorite
ao array de entidades. -
adminApiExtensions
eshopApiExtensions
: Define extensões da API GraphQL para administração e loja, utilizando os arquivosapi-extensions.ts
,CustomerEntityResolver
,FavoriteEntityResolver
, eFavoriteShopResolver
. -
PluginInitOptions
: Define as opções de inicialização do plugin através da interfacePluginInitOptions
. -
init()
method: Configura as opções do plugin. Este método é chamado durante a inicialização do plugin no Vendure.
types.ts
Arquivo Contém a definição da interface PluginInitOptions
, especificando as opções de configuração para o plugin.
Observação: Certifique-se de incluir informações adicionais ou links para documentação específica dentro de cada arquivo, se necessário. Esta estrutura de documentação visa proporcionar uma compreensão clara das responsabilidades de cada arquivo nas pastas src
, api
, entities
do seu projeto.