Completed
Branch FET/reg-form-builder/main (0b1bec)
by
unknown
14:36 queued 15s
created
domain/services/graphql/connection_resolvers/PriceConnectionResolver.php 1 patch
Indentation   +215 added lines, -215 removed lines patch added patch discarded remove patch
@@ -17,219 +17,219 @@
 block discarded – undo
17 17
  */
18 18
 class PriceConnectionResolver extends AbstractConnectionResolver
19 19
 {
20
-    // phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
21
-    public function get_loader_name(): string
22
-    {
23
-        return 'espresso_price';
24
-    }
25
-
26
-    /**
27
-     * @return EEM_Price
28
-     * @throws EE_Error
29
-     * @throws InvalidArgumentException
30
-     * @throws InvalidDataTypeException
31
-     * @throws InvalidInterfaceException
32
-     * @throws ReflectionException
33
-     */
34
-    // phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
35
-    public function get_query(): EEM_Price
36
-    {
37
-        return EEM_Price::instance();
38
-    }
39
-
40
-
41
-    /**
42
-     * Return an array of item IDs from the query
43
-     *
44
-     * @return array
45
-     */
46
-    // phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
47
-    public function get_ids(): array
48
-    {
49
-        $results = $this->query->get_col($this->query_args);
50
-
51
-        return ! empty($results) ? $results : [];
52
-    }
53
-
54
-
55
-    /**
56
-     * Here, we map the args from the input, then we make sure that we're only querying
57
-     * for IDs. The IDs are then passed down the resolve tree, and deferred resolvers
58
-     * handle batch resolution of the posts.
59
-     *
60
-     * @return array
61
-     * @throws EE_Error
62
-     * @throws InvalidArgumentException
63
-     * @throws ReflectionException
64
-     * @throws InvalidDataTypeException
65
-     * @throws InvalidInterfaceException
66
-     */
67
-    // phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
68
-    public function get_query_args(): array
69
-    {
70
-        $where_params = [];
71
-        $query_args   = [];
72
-
73
-        $query_args['limit'] = $this->getLimit();
74
-
75
-        // Avoid multiple entries by join.
76
-        $query_args['group_by'] = 'PRC_ID';
77
-
78
-        $query_args['default_where_conditions'] = 'minimum';
79
-
80
-        /**
81
-         * Collect the input_fields and sanitize them to prepare them for sending to the Query
82
-         */
83
-        $input_fields = [];
84
-        if (! empty($this->args['where'])) {
85
-            $input_fields = $this->sanitizeInputFields($this->args['where']);
86
-
87
-            // Use the proper operator.
88
-            if (! empty($input_fields['PRC_ID']) && is_array($input_fields['PRC_ID'])) {
89
-                $input_fields['PRC_ID'] = ['in', $input_fields['PRC_ID']];
90
-            }
91
-            if (! empty($input_fields['Ticket.TKT_ID']) && is_array($input_fields['Ticket.TKT_ID'])) {
92
-                $input_fields['Ticket.TKT_ID'] = ['in', $input_fields['Ticket.TKT_ID']];
93
-            }
94
-            if (! empty($input_fields['Price_Type.PBT_ID']) && is_array($input_fields['Price_Type.PBT_ID'])) {
95
-                $input_fields['Price_Type.PBT_ID'] = ['in', $input_fields['Price_Type.PBT_ID']];
96
-            }
97
-            if (! empty($input_fields['Price_Type.PRT_ID']) && is_array($input_fields['Price_Type.PRT_ID'])) {
98
-                $input_fields['Price_Type.PRT_ID'] = ['in', $input_fields['Price_Type.PRT_ID']];
99
-            }
100
-            // if event ID is passed but not a ticket ID
101
-            if (! isset($input_fields['Ticket.TKT_ID']) && isset($input_fields['Event.EVT_ID'])) {
102
-                $event_id = $input_fields['Event.EVT_ID'];
103
-                // Ensure that this doesn't go to the query.
104
-                // After all there is no DB relation between event and price
105
-                unset($input_fields['Event.EVT_ID']);
106
-                // get all the datetimeIds of the event
107
-                $event_datetime_ids = EEM_Datetime::instance()->get_col([
108
-                    [
109
-                        'EVT_ID'      => $event_id,
110
-                    ],
111
-                    'default_where_conditions' => 'minimum'
112
-                ]);
113
-                // get all the related ticket Ids
114
-                $ticket_ids = EEM_Ticket::instance()->get_col([
115
-                    [
116
-                        'Datetime.DTT_ID' => ['IN', $event_datetime_ids],
117
-                    ],
118
-                    'default_where_conditions' => 'minimum'
119
-                ]);
120
-
121
-                // add tickets relation to the query
122
-                $input_fields['Ticket.TKT_ID'] = ['IN', $ticket_ids];
123
-            }
124
-        }
125
-
126
-        /**
127
-         * Determine where we're at in the Graph and adjust the query context appropriately.
128
-         */
129
-        if ($this->source instanceof EE_Ticket) {
130
-            $where_params['Ticket.TKT_ID'] = $this->source->ID();
131
-        }
132
-
133
-        /**
134
-         * Merge the input_fields with the default query_args
135
-         */
136
-        if (! empty($input_fields)) {
137
-            $where_params = array_merge($where_params, $input_fields);
138
-        }
139
-
140
-        [$query_args, $where_params] = $this->mapOrderbyInputArgs($query_args, $where_params, 'PRC_ID');
141
-
142
-        $default_prices_params = [];
143
-
144
-        // If default ticket prices should be included.
145
-        if (! empty($this->args['where']['includeDefaultTicketsPrices'])) {
146
-            $default_ticket_ids = EEM_Ticket::instance()->get_col([
147
-                [
148
-                    'TKT_is_default' => 1,
149
-                ],
150
-                'default_where_conditions' => 'minimum'
151
-            ]);
152
-
153
-            // if we have default tickets
154
-            if (! empty($default_ticket_ids)) {
155
-                $default_prices_params['OR'] = [
156
-                    'Ticket.TKT_ID' => ['IN', $default_ticket_ids],
157
-                ];
158
-            }
159
-        }
160
-
161
-        // If default prices should be included.
162
-        if (! empty($this->args['where']['includeDefaultPrices'])) {
163
-            $default_prices_params['AND'] = [
164
-                'PRC_deleted'    => 0,
165
-                'PRC_is_default' => 1,
166
-            ];
167
-        }
168
-
169
-        if (! empty($default_prices_params)) {
170
-            if (empty($where_params)) {
171
-                $where_params['OR'] = $default_prices_params;
172
-            } else {
173
-                $where_params = [
174
-                    'OR' => [
175
-                        'OR'  => $default_prices_params,
176
-                        'AND' => $where_params,
177
-                    ],
178
-                ];
179
-            }
180
-        }
181
-
182
-        $where_params = apply_filters(
183
-            'FHEE__EventEspresso_core_domain_services_graphql_connection_resolvers__price_where_params',
184
-            $where_params,
185
-            $this->source,
186
-            $this->args
187
-        );
188
-
189
-        $query_args[] = $where_params;
190
-
191
-        /**
192
-         * Return the $query_args
193
-         */
194
-        return apply_filters(
195
-            'FHEE__EventEspresso_core_domain_services_graphql_connection_resolvers__price_query_args',
196
-            $query_args,
197
-            $this->source,
198
-            $this->args
199
-        );
200
-    }
201
-
202
-
203
-    /**
204
-     * This sets up the "allowed" args, and translates the GraphQL-friendly keys to model
205
-     * friendly keys.
206
-     *
207
-     * @param array $where_args
208
-     * @return array
209
-     */
210
-    public function sanitizeInputFields(array $where_args): array
211
-    {
212
-        $arg_mapping = [
213
-            'in'              => 'PRC_ID',
214
-            'idIn'            => 'PRC_ID',
215
-            'isDefault'       => 'PRC_is_default',
216
-            'event'           => 'Event.EVT_ID',
217
-            'eventId'         => 'Event.EVT_ID', // priority.
218
-            'ticket'          => 'Ticket.TKT_ID',
219
-            'ticketIn'        => 'Ticket.TKT_ID',
220
-            'ticketIdIn'      => 'Ticket.TKT_ID',
221
-            'ticketId'        => 'Ticket.TKT_ID', // priority.
222
-            'priceType'       => 'Price_Type.PRT_ID',
223
-            'priceTypeIn'     => 'Price_Type.PRT_ID',
224
-            'priceTypeIdIn'   => 'Price_Type.PRT_ID',
225
-            'priceTypeId'     => 'Price_Type.PRT_ID', // priority.
226
-            'priceBaseType'   => 'Price_Type.PBT_ID',
227
-            'priceBaseTypeIn' => 'Price_Type.PBT_ID',
228
-        ];
229
-        return $this->sanitizeWhereArgsForInputFields(
230
-            $where_args,
231
-            $arg_mapping,
232
-            ['in', 'event', 'ticket', 'ticketIn', 'priceType', 'priceTypeIn']
233
-        );
234
-    }
20
+	// phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
21
+	public function get_loader_name(): string
22
+	{
23
+		return 'espresso_price';
24
+	}
25
+
26
+	/**
27
+	 * @return EEM_Price
28
+	 * @throws EE_Error
29
+	 * @throws InvalidArgumentException
30
+	 * @throws InvalidDataTypeException
31
+	 * @throws InvalidInterfaceException
32
+	 * @throws ReflectionException
33
+	 */
34
+	// phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
35
+	public function get_query(): EEM_Price
36
+	{
37
+		return EEM_Price::instance();
38
+	}
39
+
40
+
41
+	/**
42
+	 * Return an array of item IDs from the query
43
+	 *
44
+	 * @return array
45
+	 */
46
+	// phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
47
+	public function get_ids(): array
48
+	{
49
+		$results = $this->query->get_col($this->query_args);
50
+
51
+		return ! empty($results) ? $results : [];
52
+	}
53
+
54
+
55
+	/**
56
+	 * Here, we map the args from the input, then we make sure that we're only querying
57
+	 * for IDs. The IDs are then passed down the resolve tree, and deferred resolvers
58
+	 * handle batch resolution of the posts.
59
+	 *
60
+	 * @return array
61
+	 * @throws EE_Error
62
+	 * @throws InvalidArgumentException
63
+	 * @throws ReflectionException
64
+	 * @throws InvalidDataTypeException
65
+	 * @throws InvalidInterfaceException
66
+	 */
67
+	// phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
68
+	public function get_query_args(): array
69
+	{
70
+		$where_params = [];
71
+		$query_args   = [];
72
+
73
+		$query_args['limit'] = $this->getLimit();
74
+
75
+		// Avoid multiple entries by join.
76
+		$query_args['group_by'] = 'PRC_ID';
77
+
78
+		$query_args['default_where_conditions'] = 'minimum';
79
+
80
+		/**
81
+		 * Collect the input_fields and sanitize them to prepare them for sending to the Query
82
+		 */
83
+		$input_fields = [];
84
+		if (! empty($this->args['where'])) {
85
+			$input_fields = $this->sanitizeInputFields($this->args['where']);
86
+
87
+			// Use the proper operator.
88
+			if (! empty($input_fields['PRC_ID']) && is_array($input_fields['PRC_ID'])) {
89
+				$input_fields['PRC_ID'] = ['in', $input_fields['PRC_ID']];
90
+			}
91
+			if (! empty($input_fields['Ticket.TKT_ID']) && is_array($input_fields['Ticket.TKT_ID'])) {
92
+				$input_fields['Ticket.TKT_ID'] = ['in', $input_fields['Ticket.TKT_ID']];
93
+			}
94
+			if (! empty($input_fields['Price_Type.PBT_ID']) && is_array($input_fields['Price_Type.PBT_ID'])) {
95
+				$input_fields['Price_Type.PBT_ID'] = ['in', $input_fields['Price_Type.PBT_ID']];
96
+			}
97
+			if (! empty($input_fields['Price_Type.PRT_ID']) && is_array($input_fields['Price_Type.PRT_ID'])) {
98
+				$input_fields['Price_Type.PRT_ID'] = ['in', $input_fields['Price_Type.PRT_ID']];
99
+			}
100
+			// if event ID is passed but not a ticket ID
101
+			if (! isset($input_fields['Ticket.TKT_ID']) && isset($input_fields['Event.EVT_ID'])) {
102
+				$event_id = $input_fields['Event.EVT_ID'];
103
+				// Ensure that this doesn't go to the query.
104
+				// After all there is no DB relation between event and price
105
+				unset($input_fields['Event.EVT_ID']);
106
+				// get all the datetimeIds of the event
107
+				$event_datetime_ids = EEM_Datetime::instance()->get_col([
108
+					[
109
+						'EVT_ID'      => $event_id,
110
+					],
111
+					'default_where_conditions' => 'minimum'
112
+				]);
113
+				// get all the related ticket Ids
114
+				$ticket_ids = EEM_Ticket::instance()->get_col([
115
+					[
116
+						'Datetime.DTT_ID' => ['IN', $event_datetime_ids],
117
+					],
118
+					'default_where_conditions' => 'minimum'
119
+				]);
120
+
121
+				// add tickets relation to the query
122
+				$input_fields['Ticket.TKT_ID'] = ['IN', $ticket_ids];
123
+			}
124
+		}
125
+
126
+		/**
127
+		 * Determine where we're at in the Graph and adjust the query context appropriately.
128
+		 */
129
+		if ($this->source instanceof EE_Ticket) {
130
+			$where_params['Ticket.TKT_ID'] = $this->source->ID();
131
+		}
132
+
133
+		/**
134
+		 * Merge the input_fields with the default query_args
135
+		 */
136
+		if (! empty($input_fields)) {
137
+			$where_params = array_merge($where_params, $input_fields);
138
+		}
139
+
140
+		[$query_args, $where_params] = $this->mapOrderbyInputArgs($query_args, $where_params, 'PRC_ID');
141
+
142
+		$default_prices_params = [];
143
+
144
+		// If default ticket prices should be included.
145
+		if (! empty($this->args['where']['includeDefaultTicketsPrices'])) {
146
+			$default_ticket_ids = EEM_Ticket::instance()->get_col([
147
+				[
148
+					'TKT_is_default' => 1,
149
+				],
150
+				'default_where_conditions' => 'minimum'
151
+			]);
152
+
153
+			// if we have default tickets
154
+			if (! empty($default_ticket_ids)) {
155
+				$default_prices_params['OR'] = [
156
+					'Ticket.TKT_ID' => ['IN', $default_ticket_ids],
157
+				];
158
+			}
159
+		}
160
+
161
+		// If default prices should be included.
162
+		if (! empty($this->args['where']['includeDefaultPrices'])) {
163
+			$default_prices_params['AND'] = [
164
+				'PRC_deleted'    => 0,
165
+				'PRC_is_default' => 1,
166
+			];
167
+		}
168
+
169
+		if (! empty($default_prices_params)) {
170
+			if (empty($where_params)) {
171
+				$where_params['OR'] = $default_prices_params;
172
+			} else {
173
+				$where_params = [
174
+					'OR' => [
175
+						'OR'  => $default_prices_params,
176
+						'AND' => $where_params,
177
+					],
178
+				];
179
+			}
180
+		}
181
+
182
+		$where_params = apply_filters(
183
+			'FHEE__EventEspresso_core_domain_services_graphql_connection_resolvers__price_where_params',
184
+			$where_params,
185
+			$this->source,
186
+			$this->args
187
+		);
188
+
189
+		$query_args[] = $where_params;
190
+
191
+		/**
192
+		 * Return the $query_args
193
+		 */
194
+		return apply_filters(
195
+			'FHEE__EventEspresso_core_domain_services_graphql_connection_resolvers__price_query_args',
196
+			$query_args,
197
+			$this->source,
198
+			$this->args
199
+		);
200
+	}
201
+
202
+
203
+	/**
204
+	 * This sets up the "allowed" args, and translates the GraphQL-friendly keys to model
205
+	 * friendly keys.
206
+	 *
207
+	 * @param array $where_args
208
+	 * @return array
209
+	 */
210
+	public function sanitizeInputFields(array $where_args): array
211
+	{
212
+		$arg_mapping = [
213
+			'in'              => 'PRC_ID',
214
+			'idIn'            => 'PRC_ID',
215
+			'isDefault'       => 'PRC_is_default',
216
+			'event'           => 'Event.EVT_ID',
217
+			'eventId'         => 'Event.EVT_ID', // priority.
218
+			'ticket'          => 'Ticket.TKT_ID',
219
+			'ticketIn'        => 'Ticket.TKT_ID',
220
+			'ticketIdIn'      => 'Ticket.TKT_ID',
221
+			'ticketId'        => 'Ticket.TKT_ID', // priority.
222
+			'priceType'       => 'Price_Type.PRT_ID',
223
+			'priceTypeIn'     => 'Price_Type.PRT_ID',
224
+			'priceTypeIdIn'   => 'Price_Type.PRT_ID',
225
+			'priceTypeId'     => 'Price_Type.PRT_ID', // priority.
226
+			'priceBaseType'   => 'Price_Type.PBT_ID',
227
+			'priceBaseTypeIn' => 'Price_Type.PBT_ID',
228
+		];
229
+		return $this->sanitizeWhereArgsForInputFields(
230
+			$where_args,
231
+			$arg_mapping,
232
+			['in', 'event', 'ticket', 'ticketIn', 'priceType', 'priceTypeIn']
233
+		);
234
+	}
235 235
 }
