Skip to content
This repository has been archived by the owner on Sep 3, 2024. It is now read-only.

Commit

Permalink
dockerfile
Browse files Browse the repository at this point in the history
  • Loading branch information
p-zielinski committed Jan 16, 2024
1 parent 13ce22d commit 8a45687
Show file tree
Hide file tree
Showing 31 changed files with 1,804 additions and 147 deletions.
22 changes: 22 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Stage 1: Build stage
FROM composer:2.6.6 AS composer

WORKDIR /app

VOLUME /app/data

COPY . .

RUN composer install


# Stage 2: Final image
FROM php:8.3

WORKDIR /app

COPY --from=composer /app /app

VOLUME /app/data

CMD ["php", "-S", "0.0.0.0:5050", "./__tests__/index.php"]
16 changes: 7 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -272,8 +272,6 @@ Class | Method | HTTP request | Description
- [ClientEventsCreateRequestBodyReferral](docs/Model/ClientEventsCreateRequestBodyReferral.md)
- [ClientEventsCreateResponseBody](docs/Model/ClientEventsCreateResponseBody.md)
- [ClientQualificationsCheckEligibilityRequestBody](docs/Model/ClientQualificationsCheckEligibilityRequestBody.md)
- [ClientQualificationsCheckEligibilityRequestBodyOptions](docs/Model/ClientQualificationsCheckEligibilityRequestBodyOptions.md)
- [ClientQualificationsCheckEligibilityRequestBodyOptionsFilters](docs/Model/ClientQualificationsCheckEligibilityRequestBodyOptionsFilters.md)
- [ClientQualificationsCheckEligibilityResponseBody](docs/Model/ClientQualificationsCheckEligibilityResponseBody.md)
- [ClientRedemptionsRedeemRequestBody](docs/Model/ClientRedemptionsRedeemRequestBody.md)
- [ClientRedemptionsRedeemRequestBodyAllOfOptions](docs/Model/ClientRedemptionsRedeemRequestBodyAllOfOptions.md)
Expand Down Expand Up @@ -607,6 +605,8 @@ Class | Method | HTTP request | Description
- [QualificationsCheckEligibilityResponseBody](docs/Model/QualificationsCheckEligibilityResponseBody.md)
- [QualificationsFieldConditions](docs/Model/QualificationsFieldConditions.md)
- [QualificationsFiltersCondition](docs/Model/QualificationsFiltersCondition.md)
- [QualificationsOption](docs/Model/QualificationsOption.md)
- [QualificationsOptionFilters](docs/Model/QualificationsOptionFilters.md)
- [QualificationsRedeemable](docs/Model/QualificationsRedeemable.md)
- [QualificationsRedeemableBase](docs/Model/QualificationsRedeemableBase.md)
- [QualificationsRedeemables](docs/Model/QualificationsRedeemables.md)
Expand Down Expand Up @@ -885,14 +885,12 @@ Class | Method | HTTP request | Description
- **Location**: URL query string


## Tests
## Run local tests with docker

To run the tests, use:

```bash
composer install
vendor/bin/phpunit
```
1. Copy `.env.example` to `.env` and fill in the values.
2. Run `docker build -t php .` to build the image.
3. Run `docker run --rm php` to run the tests and delete container immediately after.
4. Make changes Your desire and run again command from step 3. It uses volumes so no need to rebuild the image.

## Author

Expand Down
324 changes: 324 additions & 0 deletions __tests__/index.php

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions docs/Model/BusValRuleAssignment.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Name | Type | Description | Notes
**created_at** | **\DateTime** | Timestamp representing the date and time when the object was created in ISO 8601 format. | [optional]
**updated_at** | **\DateTime** | Timestamp representing the date and time when the object was last updated in ISO 8601 format. | [optional]
**object** | **string** | The type of object represented by JSON. | [default to 'validation_rules_assignment']
**validation_status** | **string** | The validation status of the assignment |
**validation_omitted_rules** | **string[]** | The list of omitted rules |
**validation_status** | **string** | The validation status of the assignment | [optional]
**validation_omitted_rules** | **string[]** | The list of omitted rules | [optional]

