Skip to content

Commit

Permalink
Merge branch 'master' into magento2.3.x
Browse files Browse the repository at this point in the history
Conflicts:
	Controller/Privacy/Erase.php
	Controller/Privacy/ErasePost.php
	Controller/Privacy/Export.php
	Controller/Privacy/Settings.php
	Controller/Privacy/UndoErase.php
	etc/module.xml
  • Loading branch information
thomas-kl1 committed Nov 20, 2019
2 parents 9648589 + ecc2c23 commit 2feadce
Show file tree
Hide file tree
Showing 300 changed files with 7,670 additions and 3,688 deletions.
12 changes: 12 additions & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# These are supported funding model platforms

#github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
patreon: thomas_klein # Replace with a single Patreon username
#open_collective: # Replace with a single Open Collective username
#ko_fi: # Replace with a single Ko-fi username
#tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
#community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
#liberapay: # Replace with a single Liberapay username
#issuehunt: # Replace with a single IssueHunt username
#otechie: # Replace with a single Otechie username
custom: ['https://secure.payplug.com/p/jlnSz'] # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
59 changes: 59 additions & 0 deletions Api/ActionEntityRepositoryInterface.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
<?php
/**
* Copyright © OpenGento, All rights reserved.
* See LICENSE bundled with this library for license details.
*/
declare(strict_types=1);

namespace Opengento\Gdpr\Api;

use Magento\Framework\Api\SearchCriteriaInterface;
use Magento\Framework\Exception\CouldNotDeleteException;
use Magento\Framework\Exception\CouldNotSaveException;
use Magento\Framework\Exception\LocalizedException;
use Magento\Framework\Exception\NoSuchEntityException;
use Opengento\Gdpr\Api\Data\ActionEntityInterface;
use Opengento\Gdpr\Api\Data\ActionEntitySearchResultsInterface;

/**
* @api
*/
interface ActionEntityRepositoryInterface
{
/**
* Save action entity
*
* @param ActionEntityInterface $actionEntity
* @return ActionEntityInterface
* @throws CouldNotSaveException
*/
public function save(ActionEntityInterface $actionEntity): ActionEntityInterface;

/**
* Retrieve action entity by ID
*
* @param int $actionId
* @return ActionEntityInterface
* @throws NoSuchEntityException
*/
public function getById(int $actionId): ActionEntityInterface;

/**
* Retrieve action entity list by search filter criteria
*
* @param SearchCriteriaInterface $searchCriteria
* @return ActionEntitySearchResultsInterface
* @throws LocalizedException
*/
public function getList(SearchCriteriaInterface $searchCriteria): ActionEntitySearchResultsInterface;

/**
* Delete action entity
*
* @param ActionEntityInterface $actionEntity
* @return bool true on success
* @throws NoSuchEntityException
* @throws CouldNotDeleteException
*/
public function delete(ActionEntityInterface $actionEntity): bool;
}
25 changes: 25 additions & 0 deletions Api/ActionInterface.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
<?php
/**
* Copyright © OpenGento, All rights reserved.
* See LICENSE bundled with this library for license details.
*/
declare(strict_types=1);

namespace Opengento\Gdpr\Api;

use Magento\Framework\Exception\LocalizedException;
use Opengento\Gdpr\Api\Data\ActionContextInterface;
use Opengento\Gdpr\Api\Data\ActionResultInterface;

/**
* @api
*/
interface ActionInterface
{
/**
* @param ActionContextInterface $actionContext
* @return ActionResultInterface
* @throws LocalizedException
*/
public function execute(ActionContextInterface $actionContext): ActionResultInterface;
}
69 changes: 69 additions & 0 deletions Api/AgreementRepositoryInterface.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
<?php
/**
* Copyright © OpenGento, All rights reserved.
* See LICENSE bundled with this library for license details.
*/
declare(strict_types=1);

namespace Opengento\Gdpr\Api;

use Magento\Framework\Api\SearchCriteriaInterface;
use Magento\Framework\Exception\CouldNotDeleteException;
use Magento\Framework\Exception\CouldNotSaveException;
use Magento\Framework\Exception\LocalizedException;
use Magento\Framework\Exception\NoSuchEntityException;
use Opengento\Gdpr\Api\Data\AgreementInterface;
use Opengento\Gdpr\Api\Data\AgreementSearchResultsInterface;

/**
* @api
*/
interface AgreementRepositoryInterface
{
/**
* Save agreement
*
* @param AgreementInterface $agreement
* @return AgreementInterface
* @throws CouldNotSaveException
*/
public function save(AgreementInterface $agreement): AgreementInterface;

/**
* Retrieve agreement by ID
*
* @param int $agreementId
* @return AgreementInterface
* @throws NoSuchEntityException
*/
public function getById(int $agreementId): AgreementInterface;

/**
* Retrieve agreement by identifier and scope
*
* @param string $identifier
* @param int $storeId
* @return AgreementInterface
* @throws NoSuchEntityException
*/
public function getByIdentifier(string $identifier, int $storeId): AgreementInterface;

/**
* Retrieve agreement list by search filter criteria
*
* @param SearchCriteriaInterface $searchCriteria
* @return AgreementSearchResultsInterface
* @throws LocalizedException
*/
public function getList(SearchCriteriaInterface $searchCriteria): AgreementSearchResultsInterface;

/**
* Delete agreement
*
* @param AgreementInterface $agreement
* @return bool true on success
* @throws NoSuchEntityException
* @throws CouldNotDeleteException
*/
public function delete(AgreementInterface $agreement): bool;
}
17 changes: 17 additions & 0 deletions Api/Data/ActionContextInterface.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<?php
/**
* Copyright © OpenGento, All rights reserved.
* See LICENSE bundled with this library for license details.
*/
declare(strict_types=1);

