Merge branch 'MDL-53034-master' of git://github.com/jleyva/moodle
[moodle.git] / mod / quiz / db / services.php
CommitLineData
51e27aac
JL
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/>.
16
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 */
26
27defined('MOODLE_INTERNAL') || die;
28
29$functions = array(
30
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',
0ca559a1
JL
37 'capabilities' => 'mod/quiz:view',
38 'services' => array(MOODLE_OFFICIAL_MOBILE_SERVICE)
51e27aac 39 ),
4064dd0e
JL
40
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',
0ca559a1
JL
46 'capabilities' => 'mod/quiz:view',
47 'services' => array(MOODLE_OFFICIAL_MOBILE_SERVICE)
4064dd0e 48 ),
c161ecff
JL
49
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',
5ca1a776
DM
55 'capabilities' => 'mod/quiz:view',
56 'services' => array(MOODLE_OFFICIAL_MOBILE_SERVICE)
c161ecff 57 ),
e73e4581
JL
58
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',
ba8afbdb
DM
64 'capabilities' => 'mod/quiz:view',
65 'services' => array(MOODLE_OFFICIAL_MOBILE_SERVICE)
e73e4581 66 ),
1f67c0b8
JL
67
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',
9de085c6
DM
73 'capabilities' => 'mod/quiz:view',
74 'services' => array(MOODLE_OFFICIAL_MOBILE_SERVICE)
1f67c0b8 75 ),
b8954440
JL
76
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 ),
bc247b0d
JL
85
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 ),
bc9733e7
JL
94
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 ),
96d5607c
JL
103
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 ),
98e68690
JL
113
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 ),
3589b659
JL
122
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 ),
899983ee
JL
131
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 ),
d9ef6ae0
JL
140
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 ),
3e5c19a0
JL
149
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 ),
48abca79
JL
158
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 ),
51e27aac 167);