Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
n/a
0 / 0
n/a
0 / 0
CRAP
n/a
0 / 0
1<?php
2
3/**
4 * This program is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU General Public License
6 * as published by the Free Software Foundation; under version 2
7 * of the License (non-upgradable).
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
17 *
18 * Copyright (c) 2015 (original work) Open Assessment Technologies SA (under the project TAO-PRODUCT);
19 *
20 */
21
22namespace oat\taoDelivery\model;
23
24use oat\oatbox\user\User;
25
26/**
27 * Service to manage the assignment of users to deliveries
28 *
29 * @access public
30 * @author Joel Bout, <joel@taotesting.com>
31 * @package taoDelivery
32 */
33interface AssignmentService
34{
35    public const SERVICE_ID = 'taoDelivery/assignment';
36
37    /**
38     * @deprecated please use SERVICE_ID
39     */
40    public const CONFIG_ID = 'taoDelivery/assignment';
41
42    /**
43     * Returns the deliveries availableto a user
44     *
45     * @param User $user
46     * @return Assignment[] list of deliveries
47     */
48    public function getAssignments(User $user);
49
50    /**
51     * Returns the ids of users assigned to a delivery
52     *
53     * @param string $deliveryId
54     * @return string[] ids of users
55     */
56    public function getAssignedUsers($deliveryId);
57
58    /**
59     * Returns whenever or not a user can take a specific delivery
60     *
61     * @param string $deliveryIdentifier
62     * @param User $user
63     * @return boolean
64     */
65    public function isDeliveryExecutionAllowed($deliveryIdentifier, User $user);
66
67    /**
68     * Returns the serviecall to start the delivery
69     *
70     * @deprecated Please use RuntimeService::getRuntime() as it is "less" deprecated
71     * @param string $deliveryId
72     * @return \tao_models_classes_service_ServiceCall
73     */
74    public function getRuntime($deliveryId);
75
76    // no longer available: onDelete() please use eventManager
77}