namespace Opengento\Gdpr\Api\Data;

interface ActionContextInterface
{
public function getPerformedFrom(): string;

public function getPerformedBy(): string;

public function getParameters(): array;
}
59 changes: 59 additions & 0 deletions Api/Data/ActionEntityInterface.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
<?php
/**
* Copyright © OpenGento, All rights reserved.
* See LICENSE bundled with this library for license details.
*/
declare(strict_types=1);

namespace Opengento\Gdpr\Api\Data;

use Magento\Framework\Api\ExtensibleDataInterface;

/**
* @api
*/
interface ActionEntityInterface extends ActionContextInterface, ActionResultInterface, ExtensibleDataInterface
{
/**
* Constants for fields keys
*/
public const ID = 'action_id';
public const TYPE = 'type';
public const PERFORMED_FROM = 'performed_from';
public const PERFORMED_BY = 'performed_by';
public const PERFORMED_AT = 'performed_at';
public const STATE = 'state';
public const MESSAGE = 'message';
public const PARAMETERS = 'parameters';
public const RESULT = 'result';

/**
* Constants for State values
*/
public const STATE_SUCCEEDED = 'succeeded';
public const STATE_FAILED = 'failed';

public function getActionId(): int;

public function setActionId(int $actionId): ActionEntityInterface;

public function getType(): string;

public function setType(string $type): ActionEntityInterface;

public function setPerformedFrom(?string $performedFrom): ActionEntityInterface;

public function setPerformedBy(?string $performedBy): ActionEntityInterface;

public function setPerformedAt(string $performedAt): ActionEntityInterface;

public function setState(string $state): ActionEntityInterface;

public function getMessage(): string;

public function setMessage(string $message): ActionEntityInterface;

public function setParameters(array $parameters): ActionEntityInterface;

public function setResult(array $result): ActionEntityInterface;
}
31 changes: 31 additions & 0 deletions Api/Data/ActionEntitySearchResultsInterface.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
<?php
/**
* Copyright © OpenGento, All rights reserved.
* See LICENSE bundled with this library for license details.
*/
declare(strict_types=1);

namespace Opengento\Gdpr\Api\Data;

use Magento\Framework\Api\SearchResultsInterface;

/**
* @api
*/
interface ActionEntitySearchResultsInterface extends SearchResultsInterface
{
/**
* Retrieve the action entity list
*
* @return ActionEntityInterface[]
*/
public function getItems(): array;

/**
* Set the action entity list
*
* @param ActionEntityInterface[] $items
* @return ActionEntitySearchResultsInterface
*/
public function setItems(array $items): ActionEntitySearchResultsInterface;
}
21 changes: 21 additions & 0 deletions Api/Data/ActionResultInterface.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
<?php
/**
* Copyright © OpenGento, All rights reserved.
* See LICENSE bundled with this library for license details.
*/
declare(strict_types=1);

namespace Opengento\Gdpr\Api\Data;

use DateTime;

interface ActionResultInterface
{
public function getPerformedAt(): DateTime;

public function getState(): string;

public function getMessage(): string;

public function getResult(): array;
}
55 changes: 55 additions & 0 deletions Api/Data/AgreementInterface.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
<?php
/**
* Copyright © OpenGento, All rights reserved.
* See LICENSE bundled with this library for license details.
*/
declare(strict_types=1);

namespace Opengento\Gdpr\Api\Data;

use Magento\Framework\Api\ExtensibleDataInterface;

/**
* @api
*/
interface AgreementInterface extends ExtensibleDataInterface
{
/**
* Constants for fields keys
*/
public const ID = 'agreement_id';
public const IDENTIFIER = 'identifier';
public const IS_ACTIVE = 'is_active';
public const IS_MANDATORY = 'is_mandatory';
public const TITLE = 'title';
public const LABEL = 'label';
public const CONTENT = 'content';

public function getAgreementId(): int;

public function setAgreementId(int $agreementId): AgreementInterface;

public function getIdentifier(): string;

public function setIdentifier(string $identifier): AgreementInterface;

public function getIsActive(): bool;

public function setIsActive(bool $isActive): AgreementInterface;

public function getIsMandatory(): bool;

public function setIsMandatory(bool $isMandatory): AgreementInterface;

public function getTitle(): string;

public function setTitle(string $title): AgreementInterface;

public function getLabel(): string;

public function setLabel(string $label): AgreementInterface;

public function getContent(): string;

public function setContent(string $content): AgreementInterface;
}
31 changes: 31 additions & 0 deletions Api/Data/AgreementSearchResultsInterface.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
<?php
/**
* Copyright © OpenGento, All rights reserved.
* See LICENSE bundled with this library for license details.
*/
declare(strict_types=1);

namespace Opengento\Gdpr\Api\Data;

use Magento\Framework\Api\SearchResultsInterface;

/**
* @api
*/
interface AgreementSearchResultsInterface extends SearchResultsInterface
{
/**
* Retrieve the agreement entities list
*
* @return AgreementInterface[]
*/
public function getItems(): array;

/**
* Set the agreement entity list
*
* @param AgreementInterface[] $items
* @return AgreementSearchResultsInterface
*/
public function setItems(array $items): AgreementSearchResultsInterface;
}
Loading

0 comments on commit 2feadce

Please sign in to comment.