weekly release 4.0dev
[moodle.git] / mod / quiz / db / services.php
1 <?php
2 // This file is part of Moodle - http://moodle.org/
3 //
4 // Moodle is free software: you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation, either version 3 of the License, or
7 // (at your option) any later version.
8 //
9 // Moodle 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 Moodle.  If not, see <http://www.gnu.org/licenses/>.
17 /**
18  * Quiz external functions and service definitions.
19  *
20  * @package    mod_quiz
21  * @category   external
22  * @copyright  2016 Juan Leyva <juan@moodle.com>
23  * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
24  * @since      Moodle 3.1
25  */
27 defined('MOODLE_INTERNAL') || die;
29 $functions = array(
31     'mod_quiz_get_quizzes_by_courses' => array(
32         'classname'     => 'mod_quiz_external',
33         'methodname'    => 'get_quizzes_by_courses',
34         'description'   => 'Returns a list of quizzes in a provided list of courses,
35                             if no list is provided all quizzes that the user can view will be returned.',
36         'type'          => 'read',
37         'capabilities'  => 'mod/quiz:view',
38         'services'      => array(MOODLE_OFFICIAL_MOBILE_SERVICE)
39     ),
41     'mod_quiz_view_quiz' => array(
42         'classname'     => 'mod_quiz_external',
43         'methodname'    => 'view_quiz',
44         'description'   => 'Trigger the course module viewed event and update the module completion status.',
45         'type'          => 'write',
46         'capabilities'  => 'mod/quiz:view',
47         'services'      => array(MOODLE_OFFICIAL_MOBILE_SERVICE)
48     ),
50     'mod_quiz_get_user_attempts' => array(
51         'classname'     => 'mod_quiz_external',
52         'methodname'    => 'get_user_attempts',
53         'description'   => 'Return a list of attempts for the given quiz and user.',
54         'type'          => 'read',
55         'capabilities'  => 'mod/quiz:view',
56         'services'      => array(MOODLE_OFFICIAL_MOBILE_SERVICE)
57     ),
59     'mod_quiz_get_user_best_grade' => array(
60         'classname'     => 'mod_quiz_external',
61         'methodname'    => 'get_user_best_grade',
62         'description'   => 'Get the best current grade for the given user on a quiz.',
63         'type'          => 'read',
64         'capabilities'  => 'mod/quiz:view',
65         'services'      => array(MOODLE_OFFICIAL_MOBILE_SERVICE)
66     ),
68     'mod_quiz_get_combined_review_options' => array(
69         'classname'     => 'mod_quiz_external',
70         'methodname'    => 'get_combined_review_options',
71         'description'   => 'Combines the review options from a number of different quiz attempts.',
72         'type'          => 'read',
73         'capabilities'  => 'mod/quiz:view',
74         'services'      => array(MOODLE_OFFICIAL_MOBILE_SERVICE)
75     ),
77     'mod_quiz_start_attempt' => array(
78         'classname'     => 'mod_quiz_external',
79         'methodname'    => 'start_attempt',
80         'description'   => 'Starts a new attempt at a quiz.',
81         'type'          => 'write',
82         'capabilities'  => 'mod/quiz:attempt',
83         'services'      => array(MOODLE_OFFICIAL_MOBILE_SERVICE)
84     ),
86     'mod_quiz_get_attempt_data' => array(
87         'classname'     => 'mod_quiz_external',
88         'methodname'    => 'get_attempt_data',
89         'description'   => 'Returns information for the given attempt page for a quiz attempt in progress.',
90         'type'          => 'read',
91         'capabilities'  => 'mod/quiz:attempt',
92         'services'      => array(MOODLE_OFFICIAL_MOBILE_SERVICE)
93     ),
95     'mod_quiz_get_attempt_summary' => array(
96         'classname'     => 'mod_quiz_external',
97         'methodname'    => 'get_attempt_summary',
98         'description'   => 'Returns a summary of a quiz attempt before it is submitted.',
99         'type'          => 'read',
100         'capabilities'  => 'mod/quiz:attempt',
101         'services'      => array(MOODLE_OFFICIAL_MOBILE_SERVICE)
102     ),
104     'mod_quiz_save_attempt' => array(
105         'classname'     => 'mod_quiz_external',
106         'methodname'    => 'save_attempt',
107         'description'   => 'Processes save requests during the quiz.
108                             This function is intended for the quiz auto-save feature.',
109         'type'          => 'write',
110         'capabilities'  => 'mod/quiz:attempt',
111         'services'      => array(MOODLE_OFFICIAL_MOBILE_SERVICE)
112     ),
114     'mod_quiz_process_attempt' => array(
115         'classname'     => 'mod_quiz_external',
116         'methodname'    => 'process_attempt',
117         'description'   => 'Process responses during an attempt at a quiz and also deals with attempts finishing.',
118         'type'          => 'write',
119         'capabilities'  => 'mod/quiz:attempt',
120         'services'      => array(MOODLE_OFFICIAL_MOBILE_SERVICE)
121     ),
123     'mod_quiz_get_attempt_review' => array(
124         'classname'     => 'mod_quiz_external',
125         'methodname'    => 'get_attempt_review',
126         'description'   => 'Returns review information for the given finished attempt, can be used by users or teachers.',
127         'type'          => 'read',
128         'capabilities'  => 'mod/quiz:reviewmyattempts',
129         'services'      => array(MOODLE_OFFICIAL_MOBILE_SERVICE)
130     ),
132     'mod_quiz_view_attempt' => array(
133         'classname'     => 'mod_quiz_external',
134         'methodname'    => 'view_attempt',
135         'description'   => 'Trigger the attempt viewed event.',
136         'type'          => 'write',
137         'capabilities'  => 'mod/quiz:attempt',
138         'services'      => array(MOODLE_OFFICIAL_MOBILE_SERVICE)
139     ),
141     'mod_quiz_view_attempt_summary' => array(
142         'classname'     => 'mod_quiz_external',
143         'methodname'    => 'view_attempt_summary',
144         'description'   => 'Trigger the attempt summary viewed event.',
145         'type'          => 'write',
146         'capabilities'  => 'mod/quiz:attempt',
147         'services'      => array(MOODLE_OFFICIAL_MOBILE_SERVICE)
148     ),
150     'mod_quiz_view_attempt_review' => array(
151         'classname'     => 'mod_quiz_external',
152         'methodname'    => 'view_attempt_review',
153         'description'   => 'Trigger the attempt reviewed event.',
154         'type'          => 'write',
155         'capabilities'  => 'mod/quiz:reviewmyattempts',
156         'services'      => array(MOODLE_OFFICIAL_MOBILE_SERVICE)
157     ),
159     'mod_quiz_get_quiz_feedback_for_grade' => array(
160         'classname'     => 'mod_quiz_external',
161         'methodname'    => 'get_quiz_feedback_for_grade',
162         'description'   => 'Get the feedback text that should be show to a student who got the given grade in the given quiz.',
163         'type'          => 'read',
164         'capabilities'  => 'mod/quiz:view',
165         'services'      => array(MOODLE_OFFICIAL_MOBILE_SERVICE)
166     ),
168     'mod_quiz_get_quiz_access_information' => array(
169         'classname'     => 'mod_quiz_external',
170         'methodname'    => 'get_quiz_access_information',
171         'description'   => 'Return access information for a given quiz.',
172         'type'          => 'read',
173         'capabilities'  => 'mod/quiz:view',
174         'services'      => array(MOODLE_OFFICIAL_MOBILE_SERVICE)
175     ),
177     'mod_quiz_get_attempt_access_information' => array(
178         'classname'     => 'mod_quiz_external',
179         'methodname'    => 'get_attempt_access_information',
180         'description'   => 'Return access information for a given attempt in a quiz.',
181         'type'          => 'read',
182         'capabilities'  => 'mod/quiz:view',
183         'services'      => array(MOODLE_OFFICIAL_MOBILE_SERVICE)
184     ),
186     'mod_quiz_get_quiz_required_qtypes' => array(
187         'classname'     => 'mod_quiz_external',
188         'methodname'    => 'get_quiz_required_qtypes',
189         'description'   => 'Return the potential question types that would be required for a given quiz.',
190         'type'          => 'read',
191         'capabilities'  => 'mod/quiz:view',
192         'services'      => array(MOODLE_OFFICIAL_MOBILE_SERVICE)
193     ),
194 );