Please login to merge, or discard this patch.
domain/services/graphql/connection_resolvers/TicketConnectionResolver.php 1 patch
Indentation   +174 added lines, -174 removed lines patch added patch discarded remove patch
@@ -15,178 +15,178 @@
 block discarded – undo
15 15
  */
16 16
 class TicketConnectionResolver extends AbstractConnectionResolver
17 17
 {
18
-    // phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
19
-    public function get_loader_name(): string
20
-    {
21
-        return 'espresso_ticket';
22
-    }
23
-
24
-    /**
25
-     * @return EEM_Ticket
26
-     * @throws EE_Error
27
-     * @throws InvalidArgumentException
28
-     * @throws InvalidDataTypeException
29
-     * @throws InvalidInterfaceException
30
-     * @throws ReflectionException
31
-     */
32
-    // phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
33
-    public function get_query(): EEM_Ticket
34
-    {
35
-        return EEM_Ticket::instance();
36
-    }
37
-
38
-
39
-    /**
40
-     * Return an array of item IDs from the query
41
-     *
42
-     * @return array
43
-     */
44
-    // phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
45
-    public function get_ids(): array
46
-    {
47
-        $results = $this->query->get_col($this->query_args);
48
-
49
-        return ! empty($results) ? $results : [];
50
-    }
51
-
52
-
53
-    /**
54
-     * Here, we map the args from the input, then we make sure that we're only querying
55
-     * for IDs. The IDs are then passed down the resolve tree, and deferred resolvers
56
-     * handle batch resolution of the posts.
57
-     *
58
-     * @return array
59
-     * @throws EE_Error
60
-     * @throws InvalidArgumentException
61
-     * @throws ReflectionException
62
-     * @throws InvalidDataTypeException
63
-     * @throws InvalidInterfaceException
64
-     */
65
-    // phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
66
-    public function get_query_args(): array
67
-    {
68
-        $where_params = ['TKT_deleted' => ['IN', [true, false]]];
69
-        $query_args   = [];
70
-
71
-        $query_args['limit'] = $this->getLimit();
72
-
73
-        // Avoid multiple entries by join.
74
-        $query_args['group_by'] = 'TKT_ID';
75
-
76
-        $query_args['default_where_conditions'] = 'minimum';
77
-
78
-        /**
79
-         * Collect the input_fields and sanitize them to prepare them for sending to the Query
80
-         */
81
-        $input_fields = [];
82
-        if (! empty($this->args['where'])) {
83
-            $input_fields = $this->sanitizeInputFields($this->args['where']);
84
-
85
-            // Use the proper operator.
86
-            if (! empty($input_fields['Datetime.DTT_ID']) && is_array($input_fields['Datetime.DTT_ID'])) {
87
-                $input_fields['Datetime.DTT_ID'] = ['IN', $input_fields['Datetime.DTT_ID']];
88
-            }
89
-            if (! empty($input_fields['Datetime.EVT_ID']) && is_array($input_fields['Datetime.EVT_ID'])) {
90
-                $input_fields['Datetime.EVT_ID'] = ['IN', $input_fields['Datetime.EVT_ID']];
91
-            }
92
-        }
93
-
94
-        /**
95
-         * Determine where we're at in the Graph and adjust the query context appropriately.
96
-         */
97
-        if ($this->source instanceof EE_Datetime) {
98
-            $where_params['Datetime.DTT_ID'] = $this->source->ID();
99
-        }
100
-
101
-        /**
102
-         * Merge the input_fields with the default query_args
103
-         */
104
-        if (! empty($input_fields)) {
105
-            $where_params = array_merge($where_params, $input_fields);
106
-        }
107
-
108
-        [$query_args, $where_params] = $this->mapOrderbyInputArgs($query_args, $where_params, 'TKT_ID');
109
-
110
-        $search = isset($this->args['where']) ? $this->getSearchKeywords($this->args['where']) : '';
111
-
112
-        if (! empty($search)) {
113
-            // use OR operator to search in any of the fields
114
-            $where_params['OR'] = array(
115
-                'TKT_name'        => array('LIKE', '%' . $search . '%'),
116
-                'TKT_description' => array('LIKE', '%' . $search . '%'),
117
-            );
118
-        }
119
-
120
-        // If default tickets should be included.
121
-        if (! empty($this->args['where']['includeDefaultTickets'])) {
122
-            /**
123
-             * We need to get each ticket that
124
-             * - satisfies $where_params above
125
-             * OR
126
-             * - it's a default ticket
127
-             */
128
-            $where_params = [
129
-                'OR' => [
130
-                    // use extra OR instead of AND to avoid it getting overridden
131
-                    'OR' => [
132
-                        'AND' => [
133
-                            'TKT_deleted'    => ['IN', [true, false]],
134
-                            'TKT_is_default' => 1,
135
-                        ]
136
-                    ],
137
-                    'AND' => $where_params,
138
-                ],
139
-            ];
140
-        }
141
-
142
-        $where_params = apply_filters(
143
-            'FHEE__EventEspresso_core_domain_services_graphql_connection_resolvers__ticket_where_params',
144
-            $where_params,
145
-            $this->source,
146
-            $this->args
147
-        );
148
-
149
-        $query_args[] = $where_params;
150
-
151
-        /**
152
-         * Return the $query_args
153
-         */
154
-        return apply_filters(
155
-            'FHEE__EventEspresso_core_domain_services_graphql_connection_resolvers__ticket_query_args',
156
-            $query_args,
157
-            $this->source,
158
-            $this->args
159
-        );
160
-    }
161
-
162
-
163
-    /**
164
-     * This sets up the "allowed" args, and translates the GraphQL-friendly keys to model
165
-     * friendly keys.
166
-     *
167
-     * @param array $where_args
168
-     * @return array
169
-     */
170
-    public function sanitizeInputFields(array $where_args): array
171
-    {
172
-        $arg_mapping = [
173
-            'event'        => 'Datetime.EVT_ID',
174
-            'eventIn'      => 'Datetime.EVT_ID',
175
-            'eventIdIn'    => 'Datetime.EVT_ID',
176
-            'eventId'      => 'Datetime.EVT_ID', // priority.
177
-            'datetime'     => 'Datetime.DTT_ID',
178
-            'datetimeIn'   => 'Datetime.DTT_ID',
179
-            'datetimeIdIn' => 'Datetime.DTT_ID',
180
-            'datetimeId'   => 'Datetime.DTT_ID', // priority.
181
-            'isDefault'    => 'TKT_is_default',
182
-            'isRequired'   => 'TKT_required',
183
-            'isTaxable'    => 'TKT_taxable',
184
-            'isTrashed'    => 'TKT_deleted',
185
-        ];
186
-        return $this->sanitizeWhereArgsForInputFields(
187
-            $where_args,
188
-            $arg_mapping,
189
-            ['datetime', 'datetimeIn', 'event', 'eventIn']
190
-        );
191
-    }
18
+	// phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
19
+	public function get_loader_name(): string
20
+	{
21
+		return 'espresso_ticket';
22
+	}
23
+
24
+	/**
25
+	 * @return EEM_Ticket
26
+	 * @throws EE_Error
27
+	 * @throws InvalidArgumentException
28
+	 * @throws InvalidDataTypeException
29
+	 * @throws InvalidInterfaceException
30
+	 * @throws ReflectionException
31
+	 */
32
+	// phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
33
+	public function get_query(): EEM_Ticket
34
+	{
35
+		return EEM_Ticket::instance();
36
+	}
37
+
38
+
39
+	/**
40
+	 * Return an array of item IDs from the query
41
+	 *
42
+	 * @return array
43
+	 */
44
+	// phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
45
+	public function get_ids(): array
46
+	{
47
+		$results = $this->query->get_col($this->query_args);
48
+
49
+		return ! empty($results) ? $results : [];
50
+	}
51
+
52
+
53
+	/**
54
+	 * Here, we map the args from the input, then we make sure that we're only querying
55
+	 * for IDs. The IDs are then passed down the resolve tree, and deferred resolvers
56
+	 * handle batch resolution of the posts.
57
+	 *
58
+	 * @return array
59
+	 * @throws EE_Error
60
+	 * @throws InvalidArgumentException
61
+	 * @throws ReflectionException
62
+	 * @throws InvalidDataTypeException
63
+	 * @throws InvalidInterfaceException
64
+	 */
65
+	// phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
66
+	public function get_query_args(): array
67
+	{
68
+		$where_params = ['TKT_deleted' => ['IN', [true, false]]];
69
+		$query_args   = [];
70
+
71
+		$query_args['limit'] = $this->getLimit();
72
+
73
+		// Avoid multiple entries by join.
74
+		$query_args['group_by'] = 'TKT_ID';
75
+
76
+		$query_args['default_where_conditions'] = 'minimum';
77
+
78
+		/**
79
+		 * Collect the input_fields and sanitize them to prepare them for sending to the Query
80
+		 */
81
+		$input_fields = [];
82
+		if (! empty($this->args['where'])) {
83
+			$input_fields = $this->sanitizeInputFields($this->args['where']);
84
+
85
+			// Use the proper operator.
86
+			if (! empty($input_fields['Datetime.DTT_ID']) && is_array($input_fields['Datetime.DTT_ID'])) {
87
+				$input_fields['Datetime.DTT_ID'] = ['IN', $input_fields['Datetime.DTT_ID']];
88
+			}
89
+			if (! empty($input_fields['Datetime.EVT_ID']) && is_array($input_fields['Datetime.EVT_ID'])) {
90
+				$input_fields['Datetime.EVT_ID'] = ['IN', $input_fields['Datetime.EVT_ID']];
91
+			}
92
+		}
93
+
94
+		/**
95
+		 * Determine where we're at in the Graph and adjust the query context appropriately.
96
+		 */
97
+		if ($this->source instanceof EE_Datetime) {
98
+			$where_params['Datetime.DTT_ID'] = $this->source->ID();
99
+		}
100
+
101
+		/**
102
+		 * Merge the input_fields with the default query_args
103
+		 */
104
+		if (! empty($input_fields)) {
105
+			$where_params = array_merge($where_params, $input_fields);
106
+		}
107
+
108
+		[$query_args, $where_params] = $this->mapOrderbyInputArgs($query_args, $where_params, 'TKT_ID');
109
+
110
+		$search = isset($this->args['where']) ? $this->getSearchKeywords($this->args['where']) : '';
111
+
112
+		if (! empty($search)) {
113
+			// use OR operator to search in any of the fields
114
+			$where_params['OR'] = array(
115
+				'TKT_name'        => array('LIKE', '%' . $search . '%'),
116
+				'TKT_description' => array('LIKE', '%' . $search . '%'),
117
+			);
118
+		}
119
+
120
+		// If default tickets should be included.
121
+		if (! empty($this->args['where']['includeDefaultTickets'])) {
122
+			/**
123
+			 * We need to get each ticket that
124
+			 * - satisfies $where_params above
125
+			 * OR
126
+			 * - it's a default ticket
127
+			 */
128
+			$where_params = [
129
+				'OR' => [
130
+					// use extra OR instead of AND to avoid it getting overridden
131
+					'OR' => [
132
+						'AND' => [
133
+							'TKT_deleted'    => ['IN', [true, false]],
134
+							'TKT_is_default' => 1,
135
+						]
136
+					],
137
+					'AND' => $where_params,
138
+				],
139
+			];
140
+		}
141
+
142
+		$where_params = apply_filters(
143
+			'FHEE__EventEspresso_core_domain_services_graphql_connection_resolvers__ticket_where_params',
144
+			$where_params,
145
+			$this->source,
146
+			$this->args
147
+		);
148
+
149
+		$query_args[] = $where_params;
150
+
151
+		/**
152
+		 * Return the $query_args
153
+		 */
154
+		return apply_filters(
155
+			'FHEE__EventEspresso_core_domain_services_graphql_connection_resolvers__ticket_query_args',
156
+			$query_args,
157
+			$this->source,
158
+			$this->args
159
+		);
160
+	}
161
+
162
+
163
+	/**
164
+	 * This sets up the "allowed" args, and translates the GraphQL-friendly keys to model
165
+	 * friendly keys.
166
+	 *
167
+	 * @param array $where_args
168
+	 * @return array
169
+	 */
170
+	public function sanitizeInputFields(array $where_args): array
171
+	{
172
+		$arg_mapping = [
173
+			'event'        => 'Datetime.EVT_ID',
174
+			'eventIn'      => 'Datetime.EVT_ID',
175
+			'eventIdIn'    => 'Datetime.EVT_ID',
176
+			'eventId'      => 'Datetime.EVT_ID', // priority.
177
+			'datetime'     => 'Datetime.DTT_ID',
178
+			'datetimeIn'   => 'Datetime.DTT_ID',
179
+			'datetimeIdIn' => 'Datetime.DTT_ID',
180
+			'datetimeId'   => 'Datetime.DTT_ID', // priority.
181
+			'isDefault'    => 'TKT_is_default',
182
+			'isRequired'   => 'TKT_required',
183
+			'isTaxable'    => 'TKT_taxable',
184
+			'isTrashed'    => 'TKT_deleted',
185
+		];
186
+		return $this->sanitizeWhereArgsForInputFields(
187
+			$where_args,
188
+			$arg_mapping,
189
+			['datetime', 'datetimeIn', 'event', 'eventIn']
190
+		);
191
+	}
192 192
 }
