Skip to content

Next

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
    • Help
    • Submit feedback
    • Contribute to GitLab
    • Switch to GitLab Next
  • Sign in / Register
Minds Backend - Engine
Minds Backend - Engine
  • Project
    • Project
    • Details
    • Activity
    • Releases
    • Cycle Analytics
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Charts
    • Locked Files
  • Issues 157
    • Issues 157
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 40
    • Merge Requests 40
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
    • Charts
  • Registry
    • Registry
  • Packages
    • Packages
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Charts
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • Minds
  • Minds Backend - EngineMinds Backend - Engine
  • Merge Requests
  • !207

Open
Opened 3 days ago by Emiliano Balbuena@edgebal
  • Report abuse
Report abuse

WIP: (feat): Boost Campaigns module

Check out, review, and merge locally

Step 1. Fetch and check out the branch for this merge request

git fetch https://gitlab.com/edgebal/engine.git goal/campaigns-1
git checkout -b edgebal/engine-goal/campaigns-1 FETCH_HEAD

Step 2. Review the changes locally

Step 3. Merge the branch and fix any conflicts that come up

git fetch origin
git checkout origin/master
git merge --no-ff edgebal/engine-goal/campaigns-1

Step 4. Push the result of the merge to GitLab

git push origin master

Note that pushing to GitLab requires write access to this repository.

Tip: You can also checkout merge requests locally by following these guidelines.

Request to merge edgebal:goal/campaigns-1 into master
The source branch is 8 commits behind the target branch
Open in Web IDE
  • Email patches
  • Plain diff
Pipeline #66673539 (#557) passed for ad87348f on edgebal:goal/campaigns-1
      Requires 2 more approvals from Devs.
      Martin Santangelo
      Martin Santangelo
      Mark Harding
      Mark Harding
      Marcelo Rivera
      Marcelo Rivera
      Ben Hayward
      Ben Hayward
      Rami Albatal
      Rami Albatal
      This is a Work in Progress

      Allows commits from members who can merge to the target branch

      Deletes source branch

      You can merge this merge request manually using the
      • Discussion 4
      • Commits 2
      • Pipelines 2
      • Changes 7
      0/4 discussions resolved
      • Loading...
      • Emiliano Balbuena @edgebal added 1 commit 6 hours ago

        added 1 commit

        • ad87348f - (proto): Create campaign normalization and validation

        Compare with previous version

      • Mark Harding
        Mark Harding @markeharding started a discussion on the diff 17 minutes ago
        Controllers/api/v2/boost/campaigns.php
        37 if ($limit > 50 || $limit < 0) {
        38 $limit = 12;
        39 }
        40
        41 $guid = '';
        42
        43 if ($urn) {
        44 $limit = 1;
        45 $offset = '';
        46
        47 $urn = new Urn($urn);
        48 $guid = (string) $urn->getNss();
        49 }
        50
        51 /** @var Repository $repository */
        52 $repository = Di::_()->get('Boost\Campaigns\Repository');
        • Mark Harding
          Mark Harding @markeharding · 17 minutes ago
          Owner

          Should always be manager

        Please register or sign in to reply
      • Mark Harding
        Mark Harding @markeharding started a discussion on the diff 16 minutes ago
        Controllers/api/v2/boost/campaigns.php
        64 ]);
        65 }
        66
        67 /**
        68 * Equivalent to HTTP POST method
        69 * @param array $pages
        70 * @return mixed|null
        71 */
        72 public function post($pages)
        73 {
        74 $campaign = new Campaign();
        75
        76 $campaign
        77 ->setName(trim($_POST['name'] ?? ''))
        78 ->setType($_POST['type'] ?? '')
        79 ->setEntityUrns($_POST['entity_urns'] ?? null)
        • Mark Harding
          Mark Harding @markeharding · 16 minutes ago
          Owner

          Can we assume formatting being sent? Json object vs comma vs array?

        Please register or sign in to reply
      • Mark Harding
        Mark Harding @markeharding started a discussion on the diff 14 minutes ago
        Core/Boost/Campaigns/Manager.php
        118 throw new CampaignException('Campaign should have a budget');
        119 }
        120
        121 // TODO: Validate offchain balance, or set as pending for onchain
        122
        123 // Generate URN
        124
        125 $guid = $this->guid->build();
        126 $urn = "urn:campaign:{$guid}";
        127
        128 $campaign
        129 ->setUrn($urn);
        130
        131 // Normalize and validate entity URNs
        132
        133 $entityUrns = array_values(array_unique(array_filter(Text::buildArray($campaign->getEntityUrns()))));
        • Mark Harding
          Mark Harding @markeharding · 14 minutes ago
          Owner

          :head_bandage: not sure what we can do here to avoid function overload

        Please register or sign in to reply
      • Mark Harding
        Mark Harding @markeharding started a discussion on the diff 14 minutes ago
        Core/Boost/Campaigns/Manager.php
        124
        125 $guid = $this->guid->build();
        126 $urn = "urn:campaign:{$guid}";
        127
        128 $campaign
        129 ->setUrn($urn);
        130
        131 // Normalize and validate entity URNs
        132
        133 $entityUrns = array_values(array_unique(array_filter(Text::buildArray($campaign->getEntityUrns()))));
        134
        135 if (!$entityUrns) {
        136 throw new CampaignException('Campaign should have at least an entity');
        137 }
        138
        139 $entityUrns = array_map(function ($entityUrn) {
        • Mark Harding
          Mark Harding @markeharding · 14 minutes ago
          Owner

          Can we separate into a new function?

        Please register or sign in to reply
      • You're only seeing other activity in the feed. To add a comment, switch to one of the following options.
      Please register or sign in to reply
      Assignee
      Emiliano Balbuena's avatar Emiliano Balbuena @edgebal
      Assign to
      None
      Milestone
      None
      Assign milestone
      None
      Time tracking
      No estimate or time spent
      0
      Labels
      None
      Assign labels
      • View project labels
      Lock merge request
      Unlocked
      7
      7 participants
      user avatar
      Martin Santangelo
      user avatar
      Mark Harding
      user avatar
      Marcelo Rivera
      user avatar
      Ben Hayward
      user avatar
      Rami Albatal
      user avatar
      Brian Hatchet
      user avatar
      Emiliano Balbuena
      Reference: minds/engine!207