@@ -17,17 +17,30 @@ export const lists = {
1717 { label : 'High' , value : 'high' } ,
1818 ] ,
1919 hooks : {
20- resolveInput ( { resolvedData, inputData } ) {
21- if ( inputData . priority === null ) {
22- // default to high if "urgent" is in the label
23- if ( inputData . label && inputData . label . toLowerCase ( ) . includes ( 'urgent' ) ) {
24- return 'high'
25- } else {
26- return 'low'
20+ resolveInput : {
21+ create ( { resolvedData, inputData } ) {
22+ if ( inputData . priority === null ) {
23+ // default to high if "urgent" is in the label
24+ if ( inputData . label && inputData . label . toLowerCase ( ) . includes ( 'urgent' ) ) {
25+ return 'high'
26+ } else {
27+ return 'low'
28+ }
2729 }
28- }
29- return resolvedData . priority
30- } ,
30+ return resolvedData . priority
31+ } ,
32+ update ( { resolvedData, inputData } ) {
33+ if ( inputData . priority === null ) {
34+ // default to high if "urgent" is in the label
35+ if ( inputData . label && inputData . label . toLowerCase ( ) . includes ( 'urgent' ) ) {
36+ return 'high'
37+ } else {
38+ return 'low'
39+ }
40+ }
41+ return resolvedData . priority
42+ } ,
43+ }
3144 } ,
3245 } ) ,
3346
@@ -39,33 +52,58 @@ export const lists = {
3952 many : false ,
4053 hooks : {
4154 // dynamic default: if unassigned, find an anonymous user and assign the task to them
42- async resolveInput ( { context, operation, resolvedData } ) {
43- if ( resolvedData . assignedTo === null ) {
44- const [ user ] = await context . db . Person . findMany ( {
45- where : { name : { equals : 'Anonymous' } } ,
46- } )
47-
48- if ( user ) {
49- return { connect : { id : user . id } }
55+ resolveInput : {
56+ async create ( { context, operation, resolvedData } ) {
57+ if ( resolvedData . assignedTo === null ) {
58+ const [ user ] = await context . db . Person . findMany ( {
59+ where : { name : { equals : 'Anonymous' } } ,
60+ } )
61+
62+ if ( user ) {
63+ return { connect : { id : user . id } }
64+ }
5065 }
51- }
52-
53- return resolvedData . assignedTo
54- } ,
66+
67+ return resolvedData . assignedTo
68+ } ,
69+ async update ( { context, operation, resolvedData } ) {
70+ if ( resolvedData . assignedTo === null ) {
71+ const [ user ] = await context . db . Person . findMany ( {
72+ where : { name : { equals : 'Anonymous' } } ,
73+ } )
74+
75+ if ( user ) {
76+ return { connect : { id : user . id } }
77+ }
78+ }
79+
80+ return resolvedData . assignedTo
81+ } ,
82+ }
5583 } ,
5684 } ) ,
5785
5886 // dynamic default: we set the due date to be 7 days in the future
5987 finishBy : timestamp ( {
6088 hooks : {
61- resolveInput ( { resolvedData, inputData, operation } ) {
62- if ( inputData . finishBy == null ) {
63- const date = new Date ( )
64- date . setUTCDate ( new Date ( ) . getUTCDate ( ) + 7 )
65- return date
66- }
67- return resolvedData . finishBy
68- } ,
89+ resolveInput : {
90+ create ( { resolvedData, inputData, operation } ) {
91+ if ( inputData . finishBy == null ) {
92+ const date = new Date ( )
93+ date . setUTCDate ( new Date ( ) . getUTCDate ( ) + 7 )
94+ return date
95+ }
96+ return resolvedData . finishBy
97+ } ,
98+ update ( { resolvedData, inputData, operation } ) {
99+ if ( inputData . finishBy == null ) {
100+ const date = new Date ( )
101+ date . setUTCDate ( new Date ( ) . getUTCDate ( ) + 7 )
102+ return date
103+ }
104+ return resolvedData . finishBy
105+ } ,
106+ }
69107 } ,
70108 } ) ,
71109
0 commit comments