Code Coverage
 
Lines
Branches
Paths
Functions and Methods
Classes and Traits
Total
46.15% covered (danger)
46.15%
6 / 13
66.67% covered (warning)
66.67%
2 / 3
66.67% covered (warning)
66.67%
2 / 3
66.67% covered (warning)
66.67%
2 / 3
CRAP
0.00% covered (danger)
0.00%
0 / 1
ApiPublishingController
46.15% covered (danger)
46.15%
6 / 13
66.67% covered (warning)
66.67%
2 / 3
66.67% covered (warning)
66.67%
2 / 3
66.67% covered (warning)
66.67%
2 / 3
3.33
0.00% covered (danger)
0.00%
0 / 1
 publish
0.00% covered (danger)
0.00%
0 / 7
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 restore
100.00% covered (success)
100.00%
4 / 4
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 revert
100.00% covered (success)
100.00%
2 / 2
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
1<?php
2
3declare(strict_types=1);
4
5namespace Drupal\display_builder\Controller;
6
7use Drupal\display_builder\Event\DisplayBuilderEvents;
8use Drupal\display_builder\InstanceInterface;
9use Symfony\Component\HttpFoundation\Request;
10
11/**
12 * Returns responses for Display builder routes.
13 */
14class ApiPublishingController extends ApiControllerBase {
15
16  /**
17   * Publish display builder instance.
18   *
19   * @param \Symfony\Component\HttpFoundation\Request $request
20   *   HTTP Request.
21   * @param \Drupal\display_builder\InstanceInterface $display_builder_instance
22   *   Display builder instance.
23   *
24   * @return array
25   *   A renderable array
26   */
27  public function publish(Request $request, InstanceInterface $display_builder_instance): array {
28    $display_builder_instance->setSave($display_builder_instance->getCurrentState());
29    $display_builder_instance->save();
30
31    $this->builder = $display_builder_instance;
32
33    return $this->dispatchDisplayBuilderEvent(
34      DisplayBuilderEvents::ON_PUBLISH,
35      $display_builder_instance->getContexts()
36    );
37  }
38
39  /**
40   * Restore to last save.
41   *
42   * @param \Symfony\Component\HttpFoundation\Request $request
43   *   HTTP Request.
44   * @param \Drupal\display_builder\InstanceInterface $display_builder_instance
45   *   Display builder instance.
46   *
47   * @return array
48   *   A renderable array
49   */
50  public function restore(Request $request, InstanceInterface $display_builder_instance): array {
51    $display_builder_instance->restore();
52    $display_builder_instance->save();
53
54    $this->builder = $display_builder_instance;
55
56    return $this->dispatchDisplayBuilderEvent(DisplayBuilderEvents::ON_RESTORE);
57  }
58
59  /**
60   * Revert entity override to default display.
61   *
62   * @param \Symfony\Component\HttpFoundation\Request $request
63   *   HTTP Request.
64   * @param \Drupal\display_builder\InstanceInterface $display_builder_instance
65   *   Display builder instance.
66   *
67   * @return array
68   *   A renderable array
69   */
70  public function revert(Request $request, InstanceInterface $display_builder_instance): array {
71    $this->builder = $display_builder_instance;
72
73    return $this->dispatchDisplayBuilderEvent(DisplayBuilderEvents::ON_REVERT);
74  }
75
76}