@@ -7,7 +7,14 @@ const allowedActions = [
7
7
'entriesByFolder' ,
8
8
'entriesByFiles' ,
9
9
'getEntry' ,
10
+ 'unpublishedEntries' ,
11
+ 'unpublishedEntry' ,
12
+ 'unpublishedEntryDataFile' ,
13
+ 'unpublishedEntryMediaFile' ,
14
+ 'deleteUnpublishedEntry' ,
10
15
'persistEntry' ,
16
+ 'updateUnpublishedEntryStatus' ,
17
+ 'publishUnpublishedEntry' ,
11
18
'getMedia' ,
12
19
'getMediaFile' ,
13
20
'persistMedia' ,
@@ -18,6 +25,7 @@ const allowedActions = [
18
25
19
26
const requiredString = Joi . string ( ) . required ( ) ;
20
27
const requiredNumber = Joi . number ( ) . required ( ) ;
28
+ const requiredBool = Joi . bool ( ) . required ( ) ;
21
29
22
30
const collection = requiredString ;
23
31
const slug = requiredString ;
@@ -72,21 +80,90 @@ export function defaultSchema({ path = requiredString } = {}) {
72
80
} )
73
81
. required ( ) ,
74
82
} ,
83
+ {
84
+ is : 'unpublishedEntries' ,
85
+ then : defaultParams . keys ( { branch : requiredString } ) . required ( ) ,
86
+ } ,
87
+ {
88
+ is : 'unpublishedEntry' ,
89
+ then : defaultParams
90
+ . keys ( {
91
+ id : Joi . string ( ) . optional ( ) ,
92
+ collection : Joi . string ( ) . optional ( ) ,
93
+ slug : Joi . string ( ) . optional ( ) ,
94
+ cmsLabelPrefix : Joi . string ( ) . optional ( ) ,
95
+ } )
96
+ . required ( ) ,
97
+ } ,
98
+ {
99
+ is : 'unpublishedEntryDataFile' ,
100
+ then : defaultParams
101
+ . keys ( {
102
+ collection,
103
+ slug,
104
+ id : requiredString ,
105
+ path : requiredString ,
106
+ } )
107
+ . required ( ) ,
108
+ } ,
109
+ {
110
+ is : 'unpublishedEntryMediaFile' ,
111
+ then : defaultParams
112
+ . keys ( {
113
+ collection,
114
+ slug,
115
+ id : requiredString ,
116
+ path : requiredString ,
117
+ } )
118
+ . required ( ) ,
119
+ } ,
120
+ {
121
+ is : 'deleteUnpublishedEntry' ,
122
+ then : defaultParams
123
+ . keys ( {
124
+ collection,
125
+ slug,
126
+ } )
127
+ . required ( ) ,
128
+ } ,
75
129
{
76
130
is : 'persistEntry' ,
77
131
then : defaultParams
78
132
. keys ( {
133
+ cmsLabelPrefix : Joi . string ( ) . optional ( ) ,
79
134
entry : dataFile , // entry is kept for backwards compatibility
80
135
dataFiles : Joi . array ( ) . items ( dataFile ) ,
81
136
assets : Joi . array ( ) . items ( asset ) . required ( ) ,
82
137
options : Joi . object ( {
83
138
collectionName : Joi . string ( ) ,
84
139
commitMessage : requiredString ,
140
+ useWorkflow : requiredBool ,
141
+ status : requiredString ,
85
142
} ) . required ( ) ,
86
143
} )
87
144
. xor ( 'entry' , 'dataFiles' )
88
145
. required ( ) ,
89
146
} ,
147
+ {
148
+ is : 'updateUnpublishedEntryStatus' ,
149
+ then : defaultParams
150
+ . keys ( {
151
+ collection,
152
+ slug,
153
+ newStatus : requiredString ,
154
+ cmsLabelPrefix : Joi . string ( ) . optional ( ) ,
155
+ } )
156
+ . required ( ) ,
157
+ } ,
158
+ {
159
+ is : 'publishUnpublishedEntry' ,
160
+ then : defaultParams
161
+ . keys ( {
162
+ collection,
163
+ slug,
164
+ } )
165
+ . required ( ) ,
166
+ } ,
90
167
{
91
168
is : 'getMedia' ,
92
169
then : defaultParams
0 commit comments