Please login to merge, or discard this patch.
domain/services/graphql/connection_resolvers/AbstractConnectionResolver.php 2 patches
Indentation   +168 added lines, -168 removed lines patch added patch discarded remove patch
@@ -20,172 +20,172 @@
 block discarded – undo
20 20
 {
21 21
 
22 22
 
23
-    /**
24
-     * @var Utilities
25
-     */
26
-    private $utilities;
27
-
28
-
29
-    /**
30
-     * @return Utilities
31
-     */
32
-    public function getUtilities(): Utilities
33
-    {
34
-        if (! $this->utilities instanceof Utilities) {
35
-            $this->utilities = LoaderFactory::getLoader()->getShared(Utilities::class);
36
-        }
37
-        return $this->utilities;
38
-    }
39
-
40
-    /**
41
-     * Determine whether the Query should execute. If it's determined that the query should
42
-     * not be run based on context such as, but not limited to, who the user is, where in the
43
-     * ResolveTree the Query is, the relation to the node the Query is connected to, etc
44
-     * Return false to prevent the query from executing.
45
-     *
46
-     * @return bool
47
-     */
48
-    // phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
49
-    public function should_execute(): bool
50
-    {
51
-        return $this->should_execute;
52
-    }
53
-
54
-
55
-    /**
56
-     * Set limit the highest value of first and last, with a (filterable) max of 100
57
-     *
58
-     * @return int
59
-     */
60
-    protected function getLimit(): int
61
-    {
62
-        $first = ! empty($this->args['first'])
63
-            ? absint($this->args['first'])
64
-            : null;
65
-        $last  = ! empty($this->args['last'])
66
-            ? absint($this->args['last'])
67
-            : null;
68
-
69
-        $limit = min(
70
-            max($first, $last, 100),
71
-            $this->query_amount
72
-        );
73
-        $limit++;
74
-        return $limit;
75
-    }
76
-
77
-    /**
78
-     * Get_amount_requested
79
-     *
80
-     * This checks the $args to determine the amount requested
81
-     *
82
-     * @return int|null
83
-     * @throws Exception
84
-     */
85
-    // phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
86
-    public function get_amount_requested(): ?int
87
-    {
88
-        $amount_requested = parent::get_amount_requested();
89
-
90
-        /**
91
-         * If both first & last are used in the input args, throw an exception as that won't
92
-         * work properly
93
-         */
94
-        if (empty($this->args['first']) && empty($this->args['last']) && $amount_requested === 10) {
95
-            return 100; // default.
96
-        }
97
-
98
-        return $amount_requested;
99
-    }
100
-
101
-    /**
102
-     * Determine whether or not the the offset is valid, i.e the entity corresponding to the
103
-     * offset exists. Offset is equivalent to entity ID. So this function is equivalent to
104
-     * checking if the entity with the given ID exists.
105
-     *
106
-     * @param int $offset The ID of the node used for the cursor offset
107
-     * @return bool
108
-     */
109
-    // phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
110
-    public function is_valid_offset($offset): bool
111
-    {
112
-        $entity = $this->get_query()->get_one_by_ID($offset);
113
-
114
-        return $entity instanceof EE_Base_Class;
115
-    }
116
-
117
-    /**
118
-     * Validates Model.
119
-     *
120
-     * @param array $model Entity node.
121
-     * @return bool
122
-     */
123
-    // phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
124
-    protected function is_valid_model($model): bool
125
-    {
126
-        return $model instanceof EE_Base_Class;
127
-    }
128
-
129
-
130
-    /**
131
-     * This sets up the "allowed" args, and translates the GraphQL-friendly keys to model
132
-     * friendly keys.
133
-     *
134
-     * @param array  $query_args
135
-     * @param array  $where_params
136
-     * @param string $primary_key
137
-     * @return array
138
-     */
139
-    protected function mapOrderbyInputArgs(array $query_args, array $where_params, string $primary_key): array
140
-    {
141
-        // ID of the current offset
142
-        $offset = $this->get_offset();
143
-        /**
144
-         * Map the orderby inputArgs to the WP_Query
145
-         */
146
-        if (! empty($this->args['where']['orderby']) && is_array($this->args['where']['orderby'])) {
147
-            $query_args['order_by'] = [];
148
-            foreach ($this->args['where']['orderby'] as $orderby_input) {
149
-                $query_args['order_by'][ $orderby_input['field'] ] = $orderby_input['order'];
150
-            }
151
-        } elseif ($offset) {
152
-            $compare = $this->args['last'] ? '<' : '>';
153
-            $where_params[ $primary_key ] = [$compare, $offset];
154
-        }
155
-        return [$query_args, $where_params];
156
-    }
157
-
158
-
159
-    /**
160
-     * This sets up the "allowed" args, and translates the GraphQL-friendly keys to model
161
-     * friendly keys.
162
-     *
163
-     * @param array $where_args
164
-     * @param array $arg_mapping
165
-     * @param array $id_fields The fields to convert from global IDs to DB IDs.
166
-     * @return array
167
-     */
168
-    protected function sanitizeWhereArgsForInputFields(array $where_args, array $arg_mapping, array $id_fields = []): array
169
-    {
170
-        $query_args = $this->getUtilities()->sanitizeWhereArgs($where_args, $arg_mapping, $id_fields);
171
-        return ! empty($query_args) && is_array($query_args)
172
-            ? $query_args
173
-            : [];
174
-    }
175
-
176
-
177
-    /**
178
-     * This returns the sanitized "search" keywords from where_args
179
-     *
180
-     * @param array $where_args
181
-     * @return string
182
-     */
183
-    protected function getSearchKeywords(array $where_args): string
184
-    {
185
-        $search = '';
186
-        if (! empty($where_args['search'])) {
187
-            $search = sanitize_text_field($where_args['search']);
188
-        }
189
-        return esc_sql($search);
190
-    }
23
+	/**
24
+	 * @var Utilities
25
+	 */
26
+	private $utilities;
27
+
28
+
29
+	/**
30
+	 * @return Utilities
31
+	 */
32
+	public function getUtilities(): Utilities
33
+	{
34
+		if (! $this->utilities instanceof Utilities) {
35
+			$this->utilities = LoaderFactory::getLoader()->getShared(Utilities::class);
36
+		}
37
+		return $this->utilities;
38
+	}
39
+
40
+	/**
41
+	 * Determine whether the Query should execute. If it's determined that the query should
42
+	 * not be run based on context such as, but not limited to, who the user is, where in the
43
+	 * ResolveTree the Query is, the relation to the node the Query is connected to, etc
44
+	 * Return false to prevent the query from executing.
45
+	 *
46
+	 * @return bool
47
+	 */
48
+	// phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
49
+	public function should_execute(): bool
50
+	{
51
+		return $this->should_execute;
52
+	}
53
+
54
+
55
+	/**
56
+	 * Set limit the highest value of first and last, with a (filterable) max of 100
57
+	 *
58
+	 * @return int
59
+	 */
60
+	protected function getLimit(): int
61
+	{
62
+		$first = ! empty($this->args['first'])
63
+			? absint($this->args['first'])
64
+			: null;
65
+		$last  = ! empty($this->args['last'])
66
+			? absint($this->args['last'])
67
+			: null;
68
+
69
+		$limit = min(
70
+			max($first, $last, 100),
71
+			$this->query_amount
72
+		);
73
+		$limit++;
74
+		return $limit;
75
+	}
76
+
77
+	/**
78
+	 * Get_amount_requested
79
+	 *
80
+	 * This checks the $args to determine the amount requested
81
+	 *
82
+	 * @return int|null
83
+	 * @throws Exception
84
+	 */
85
+	// phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
86
+	public function get_amount_requested(): ?int
87
+	{
88
+		$amount_requested = parent::get_amount_requested();
89
+
90
+		/**
91
+		 * If both first & last are used in the input args, throw an exception as that won't
92
+		 * work properly
93
+		 */
94
+		if (empty($this->args['first']) && empty($this->args['last']) && $amount_requested === 10) {
95
+			return 100; // default.
96
+		}
97
+
98
+		return $amount_requested;
99
+	}
100
+
101
+	/**
102
+	 * Determine whether or not the the offset is valid, i.e the entity corresponding to the
103
+	 * offset exists. Offset is equivalent to entity ID. So this function is equivalent to
104
+	 * checking if the entity with the given ID exists.
105
+	 *
106
+	 * @param int $offset The ID of the node used for the cursor offset
107
+	 * @return bool
108
+	 */
109
+	// phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
110
+	public function is_valid_offset($offset): bool
111
+	{
112
+		$entity = $this->get_query()->get_one_by_ID($offset);
113
+
114
+		return $entity instanceof EE_Base_Class;
115
+	}
116
+
117
+	/**
118
+	 * Validates Model.
119
+	 *
120
+	 * @param array $model Entity node.
121
+	 * @return bool
122
+	 */
123
+	// phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
124
+	protected function is_valid_model($model): bool
125
+	{
126
+		return $model instanceof EE_Base_Class;
127
+	}
128
+
129
+
130
+	/**
131
+	 * This sets up the "allowed" args, and translates the GraphQL-friendly keys to model
132
+	 * friendly keys.
133
+	 *
134
+	 * @param array  $query_args
135
+	 * @param array  $where_params
136
+	 * @param string $primary_key
137
+	 * @return array
138
+	 */
139
+	protected function mapOrderbyInputArgs(array $query_args, array $where_params, string $primary_key): array
140
+	{
141
+		// ID of the current offset
142
+		$offset = $this->get_offset();
143
+		/**
144
+		 * Map the orderby inputArgs to the WP_Query
145
+		 */
146
+		if (! empty($this->args['where']['orderby']) && is_array($this->args['where']['orderby'])) {
147
+			$query_args['order_by'] = [];
148
+			foreach ($this->args['where']['orderby'] as $orderby_input) {
149
+				$query_args['order_by'][ $orderby_input['field'] ] = $orderby_input['order'];
150
+			}
151
+		} elseif ($offset) {
152
+			$compare = $this->args['last'] ? '<' : '>';
153
+			$where_params[ $primary_key ] = [$compare, $offset];
154
+		}
155
+		return [$query_args, $where_params];
156
+	}
157
+
158
+
159
+	/**
160
+	 * This sets up the "allowed" args, and translates the GraphQL-friendly keys to model
161
+	 * friendly keys.
162
+	 *
163
+	 * @param array $where_args
164
+	 * @param array $arg_mapping
165
+	 * @param array $id_fields The fields to convert from global IDs to DB IDs.
166
+	 * @return array
167
+	 */
168
+	protected function sanitizeWhereArgsForInputFields(array $where_args, array $arg_mapping, array $id_fields = []): array
169
+	{
170
+		$query_args = $this->getUtilities()->sanitizeWhereArgs($where_args, $arg_mapping, $id_fields);
171
+		return ! empty($query_args) && is_array($query_args)
172
+			? $query_args
173
+			: [];
174
+	}
175
+
176
+
177
+	/**
178
+	 * This returns the sanitized "search" keywords from where_args
179
+	 *
180
+	 * @param array $where_args
181
+	 * @return string
182
+	 */
183
+	protected function getSearchKeywords(array $where_args): string
184
+	{
185
+		$search = '';
186
+		if (! empty($where_args['search'])) {
187
+			$search = sanitize_text_field($where_args['search']);
188
+		}
189
+		return esc_sql($search);
190
+	}
191 191
 }
