Closed martijnvdbrug closed 1 month ago
This pull request introduces the initial setup for the vendure-plugin-campaign-tracker
, marking its first version (0.0.1). It includes the creation of a changelog, README documentation outlining integration steps, and the addition of new GraphQL API extensions for campaign tracking. The plugin allows tracking of campaign revenue and includes various attribution models. Additional files include service implementations, entity definitions, utility functions, and test configurations to support the functionality of the plugin.
File | Change Summary |
---|---|
packages/vendure-plugin-campaign-tracker/CHANGELOG.md |
Added initial changelog entry for version 0.0.1. |
packages/vendure-plugin-campaign-tracker/README.md |
Documented plugin implementation details, including attribution models and setup instructions. |
packages/vendure-plugin-campaign-tracker/eslint.config.js |
Introduced ESLint configuration extending base settings with TypeScript options. |
packages/vendure-plugin-campaign-tracker/src/api/api-extensions.ts |
Added GraphQL API extensions, including scalar types, Campaign type, and mutations for campaign management. |
packages/vendure-plugin-campaign-tracker/src/api/campaign-tracker-admin.resolver.ts |
Created resolver for admin campaign management with methods for querying and mutating campaigns. |
packages/vendure-plugin-campaign-tracker/src/api/campaign-tracker-shop.resolver.ts |
Introduced resolver for shop context to handle campaign-related mutations. |
packages/vendure-plugin-campaign-tracker/src/campaign-tracker.plugin.ts |
Defined CampaignTrackerPlugin class with configuration options and API extensions. |
packages/vendure-plugin-campaign-tracker/src/constants.ts |
Added constants for plugin options and logging context. |
packages/vendure-plugin-campaign-tracker/src/entities/campaign.entity.ts |
Created Campaign entity class with properties for tracking campaign data. |
packages/vendure-plugin-campaign-tracker/src/entities/order-campaign.entity.ts |
Added OrderCampaign entity to represent the relationship between orders and campaigns. |
packages/vendure-plugin-campaign-tracker/src/index.ts |
Established entry point for exporting campaign tracker modules. |
packages/vendure-plugin-campaign-tracker/src/services/attribution-models.spec.ts |
Introduced unit tests for attribution models. |
packages/vendure-plugin-campaign-tracker/src/services/attribution-models.ts |
Defined interfaces and classes for campaign attribution models. |
packages/vendure-plugin-campaign-tracker/src/services/campaign-tracker.service.ts |
Implemented service class for managing campaigns, including methods for CRUD operations and revenue calculations. |
packages/vendure-plugin-campaign-tracker/src/services/campaign-util.spec.ts |
Added unit tests for utility functions related to campaign revenue calculations. |
packages/vendure-plugin-campaign-tracker/src/services/campaign-util.ts |
Introduced utility functions for date checks and revenue calculations. |
packages/vendure-plugin-campaign-tracker/src/types.ts |
Added TypeScript interfaces for campaign options and order data structures. |
packages/vendure-plugin-campaign-tracker/src/ui/queries.ts |
Created new GraphQL queries and mutations for campaign management. |
packages/vendure-plugin-campaign-tracker/test/dev-server.ts |
Set up a testing environment for the plugin. |
packages/vendure-plugin-campaign-tracker/test/e2e.spec.ts |
Introduced end-to-end tests for campaign tracking functionalities. |
packages/vendure-plugin-campaign-tracker/test/queries.ts |
Added GraphQL mutation for adding campaigns to orders. |
packages/vendure-plugin-campaign-tracker/vitest.config.js |
Configured Vitest for testing with SWC integration. |
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
Description
New plugin for tracking campaigns server side.
campaign=spring_sale_2024
Screenshots
Checklist
📌 Always:
👍 Most of the time:
📦 For publishable packages:
package.json
CHANGELOG.md
See this example