[[Back to Model list]](../../README.md#models) [[Back to API list]](../../README.md#endpoints) [[Back to README]](../../README.md)
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Name | Type | Description | Notes
**mode** | **string** | Defines which resources Voucherify will use. The `ADVANCED` mode is available after purchase only. | [optional]
**tracking_id** | **string** | Is correspondent to Customer's source_id | [optional]
**scenario** | **string** | Defines the scenario Voucherify should consider during the qualification process. - `ALL` - Scenario that returns all redeemables available for the customer in one API request. This scenario is used by default when no value is selected. - `CUSTOMER_WALLET` - returns vouchers applicable to the customer’s cart based on the vouchers assigned to the customer’s profile. - `AUDIENCE_ONLY` - returns all vouchers, promotion tiers, and campaigns available to the customer. Voucherify validates the rules based on the customer profile only. - `PRODUCTS` - returns all promotions available for the products (when a discount is defined to be applied to the item or when the item is required in the validation rule). - `PRODUCTS_DISCOUNT` - returns all promotions available for products when a discount is defined as applicable to specific item(s). - `PROMOTION_STACKS` - returns the applicable promotion stacks. - `PRODUCTS_BY_CUSTOMER` - returns all promotions available for a customer for the products (when a discount is defined to be applied to the item or when the item is required in the validation rule). - `PRODUCTS_DISCOUNT_BY_CUSTOMER` - returns all promotions available for a customer for products when a discount is defined as applicable to specific item(s). | [optional]
**options** | [**\OpenAPI\Client\Model\ClientQualificationsCheckEligibilityRequestBodyOptions**](ClientQualificationsCheckEligibilityRequestBodyOptions.md) | | [optional]
**options** | [**\OpenAPI\Client\Model\QualificationsOption**](QualificationsOption.md) | | [optional]
**metadata** | **object** | A set of key/value pairs that you can send in the request body to check against redeemables requiring **redemption** metadata validation rules to be satisfied. The validation runs against rules that are defined through the <!-- [Create Validation Rules](https://docs.voucherify.io/reference/create-validation-rules) -->[Create Validation Rules](ref:create-validation-rules) endpoint or via the Dashboard; in the _Advanced Rule Builder_ → _Advanced_ → _Redemption metadata satisfy_ or _Basic Builder_ → _Attributes match_ → _REDEMPTION METADATA_. [Read more](https://support.voucherify.io/article/148-how-to-build-a-rule). | [optional]

[[Back to Model list]](../../README.md#models) [[Back to API list]](../../README.md#endpoints) [[Back to README]](../../README.md)
2 changes: 1 addition & 1 deletion docs/Model/CustomerActivityDataOrderItemsItem.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ Name | Type | Description | Notes
**initial_quantity** | **int** | A positive integer in the smallest unit quantity representing the total amount of the order; this is the sum of the order items' quantity. | [optional]
**amount** | **int** | The total amount of the order item (price * quantity). | [optional]
**discount_amount** | **int** | Sum of all order-item-level discounts applied to the order. | [optional]
**applied_discount_amount** | **int** | This field shows the order-level discount applied. | [optional]
**initial_amount** | **int** | A positive integer in the smallest currency unit (e.g. 100 cents for $1.00) representing the total amount of the order. This is the sum of the order items' amounts. | [optional]
**total_applied_discount_amount** | **int** | Sum of all order-level AND all product-specific discounts applied in a particular request. `total_applied_discount_amount` = `applied_discount_amount` + `items_applied_discount_amount` | [optional]
**price** | **int** | Unit price of an item. Value is multiplied by 100 to precisely represent 2 decimal places. For example `10000 cents` for `$100.00`. | [optional]
Expand All @@ -21,6 +22,5 @@ Name | Type | Description | Notes
**sku** | [**\OpenAPI\Client\Model\CustomerActivityDataOrderItemsItemSku**](CustomerActivityDataOrderItemsItemSku.md) | | [optional]
**object** | **string** | | [optional] [default to 'order_item']
**metadata** | **object** | | [optional]
**applied_discount_amount** | **int** | This field shows the order-level discount applied. | [optional]

[[Back to Model list]](../../README.md#models) [[Back to API list]](../../README.md#endpoints) [[Back to README]](../../README.md)
2 changes: 1 addition & 1 deletion docs/Model/CustomerActivityDataRedemptionOrderItemsItem.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ Name | Type | Description | Notes
**initial_quantity** | **int** | A positive integer in the smallest unit quantity representing the total amount of the order; this is the sum of the order items' quantity. | [optional]
**amount** | **int** | The total amount of the order item (price * quantity). | [optional]
**discount_amount** | **int** | Sum of all order-item-level discounts applied to the order. | [optional]
**applied_discount_amount** | **int** | This field shows the order-level discount applied. | [optional]
**initial_amount** | **int** | A positive integer in the smallest currency unit (e.g. 100 cents for $1.00) representing the total amount of the order. This is the sum of the order items' amounts. | [optional]
**total_applied_discount_amount** | **int** | Sum of all order-level AND all product-specific discounts applied in a particular request. `total_applied_discount_amount` = `applied_discount_amount` + `items_applied_discount_amount` | [optional]
**price** | **int** | Unit price of an item. Value is multiplied by 100 to precisely represent 2 decimal places. For example `10000 cents` for `$100.00`. | [optional]
Expand All @@ -21,6 +22,5 @@ Name | Type | Description | Notes
**sku** | [**\OpenAPI\Client\Model\CustomerActivityDataRedemptionOrderItemsItemSku**](CustomerActivityDataRedemptionOrderItemsItemSku.md) | | [optional]
**object** | **string** | | [optional] [default to 'order_item']
**metadata** | **object** | | [optional]
**applied_discount_amount** | **int** | This field shows the order-level discount applied. | [optional]

[[Back to Model list]](../../README.md#models) [[Back to API list]](../../README.md#endpoints) [[Back to README]](../../README.md)
2 changes: 1 addition & 1 deletion docs/Model/OrderCalculated.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **string** | Unique ID assigned by Voucherify of an existing order that will be linked to the redemption of this request. |
**id** | **string** | Unique ID assigned by Voucherify of an existing order that will be linked to the redemption of this request. | [optional]
**source_id** | **string** | Unique source ID of an existing order that will be linked to the redemption of this request. |
**created_at** | **\DateTime** | Timestamp representing the date and time when the order was created in ISO 8601 format. | [optional]
**updated_at** | **\DateTime** | Timestamp representing the date and time when the order was last updated in ISO 8601 format. | [optional]
Expand Down
2 changes: 1 addition & 1 deletion docs/Model/OrderCalculatedBase.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **string** | Unique ID assigned by Voucherify of an existing order that will be linked to the redemption of this request. |
**id** | **string** | Unique ID assigned by Voucherify of an existing order that will be linked to the redemption of this request. | [optional]
**source_id** | **string** | Unique source ID of an existing order that will be linked to the redemption of this request. |
**created_at** | **\DateTime** | Timestamp representing the date and time when the order was created in ISO 8601 format. | [optional]
**updated_at** | **\DateTime** | Timestamp representing the date and time when the order was last updated in ISO 8601 format. | [optional]
Expand Down
2 changes: 1 addition & 1 deletion docs/Model/OrderCalculatedNoCustomerData.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **string** | Unique ID assigned by Voucherify of an existing order that will be linked to the redemption of this request. |
**id** | **string** | Unique ID assigned by Voucherify of an existing order that will be linked to the redemption of this request. | [optional]
**source_id** | **string** | Unique source ID of an existing order that will be linked to the redemption of this request. |
**created_at** | **\DateTime** | Timestamp representing the date and time when the order was created in ISO 8601 format. | [optional]
**updated_at** | **\DateTime** | Timestamp representing the date and time when the order was last updated in ISO 8601 format. | [optional]
Expand Down
1 change: 1 addition & 0 deletions docs/Model/OrderItemCalculated.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ Name | Type | Description | Notes
**initial_quantity** | **int** | A positive integer in the smallest unit quantity representing the total amount of the order; this is the sum of the order items' quantity. | [optional]
**amount** | **int** | The total amount of the order item (price * quantity). | [optional]
**discount_amount** | **int** | Sum of all order-item-level discounts applied to the order. | [optional]
**applied_discount_amount** | **int** | This field shows the order-level discount applied. | [optional]
**initial_amount** | **int** | A positive integer in the smallest currency unit (e.g. 100 cents for $1.00) representing the total amount of the order. This is the sum of the order items' amounts. | [optional]
**total_applied_discount_amount** | **int** | Sum of all order-level AND all product-specific discounts applied in a particular request. `total_applied_discount_amount` = `applied_discount_amount` + `items_applied_discount_amount` | [optional]
**price** | **int** | Unit price of an item. Value is multiplied by 100 to precisely represent 2 decimal places. For example `10000 cents` for `$100.00`. | [optional]
Expand Down
2 changes: 1 addition & 1 deletion docs/Model/OrdersCreateResponseBody.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **string** | Unique ID assigned by Voucherify of an existing order that will be linked to the redemption of this request. |
**id** | **string** | Unique ID assigned by Voucherify of an existing order that will be linked to the redemption of this request. | [optional]
**source_id** | **string** | Unique source ID of an existing order that will be linked to the redemption of this request. |
**created_at** | **\DateTime** | Timestamp representing the date and time when the order was created in ISO 8601 format. | [optional]
**updated_at** | **\DateTime** | Timestamp representing the date and time when the order was last updated in ISO 8601 format. | [optional]
Expand Down
2 changes: 1 addition & 1 deletion docs/Model/OrdersGetResponseBody.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **string** | Unique ID assigned by Voucherify of an existing order that will be linked to the redemption of this request. |
**id** | **string** | Unique ID assigned by Voucherify of an existing order that will be linked to the redemption of this request. | [optional]
**source_id** | **string** | Unique source ID of an existing order that will be linked to the redemption of this request. |
**created_at** | **\DateTime** | Timestamp representing the date and time when the order was created in ISO 8601 format. | [optional]
**updated_at** | **\DateTime** | Timestamp representing the date and time when the order was last updated in ISO 8601 format. | [optional]
Expand Down
2 changes: 1 addition & 1 deletion docs/Model/OrdersUpdateResponseBody.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **string** | Unique ID assigned by Voucherify of an existing order that will be linked to the redemption of this request. |
**id** | **string** | Unique ID assigned by Voucherify of an existing order that will be linked to the redemption of this request. | [optional]
**source_id** | **string** | Unique source ID of an existing order that will be linked to the redemption of this request. |
**created_at** | **\DateTime** | Timestamp representing the date and time when the order was created in ISO 8601 format. | [optional]
**updated_at** | **\DateTime** | Timestamp representing the date and time when the order was last updated in ISO 8601 format. | [optional]
Expand Down
2 changes: 1 addition & 1 deletion docs/Model/QualificationsCheckEligibilityRequestBody.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Name | Type | Description | Notes
**mode** | **string** | Defines which resources Voucherify will use. The `ADVANCED` mode is available after purchase only. | [optional]
**tracking_id** | **string** | Is correspondent to Customer's source_id | [optional]
**scenario** | **string** | Defines the scenario Voucherify should consider during the qualification process. - `ALL` - Scenario that returns all redeemables available for the customer in one API request. This scenario is used by default when no value is selected. - `CUSTOMER_WALLET` - returns vouchers applicable to the customer’s cart based on the vouchers assigned to the customer’s profile. - `AUDIENCE_ONLY` - returns all vouchers, promotion tiers, and campaigns available to the customer. Voucherify validates the rules based on the customer profile only. - `PRODUCTS` - returns all promotions available for the products (when a discount is defined to be applied to the item or when the item is required in the validation rule). - `PRODUCTS_DISCOUNT` - returns all promotions available for products when a discount is defined as applicable to specific item(s). - `PROMOTION_STACKS` - returns the applicable promotion stacks. - `PRODUCTS_BY_CUSTOMER` - returns all promotions available for a customer for the products (when a discount is defined to be applied to the item or when the item is required in the validation rule). - `PRODUCTS_DISCOUNT_BY_CUSTOMER` - returns all promotions available for a customer for products when a discount is defined as applicable to specific item(s). | [optional]
**options** | [**\OpenAPI\Client\Model\ClientQualificationsCheckEligibilityRequestBodyOptions**](ClientQualificationsCheckEligibilityRequestBodyOptions.md) | | [optional]
**options** | [**\OpenAPI\Client\Model\QualificationsOption**](QualificationsOption.md) | | [optional]
**metadata** | **object** | A set of key/value pairs that you can send in the request body to check against redeemables requiring **redemption** metadata validation rules to be satisfied. The validation runs against rules that are defined through the <!-- [Create Validation Rules](https://docs.voucherify.io/reference/create-validation-rules) -->[Create Validation Rules](ref:create-validation-rules) endpoint or via the Dashboard; in the _Advanced Rule Builder_ → _Advanced_ → _Redemption metadata satisfy_ or _Basic Builder_ → _Attributes match_ → _REDEMPTION METADATA_. [Read more](https://support.voucherify.io/article/148-how-to-build-a-rule). | [optional]

[[Back to Model list]](../../README.md#models) [[Back to API list]](../../README.md#endpoints) [[Back to README]](../../README.md)
13 changes: 13 additions & 0 deletions docs/Model/QualificationsOption.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# # QualificationsOption

## Properties

Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**limit** | **int** | The maximum number of redeemables to be returned in the API request. The actual number of returned redeemables will be determined by the API. The default value is set to 5 | [optional]
**starting_after** | **\DateTime** | Cursor used for paging. | [optional]
**filters** | [**\OpenAPI\Client\Model\QualificationsOptionFilters**](QualificationsOptionFilters.md) | | [optional]
**expand** | **string[]** | The expand array lets you configure the parameters included in the response. Depending on the strings included in the array, the response will contain different details. | **Expand Option** | **Response Body** | |:---|:---| | [\"redeemable\"] | - Returns the redeemables' metadata. | | [\"category\"] | - Returns an expanded `categories` object, showing details about the category. | | [\"validation_rules\"] | - Returns an expanded `validation_rules` object, showing details about the validation rules. | | [optional]
**sorting_rule** | **string** | Is used to determine the order in which data is displayed in the result array. - `DEFAULT` - Sorting descending by `created_at` - `BEST_DEAL` - Sorting descending by `total_applied_discount_amount` - `LEAST_DEAL` - Sorting ascending by `total_applied_discount_amount` | [optional]

[[Back to Model list]](../../README.md#models) [[Back to API list]](../../README.md#endpoints) [[Back to README]](../../README.md)
Loading

0 comments on commit 8a45687

Please sign in to comment.