Please login to merge, or discard this patch.
Spacing   +5 added lines, -5 removed lines patch added patch discarded remove patch
@@ -31,7 +31,7 @@  discard block
 block discarded – undo
31 31
      */
32 32
     public function getUtilities(): Utilities
33 33
     {
34
-        if (! $this->utilities instanceof Utilities) {
34
+        if ( ! $this->utilities instanceof Utilities) {
35 35
             $this->utilities = LoaderFactory::getLoader()->getShared(Utilities::class);
36 36
         }
37 37
         return $this->utilities;
@@ -143,14 +143,14 @@  discard block
 block discarded – undo
143 143
         /**
144 144
          * Map the orderby inputArgs to the WP_Query
145 145
          */
146
-        if (! empty($this->args['where']['orderby']) && is_array($this->args['where']['orderby'])) {
146
+        if ( ! empty($this->args['where']['orderby']) && is_array($this->args['where']['orderby'])) {
147 147
             $query_args['order_by'] = [];
148 148
             foreach ($this->args['where']['orderby'] as $orderby_input) {
149
-                $query_args['order_by'][ $orderby_input['field'] ] = $orderby_input['order'];
149
+                $query_args['order_by'][$orderby_input['field']] = $orderby_input['order'];
150 150
             }
151 151
         } elseif ($offset) {
152 152
             $compare = $this->args['last'] ? '<' : '>';
153
-            $where_params[ $primary_key ] = [$compare, $offset];
153
+            $where_params[$primary_key] = [$compare, $offset];
154 154
         }
155 155
         return [$query_args, $where_params];
156 156
     }
@@ -183,7 +183,7 @@  discard block
 block discarded – undo
183 183
     protected function getSearchKeywords(array $where_args): string
184 184
     {
185 185
         $search = '';
186
-        if (! empty($where_args['search'])) {
186
+        if ( ! empty($where_args['search'])) {
187 187
             $search = sanitize_text_field($where_args['search']);
188 188
         }
189 189
         return esc_sql($search);
Please login to merge, or discard this patch.
domain/services/graphql/connection_resolvers/VenueConnectionResolver.php 1 patch
Indentation   +126 added lines, -126 removed lines patch added patch discarded remove patch
@@ -16,130 +16,130 @@
 block discarded – undo
16 16
  */
17 17
 class VenueConnectionResolver extends AbstractConnectionResolver
18 18
 {
19
-    // phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
20
-    public function get_loader_name(): string
21
-    {
22
-        return 'espresso_venue';
23
-    }
24
-
25
-    /**
26
-     * @return EEM_Venue
27
-     * @throws EE_Error
28
-     * @throws InvalidArgumentException
29
-     * @throws InvalidDataTypeException
30
-     * @throws InvalidInterfaceException
31
-     * @throws ReflectionException
32
-     */
33
-    // phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
34
-    public function get_query(): EEM_Venue
35
-    {
36
-        return EEM_Venue::instance();
37
-    }
38
-
39
-
40
-    /**
41
-     * Return an array of item IDs from the query
42
-     *
43
-     * @return array
44
-     */
45
-    // phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
46
-    public function get_ids(): array
47
-    {
48
-        $results = $this->query->get_col($this->query_args);
49
-
50
-        return ! empty($results) ? $results : [];
51
-    }
52
-
53
-
54
-    /**
55
-     * Here, we map the args from the input, then we make sure that we're only querying
56
-     * for IDs. The IDs are then passed down the resolve tree, and deferred resolvers
57
-     * handle batch resolution of the posts.
58
-     *
59
-     * @return array
60
-     */
61
-    // phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
62
-    public function get_query_args(): array
63
-    {
64
-        $where_params = [];
65
-        $query_args = [];
66
-
67
-        $query_args['limit'] = $this->getLimit();
68
-
69
-        // Avoid multiple entries by join.
70
-        $query_args['group_by'] = 'VNU_ID';
71
-
72
-        $query_args['default_where_conditions'] = 'minimum';
73
-
74
-        /**
75
-         * Collect the input_fields and sanitize them to prepare them for sending to the Query
76
-         */
77
-        $input_fields = [];
78
-        if (! empty($this->args['where'])) {
79
-            $input_fields = $this->sanitizeInputFields($this->args['where']);
80
-        }
81
-
82
-        /**
83
-         * Determine where we're at in the Graph and adjust the query context appropriately.
84
-         * For example, if we're querying for datetime as a field of event query, this will automatically
85
-         * set the query to pull datetimes that belong to that event.
86
-         * We can set more cases for other source types.
87
-         */
88
-        if (is_object($this->source)) {
89
-            switch (true) {
90
-                // Assumed to be an event
91
-                case $this->source instanceof Post:
92
-                    $where_params['Event.EVT_ID'] = $this->source->ID;
93
-                    break;
94
-                case $this->source instanceof EE_Event:
95
-                    $where_params['Event.EVT_ID'] = $this->source->ID();
96
-                    break;
97
-            }
98
-        }
99
-
100
-        /**
101
-         * Merge the input_fields with the default query_args
102
-         */
103
-        if (! empty($input_fields)) {
104
-            $where_params = array_merge($where_params, $input_fields);
105
-        }
106
-
107
-        [$query_args, $where_params] = $this->mapOrderbyInputArgs($query_args, $where_params, 'VNU_ID');
108
-
109
-        $where_params = apply_filters(
110
-            'FHEE__EventEspresso_core_domain_services_graphql_connection_resolvers__venue_where_params',
111
-            $where_params,
112
-            $this->source,
113
-            $this->args
114
-        );
115
-
116
-        $query_args[] = $where_params;
117
-
118
-        /**
119
-         * Return the $query_args
120
-         */
121
-        return apply_filters(
122
-            'FHEE__EventEspresso_core_domain_services_graphql_connection_resolvers__venue_query_args',
123
-            $query_args,
124
-            $this->source,
125
-            $this->args
126
-        );
127
-    }
128
-
129
-
130
-    /**
131
-     * This sets up the "allowed" args, and translates the GraphQL-friendly keys to model
132
-     * friendly keys.
133
-     *
134
-     * @param array $where_args
135
-     * @return array
136
-     */
137
-    public function sanitizeInputFields(array $where_args): array
138
-    {
139
-        return $this->sanitizeWhereArgsForInputFields(
140
-            $where_args,
141
-            [],
142
-            []
143
-        );
144
-    }
19
+	// phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
20
+	public function get_loader_name(): string
21
+	{
22
+		return 'espresso_venue';
23
+	}
24
+
25
+	/**
26
+	 * @return EEM_Venue
27
+	 * @throws EE_Error
28
+	 * @throws InvalidArgumentException
29
+	 * @throws InvalidDataTypeException
30
+	 * @throws InvalidInterfaceException
31
+	 * @throws ReflectionException
32
+	 */
33
+	// phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
34
+	public function get_query(): EEM_Venue
35
+	{
36
+		return EEM_Venue::instance();
37
+	}
38
+
39
+
40
+	/**
41
+	 * Return an array of item IDs from the query
42
+	 *
43
+	 * @return array
44
+	 */
45
+	// phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
46
+	public function get_ids(): array
47
+	{
48
+		$results = $this->query->get_col($this->query_args);
49
+
50
+		return ! empty($results) ? $results : [];
51
+	}
52
+
53
+
54
+	/**
55
+	 * Here, we map the args from the input, then we make sure that we're only querying
56
+	 * for IDs. The IDs are then passed down the resolve tree, and deferred resolvers
57
+	 * handle batch resolution of the posts.
58
+	 *
59
+	 * @return array
60
+	 */
61
+	// phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
62
+	public function get_query_args(): array
63
+	{
64
+		$where_params = [];
65
+		$query_args = [];
66
+
67
+		$query_args['limit'] = $this->getLimit();
68
+
69
+		// Avoid multiple entries by join.
70
+		$query_args['group_by'] = 'VNU_ID';
71
+
72
+		$query_args['default_where_conditions'] = 'minimum';
73
+
74
+		/**
75
+		 * Collect the input_fields and sanitize them to prepare them for sending to the Query
76
+		 */
77
+		$input_fields = [];
78
+		if (! empty($this->args['where'])) {
79
+			$input_fields = $this->sanitizeInputFields($this->args['where']);
80
+		}
81
+
82
+		/**
83
+		 * Determine where we're at in the Graph and adjust the query context appropriately.
84
+		 * For example, if we're querying for datetime as a field of event query, this will automatically
85
+		 * set the query to pull datetimes that belong to that event.
86
+		 * We can set more cases for other source types.
87
+		 */
88
+		if (is_object($this->source)) {
89
+			switch (true) {
90
+				// Assumed to be an event
91
+				case $this->source instanceof Post:
92
+					$where_params['Event.EVT_ID'] = $this->source->ID;
93
+					break;
94
+				case $this->source instanceof EE_Event:
95
+					$where_params['Event.EVT_ID'] = $this->source->ID();
96
+					break;
97
+			}
98
+		}
99
+
100
+		/**
101
+		 * Merge the input_fields with the default query_args
102
+		 */
103
+		if (! empty($input_fields)) {
104
+			$where_params = array_merge($where_params, $input_fields);
105
+		}
106
+
107
+		[$query_args, $where_params] = $this->mapOrderbyInputArgs($query_args, $where_params, 'VNU_ID');
108
+
109
+		$where_params = apply_filters(
110
+			'FHEE__EventEspresso_core_domain_services_graphql_connection_resolvers__venue_where_params',
111
+			$where_params,
112
+			$this->source,
113
+			$this->args
114
+		);
115
+
116
+		$query_args[] = $where_params;
117
+
118
+		/**
119
+		 * Return the $query_args
120
+		 */
121
+		return apply_filters(
122
+			'FHEE__EventEspresso_core_domain_services_graphql_connection_resolvers__venue_query_args',
123
+			$query_args,
124
+			$this->source,
125
+			$this->args
126
+		);
127
+	}
128
+
129
+
130
+	/**
131
+	 * This sets up the "allowed" args, and translates the GraphQL-friendly keys to model
132
+	 * friendly keys.
133
+	 *
134
+	 * @param array $where_args
135
+	 * @return array
136
+	 */
137
+	public function sanitizeInputFields(array $where_args): array
138
+	{
139
+		return $this->sanitizeWhereArgsForInputFields(
140
+			$where_args,
141
+			[],
142
+			[]
143
+		);
144
+	}
145 145
 }
Please login to merge, or discard this patch.
services/graphql/connection_resolvers/PriceTypeConnectionResolver.php 1 patch
Indentation   +64 added lines, -64 removed lines patch added patch discarded remove patch
@@ -14,79 +14,79 @@
 block discarded – undo
14 14
  */
15 15
 class PriceTypeConnectionResolver extends AbstractConnectionResolver
16 16
 {
17
-    // phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
18
-    public function get_loader_name(): string
19
-    {
20
-        return 'espresso_priceType';
21
-    }
17
+	// phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
18
+	public function get_loader_name(): string
19
+	{
20
+		return 'espresso_priceType';
21
+	}
22 22
 
23
-    /**
24
-     * @return EEM_Price_Type
25
-     * @throws EE_Error
26
-     * @throws InvalidArgumentException
27
-     * @throws InvalidDataTypeException
28
-     * @throws InvalidInterfaceException
29
-     * @throws ReflectionException
30
-     */
31
-    // phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
32
-    public function get_query(): EEM_Price_Type
33
-    {
34
-        return EEM_Price_Type::instance();
35
-    }
23
+	/**
24
+	 * @return EEM_Price_Type
25
+	 * @throws EE_Error
26
+	 * @throws InvalidArgumentException
27
+	 * @throws InvalidDataTypeException
28
+	 * @throws InvalidInterfaceException
29
+	 * @throws ReflectionException
30
+	 */
31
+	// phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
32
+	public function get_query(): EEM_Price_Type
33
+	{
34
+		return EEM_Price_Type::instance();
35
+	}
36 36
 
37 37
 
38
-    /**
39
-     * Return an array of item IDs from the query
40
-     *
41
-     * @return array
42
-     */
43
-    // phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
44
-    public function get_ids(): array
45
-    {
46
-        $results = $this->query->get_col($this->query_args);
38
+	/**
39
+	 * Return an array of item IDs from the query
40
+	 *
41
+	 * @return array
42
+	 */
43
+	// phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
44
+	public function get_ids(): array
45
+	{
46
+		$results = $this->query->get_col($this->query_args);
47 47
 
48
-        return ! empty($results) ? $results : [];
49
-    }
48
+		return ! empty($results) ? $results : [];
49
+	}
50 50
 
51 51
 
52
-    /**
53
-     * Here, we map the args from the input, then we make sure that we're only querying
54
-     * for IDs. The IDs are then passed down the resolve tree, and deferred resolvers
55
-     * handle batch resolution of the posts.
56
-     *
57
-     * @return array
58
-     * @throws InvalidArgumentException
59
-     * @throws InvalidDataTypeException
60
-     * @throws InvalidInterfaceException
61
-     */
62
-    // phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
63
-    public function get_query_args(): array
64
-    {
65
-        $where_params = [];
66
-        $query_args   = [];
52
+	/**
53
+	 * Here, we map the args from the input, then we make sure that we're only querying
54
+	 * for IDs. The IDs are then passed down the resolve tree, and deferred resolvers
55
+	 * handle batch resolution of the posts.
56
+	 *
57
+	 * @return array
58
+	 * @throws InvalidArgumentException
59
+	 * @throws InvalidDataTypeException
60
+	 * @throws InvalidInterfaceException
61
+	 */
62
+	// phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
63
+	public function get_query_args(): array
64
+	{
65
+		$where_params = [];
66
+		$query_args   = [];
67 67
 
68
-        $query_args['limit'] = $this->getLimit();
68
+		$query_args['limit'] = $this->getLimit();
69 69
 
70
-        // Avoid multiple entries by join.
71
-        $query_args['group_by'] = 'PRT_ID';
70
+		// Avoid multiple entries by join.
71
+		$query_args['group_by'] = 'PRT_ID';
72 72
 
73
-        $where_params = apply_filters(
74
-            'FHEE__EventEspresso_core_domain_services_graphql_connection_resolvers__priceType_where_params',
75
-            $where_params,
76
-            $this->source,
77
-            $this->args
78
-        );
73
+		$where_params = apply_filters(
74
+			'FHEE__EventEspresso_core_domain_services_graphql_connection_resolvers__priceType_where_params',
75
+			$where_params,
76
+			$this->source,
77
+			$this->args
78
+		);
79 79
 
80
-        $query_args[] = $where_params;
80
+		$query_args[] = $where_params;
81 81
 
82
-        /**
83
-         * Return the $query_args
84
-         */
85
-        return apply_filters(
86
-            'FHEE__EventEspresso_core_domain_services_graphql_connection_resolvers__priceType_query_args',
87
-            $query_args,
88
-            $this->source,
89
-            $this->args
90
-        );
91
-    }
82
+		/**
83
+		 * Return the $query_args
84
+		 */
85
+		return apply_filters(
86
+			'FHEE__EventEspresso_core_domain_services_graphql_connection_resolvers__priceType_query_args',
87
+			$query_args,
88
+			$this->source,
89
+			$this->args
90
+		);
91
+	}
92 92
 }
Please login to merge, or discard this patch.
domain/services/graphql/connection_resolvers/DatetimeConnectionResolver.php 1 patch
Indentation   +189 added lines, -189 removed lines patch added patch discarded remove patch
@@ -19,193 +19,193 @@
 block discarded – undo
19 19
  */
20 20
 class DatetimeConnectionResolver extends AbstractConnectionResolver
21 21
 {
22
-    // phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
23
-    public function get_loader_name(): string
24
-    {
25
-        return 'espresso_datetime';
26
-    }
27
-
28
-    /**
29
-     * @return EEM_Datetime
30
-     * @throws EE_Error
31
-     * @throws InvalidArgumentException
32
-     * @throws InvalidDataTypeException
33
-     * @throws InvalidInterfaceException
34
-     * @throws ReflectionException
35
-     */
36
-    // phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
37
-    public function get_query(): EEM_Datetime
38
-    {
39
-        return EEM_Datetime::instance();
40
-    }
41
-
42
-    /**
43
-     * Return an array of item IDs from the query
44
-     *
45
-     * @return array
46
-     */
47
-    // phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
48
-    public function get_ids(): array
49
-    {
50
-        $results = $this->query->get_col($this->query_args);
51
-
52
-        return ! empty($results) ? $results : [];
53
-    }
54
-
55
-    /**
56
-     * Here, we map the args from the input, then we make sure that we're only querying
57
-     * for IDs. The IDs are then passed down the resolve tree, and deferred resolvers
58
-     * handle batch resolution of the posts.
59
-     *
60
-     * @return array
61
-     * @throws EE_Error
62
-     * @throws InvalidArgumentException
63
-     * @throws InvalidDataTypeException
64
-     * @throws InvalidInterfaceException
65
-     * @throws ReflectionException
66
-     */
67
-    // phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
68
-    public function get_query_args(): array
69
-    {
70
-        $where_params = ['DTT_deleted' => ['IN', [true, false]]];
71
-        $query_args   = [];
72
-
73
-        $query_args['limit'] = $this->getLimit();
74
-
75
-        // Avoid multiple entries by join.
76
-        $query_args['group_by'] = 'DTT_ID';
77
-
78
-        $query_args['default_where_conditions'] = 'minimum';
79
-
80
-        /**
81
-         * Collect the input_fields and sanitize them to prepare them for sending to the Query
82
-         */
83
-        $input_fields = [];
84
-        if (! empty($this->args['where'])) {
85
-            $input_fields = $this->sanitizeInputFields($this->args['where']);
86
-
87
-            // Use the proper operator.
88
-            if (! empty($input_fields['EVT_ID']) && is_array($input_fields['EVT_ID'])) {
89
-                $input_fields['EVT_ID'] = ['in', $input_fields['EVT_ID']];
90
-            }
91
-            if (! empty($input_fields['Ticket.TKT_ID']) && is_array($input_fields['Ticket.TKT_ID'])) {
92
-                $input_fields['Ticket.TKT_ID'] = ['in', $input_fields['Ticket.TKT_ID']];
93
-            }
94
-        }
95
-
96
-        /**
97
-         * Determine where we're at in the Graph and adjust the query context appropriately.
98
-         *
99
-         * For example, if we're querying for datetime as a field of event query, this will automatically
100
-         * set the query to pull datetimes that belong to that event.
101
-         * We can set more cases for other source types.
102
-         */
103
-        if (is_object($this->source)) {
104
-            switch (true) {
105
-                // It's surely an event
106
-                case $this->source instanceof Post:
107
-                    $where_params['EVT_ID'] = $this->source->ID;
108
-                    break;
109
-                case $this->source instanceof EE_Event:
110
-                    $where_params['EVT_ID'] = $this->source->ID();
111
-                    break;
112
-                case $this->source instanceof EE_Ticket:
113
-                    $where_params['Ticket.TKT_ID'] = $this->source->ID();
114
-                    break;
115
-                case $this->source instanceof EE_Checkin:
116
-                    $where_params['Checkin.CHK_ID'] = $this->source->ID();
117
-                    break;
118
-            }
119
-        }
120
-
121
-        /**
122
-         * Merge the input_fields with the default query_args
123
-         */
124
-        if (! empty($input_fields)) {
125
-            $where_params = array_merge($where_params, $input_fields);
126
-        }
127
-
128
-        [$query_args, $where_params] = $this->mapOrderbyInputArgs($query_args, $where_params, 'DTT_ID');
129
-
130
-        $search = isset($this->args['where']) ? $this->getSearchKeywords($this->args['where']) : '';
131
-
132
-        if (! empty($search)) {
133
-            // use OR operator to search in any of the fields
134
-            $where_params['OR'] = array(
135
-                'DTT_name'        => array('LIKE', '%' . $search . '%'),
136
-                'DTT_description' => array('LIKE', '%' . $search . '%'),
137
-            );
138
-        }
139
-
140
-        if (! empty($this->args['where']['upcoming'])) {
141
-            $where_params['DTT_EVT_start'] = array(
142
-                '>',
143
-                EEM_Datetime::instance()->current_time_for_query('DTT_EVT_start')
144
-            );
145
-        }
146
-
147
-        if (! empty($this->args['where']['active'])) {
148
-            $where_params['DTT_EVT_start'] = array(
149
-                '<',
150
-                EEM_Datetime::instance()->current_time_for_query('DTT_EVT_start')
151
-            );
152
-            $where_params['DTT_EVT_end'] = array(
153
-                '>',
154
-                EEM_Datetime::instance()->current_time_for_query('DTT_EVT_end')
155
-            );
156
-        }
157
-
158
-        if (! empty($this->args['where']['expired'])) {
159
-            $where_params['DTT_EVT_end'] = array(
160
-                '<',
161
-                EEM_Datetime::instance()->current_time_for_query('DTT_EVT_end')
162
-            );
163
-        }
164
-
165
-        $where_params = apply_filters(
166
-            'FHEE__EventEspresso_core_domain_services_graphql_connection_resolvers__datetime_where_params',
167
-            $where_params,
168
-            $this->source,
169
-            $this->args
170
-        );
171
-
172
-        $query_args[] = $where_params;
173
-
174
-        /**
175
-         * Return the $query_args
176
-         */
177
-        return apply_filters(
178
-            'FHEE__EventEspresso_core_domain_services_graphql_connection_resolvers__datetime_query_args',
179
-            $query_args,
180
-            $this->source,
181
-            $this->args
182
-        );
183
-    }
184
-
185
-
186
-    /**
187
-     * This sets up the "allowed" args, and translates the GraphQL-friendly keys to model
188
-     * friendly keys.
189
-     *
190
-     * @param array $where_args
191
-     * @return array
192
-     */
193
-    public function sanitizeInputFields(array $where_args): array
194
-    {
195
-        $arg_mapping = [
196
-            'event'      => 'EVT_ID',
197
-            'eventIn'    => 'EVT_ID',
198
-            'eventId'    => 'EVT_ID',
199
-            'eventIdIn'  => 'EVT_ID',
200
-            'ticket'     => 'Ticket.TKT_ID',
201
-            'ticketIn'   => 'Ticket.TKT_ID',
202
-            'ticketId'   => 'Ticket.TKT_ID',
203
-            'ticketIdIn' => 'Ticket.TKT_ID',
204
-        ];
205
-        return $this->sanitizeWhereArgsForInputFields(
206
-            $where_args,
207
-            $arg_mapping,
208
-            ['event', 'eventIn', 'ticket', 'ticketIn']
209
-        );
210
-    }
22
+	// phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
23
+	public function get_loader_name(): string
24
+	{
25
+		return 'espresso_datetime';
26
+	}
27
+
28
+	/**
29
+	 * @return EEM_Datetime
30
+	 * @throws EE_Error
31
+	 * @throws InvalidArgumentException
32
+	 * @throws InvalidDataTypeException
33
+	 * @throws InvalidInterfaceException
34
+	 * @throws ReflectionException
35
+	 */
36
+	// phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
37
+	public function get_query(): EEM_Datetime
38
+	{
39
+		return EEM_Datetime::instance();
40
+	}
41
+
42
+	/**
43
+	 * Return an array of item IDs from the query
44
+	 *
45
+	 * @return array
46
+	 */
47
+	// phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
48
+	public function get_ids(): array
49
+	{
50
+		$results = $this->query->get_col($this->query_args);
51
+
52
+		return ! empty($results) ? $results : [];
53
+	}
54
+
55
+	/**
56
+	 * Here, we map the args from the input, then we make sure that we're only querying
57
+	 * for IDs. The IDs are then passed down the resolve tree, and deferred resolvers
58
+	 * handle batch resolution of the posts.
59
+	 *
60
+	 * @return array
61
+	 * @throws EE_Error
62
+	 * @throws InvalidArgumentException
63
+	 * @throws InvalidDataTypeException
64
+	 * @throws InvalidInterfaceException
65
+	 * @throws ReflectionException
66
+	 */
67
+	// phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
68
+	public function get_query_args(): array
69
+	{
70
+		$where_params = ['DTT_deleted' => ['IN', [true, false]]];
71
+		$query_args   = [];
72
+
73
+		$query_args['limit'] = $this->getLimit();
74
+
75
+		// Avoid multiple entries by join.
76
+		$query_args['group_by'] = 'DTT_ID';
77
+
78
+		$query_args['default_where_conditions'] = 'minimum';
79
+
80
+		/**
81
+		 * Collect the input_fields and sanitize them to prepare them for sending to the Query
82
+		 */
83
+		$input_fields = [];
84
+		if (! empty($this->args['where'])) {
85
+			$input_fields = $this->sanitizeInputFields($this->args['where']);
86
+
87
+			// Use the proper operator.
88
+			if (! empty($input_fields['EVT_ID']) && is_array($input_fields['EVT_ID'])) {
89
+				$input_fields['EVT_ID'] = ['in', $input_fields['EVT_ID']];
90
+			}
91
+			if (! empty($input_fields['Ticket.TKT_ID']) && is_array($input_fields['Ticket.TKT_ID'])) {
92
+				$input_fields['Ticket.TKT_ID'] = ['in', $input_fields['Ticket.TKT_ID']];
93
+			}
94
+		}
95
+
96
+		/**
97
+		 * Determine where we're at in the Graph and adjust the query context appropriately.
98
+		 *
99
+		 * For example, if we're querying for datetime as a field of event query, this will automatically
100
+		 * set the query to pull datetimes that belong to that event.
101
+		 * We can set more cases for other source types.
102
+		 */
103
+		if (is_object($this->source)) {
104
+			switch (true) {
105
+				// It's surely an event
106
+				case $this->source instanceof Post:
107
+					$where_params['EVT_ID'] = $this->source->ID;
108
+					break;
109
+				case $this->source instanceof EE_Event:
110
+					$where_params['EVT_ID'] = $this->source->ID();
111
+					break;
112
+				case $this->source instanceof EE_Ticket:
113
+					$where_params['Ticket.TKT_ID'] = $this->source->ID();
114
+					break;
115
+				case $this->source instanceof EE_Checkin:
116
+					$where_params['Checkin.CHK_ID'] = $this->source->ID();
117
+					break;
118
+			}
119
+		}
120
+
121
+		/**
122
+		 * Merge the input_fields with the default query_args
123
+		 */
124
+		if (! empty($input_fields)) {
125
+			$where_params = array_merge($where_params, $input_fields);
126
+		}
127
+
128
+		[$query_args, $where_params] = $this->mapOrderbyInputArgs($query_args, $where_params, 'DTT_ID');
129
+
130
+		$search = isset($this->args['where']) ? $this->getSearchKeywords($this->args['where']) : '';
131
+
132
+		if (! empty($search)) {
133
+			// use OR operator to search in any of the fields
134
+			$where_params['OR'] = array(
135
+				'DTT_name'        => array('LIKE', '%' . $search . '%'),
136
+				'DTT_description' => array('LIKE', '%' . $search . '%'),
137
+			);
138
+		}
139
+
140
+		if (! empty($this->args['where']['upcoming'])) {
141
+			$where_params['DTT_EVT_start'] = array(
142
+				'>',
143
+				EEM_Datetime::instance()->current_time_for_query('DTT_EVT_start')
144
+			);
145
+		}
146
+
147
+		if (! empty($this->args['where']['active'])) {
148
+			$where_params['DTT_EVT_start'] = array(
149
+				'<',
150
+				EEM_Datetime::instance()->current_time_for_query('DTT_EVT_start')
151
+			);
152
+			$where_params['DTT_EVT_end'] = array(
153
+				'>',
154
+				EEM_Datetime::instance()->current_time_for_query('DTT_EVT_end')
155
+			);
156
+		}
157
+
158
+		if (! empty($this->args['where']['expired'])) {
159
+			$where_params['DTT_EVT_end'] = array(
160
+				'<',
161
+				EEM_Datetime::instance()->current_time_for_query('DTT_EVT_end')
162
+			);
163
+		}
164
+
165
+		$where_params = apply_filters(
166
+			'FHEE__EventEspresso_core_domain_services_graphql_connection_resolvers__datetime_where_params',
167
+			$where_params,
168
+			$this->source,
169
+			$this->args
170
+		);
171
+
172
+		$query_args[] = $where_params;
173
+
174
+		/**
175
+		 * Return the $query_args
176
+		 */
177
+		return apply_filters(
178
+			'FHEE__EventEspresso_core_domain_services_graphql_connection_resolvers__datetime_query_args',
179
+			$query_args,
180
+			$this->source,
181
+			$this->args
182
+		);
183
+	}
184
+
185
+
186
+	/**
187
+	 * This sets up the "allowed" args, and translates the GraphQL-friendly keys to model
188
+	 * friendly keys.
189
+	 *
190
+	 * @param array $where_args
191
+	 * @return array
192
+	 */
193
+	public function sanitizeInputFields(array $where_args): array
194
+	{
195
+		$arg_mapping = [
196
+			'event'      => 'EVT_ID',
197
+			'eventIn'    => 'EVT_ID',
198
+			'eventId'    => 'EVT_ID',
199
+			'eventIdIn'  => 'EVT_ID',
200
+			'ticket'     => 'Ticket.TKT_ID',
201
+			'ticketIn'   => 'Ticket.TKT_ID',
202
+			'ticketId'   => 'Ticket.TKT_ID',
203
+			'ticketIdIn' => 'Ticket.TKT_ID',
204
+		];
205
+		return $this->sanitizeWhereArgsForInputFields(
206
+			$where_args,
207
+			$arg_mapping,
208
+			['event', 'eventIn', 'ticket', 'ticketIn']
209
+		);
210
+	}
211 211
 }
Please login to merge, or discard this patch.
core/services/graphql/enums/EnumBase.php 1 patch
Indentation   +87 added lines, -87 removed lines patch added patch discarded remove patch
@@ -13,91 +13,91 @@
 block discarded – undo
13 13
 abstract class EnumBase implements EnumInterface
14 14
 {
15 15
 
16
-    /**
17
-     * @var string $namespace The graphql namespace/prefix.
18
-     */
19
-    protected $namespace = 'Espresso';
20
-
21
-    /**
22
-     * @var string $name
23
-     */
24
-    protected $name = '';
25
-
26
-    /**
27
-     * @var string $description
28
-     */
29
-    protected $description = '';
30
-
31
-    /**
32
-     * @var array $values
33
-     */
34
-    protected $values = [];
35
-
36
-    /**
37
-     * EnumBase constructor.
38
-     */
39
-    public function __construct()
40
-    {
41
-        $this->setValues($this->getValues());
42
-    }
43
-
44
-
45
-    /**
46
-     * @return array
47
-     */
48
-    abstract protected function getValues(): array;
49
-
50
-
51
-    /**
52
-     * @return string
53
-     */
54
-    public function name(): string
55
-    {
56
-        return $this->name;
57
-    }
58
-
59
-
60
-    /**
61
-     * @param string $name
62
-     */
63
-    protected function setName(string $name)
64
-    {
65
-        $this->name = $name;
66
-    }
67
-
68
-
69
-    /**
70
-     * @return string
71
-     */
72
-    public function description(): string
73
-    {
74
-        return $this->description;
75
-    }
76
-
77
-
78
-    /**
79
-     * @param string $description
80
-     */
81
-    protected function setDescription(string $description)
82
-    {
83
-        $this->description = $description;
84
-    }
85
-
86
-
87
-    /**
88
-     * @return array
89
-     */
90
-    public function values(): array
91
-    {
92
-        return $this->values;
93
-    }
94
-
95
-
96
-    /**
97
-     * @param array $values
98
-     */
99
-    protected function setValues(array $values)
100
-    {
101
-        $this->values = $values;
102
-    }
16
+	/**
17
+	 * @var string $namespace The graphql namespace/prefix.
18
+	 */
19
+	protected $namespace = 'Espresso';
20
+
21
+	/**
22
+	 * @var string $name
23
+	 */
24
+	protected $name = '';
25
+
26
+	/**
27
+	 * @var string $description
28
+	 */
29
+	protected $description = '';
30
+
31
+	/**
32
+	 * @var array $values
33
+	 */
34
+	protected $values = [];
35
+
36
+	/**
37
+	 * EnumBase constructor.
38
+	 */
39
+	public function __construct()
40
+	{
41
+		$this->setValues($this->getValues());
42
+	}
43
+
44
+
45
+	/**
46
+	 * @return array
47
+	 */
48
+	abstract protected function getValues(): array;
49
+
50
+
51
+	/**
52
+	 * @return string
53
+	 */
54
+	public function name(): string
55
+	{
56
+		return $this->name;
57
+	}
58
+
59
+
60
+	/**
61
+	 * @param string $name
62
+	 */
63
+	protected function setName(string $name)
64
+	{
65
+		$this->name = $name;
66
+	}
67
+
68
+
69
+	/**
70
+	 * @return string
71
+	 */
72
+	public function description(): string
73
+	{
74
+		return $this->description;
75
+	}
76
+
77
+
78
+	/**
79
+	 * @param string $description
80
+	 */
81
+	protected function setDescription(string $description)
82
+	{
83
+		$this->description = $description;
84
+	}
85
+
86
+
87
+	/**
88
+	 * @return array
89
+	 */
90
+	public function values(): array
91
+	{
92
+		return $this->values;
93
+	}
94
+
95
+
96
+	/**
97
+	 * @param array $values
98
+	 */
99
+	protected function setValues(array $values)
100
+	{
101
+		$this->values = $values;
102
+	}
103 103
 }
Please login to merge, or discard this patch.
core/services/graphql/connections/ConnectionBase.php 1 patch
Indentation   +15 added lines, -15 removed lines patch added patch discarded remove patch
@@ -15,22 +15,22 @@
 block discarded – undo
15 15
 abstract class ConnectionBase implements ConnectionInterface
16 16
 {
17 17
 
18
-    /**
19
-     * @var EEM_Base $model
20
-     */
21
-    protected $model;
18
+	/**
19
+	 * @var EEM_Base $model
20
+	 */
21
+	protected $model;
22 22
 
23
-    /**
24
-     * @var string $namespace The graphql namespace/prefix.
25
-     */
26
-    protected $namespace = 'Espresso';
23
+	/**
24
+	 * @var string $namespace The graphql namespace/prefix.
25
+	 */
26
+	protected $namespace = 'Espresso';
27 27
 
28 28
 
29
-    /**
30
-     * @param EEM_Base $model
31
-     */
32
-    public function __construct(EEM_Base $model)
33
-    {
34
-        $this->model = $model;
35
-    }
29
+	/**
30
+	 * @param EEM_Base $model
31
+	 */
32
+	public function __construct(EEM_Base $model)
33
+	{
34
+		$this->model = $model;
35
+	}
36 36
 }
Please login to merge, or discard this patch.
core/services/graphql/loaders/GQLDataDomainInterface.php 1 patch
Indentation   +8 added lines, -8 removed lines patch added patch discarded remove patch
@@ -15,12 +15,12 @@
 block discarded – undo
15 15
 interface GQLDataDomainInterface
16 16
 {
17 17
 
18
-    /**
19
-     * @param array      $loaders The loaders accessible in the AppContext
20
-     * @param AppContext $context The AppContext
21
-     * @return array
22
-     * @return array
23
-     * @since $VID:$
24
-     */
25
-    public function registerLoaders(array $loaders, AppContext $context): array;
18
+	/**
19
+	 * @param array      $loaders The loaders accessible in the AppContext
20
+	 * @param AppContext $context The AppContext
21
+	 * @return array
22
+	 * @return array
23
+	 * @since $VID:$
24
+	 */
25
+	public function registerLoaders(array $loaders, AppContext $context): array;
26 26
 }
Please login to merge, or discard this patch.