Skip to content

Commit fb4d018

Browse files
refactor: re-added the join_prefix
1 parent 58ea54e commit fb4d018

File tree

9 files changed

+31
-7
lines changed

9 files changed

+31
-7
lines changed

crates/domains/src/blocks/query_params.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@ impl QueryParamsBuilder for BlocksQuery {
8686
&mut query_builder,
8787
&self.pagination,
8888
cursor_fields,
89+
None,
8990
);
9091

9192
query_builder

crates/domains/src/infra/repository/query_builder.rs

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -107,14 +107,22 @@ pub trait QueryParamsBuilder {
107107
}
108108

109109
if let Some(after) = pagination.after.as_ref() {
110-
let after_conditions =
111-
Self::create_pagination_conditions(cursor_fields, after, ">");
110+
let after_conditions = Self::create_pagination_conditions(
111+
cursor_fields,
112+
after,
113+
">",
114+
join_prefix,
115+
);
112116
conditions.push(after_conditions);
113117
}
114118

115119
if let Some(before) = pagination.before.as_ref() {
116-
let before_conditions =
117-
Self::create_pagination_conditions(cursor_fields, before, "<");
120+
let before_conditions = Self::create_pagination_conditions(
121+
cursor_fields,
122+
before,
123+
"<",
124+
join_prefix,
125+
);
118126
conditions.push(before_conditions);
119127
}
120128

@@ -151,11 +159,16 @@ pub trait QueryParamsBuilder {
151159
cursor_fields: &[&str],
152160
cursor: &Cursor,
153161
operation: &str,
162+
join_prefix: Option<&str>,
154163
) -> String {
155164
if cursor_fields.is_empty() || cursor.is_empty() {
156165
return String::new();
157166
}
158167

168+
let cursor_fields = cursor_fields
169+
.iter()
170+
.map(|f| Self::prefix_field(f, join_prefix))
171+
.collect::<Vec<_>>();
159172
let cursor_values = cursor.split();
160173

161174
let result = (0..cursor_values.len())
@@ -186,6 +199,7 @@ pub trait QueryParamsBuilder {
186199
query_builder: &mut QueryBuilder<Postgres>,
187200
pagination: &QueryPagination,
188201
cursor_fields: &[&str],
202+
join_prefix: Option<&str>,
189203
) {
190204
let order_by: OrderBy;
191205
let limit: i32;
@@ -206,7 +220,8 @@ pub trait QueryParamsBuilder {
206220
}
207221
}
208222

209-
let order_by_sql = Self::order_by_statement(cursor_fields, order_by);
223+
let order_by_sql =
224+
Self::order_by_statement(cursor_fields, order_by, join_prefix);
210225
query_builder.push(order_by_sql);
211226
query_builder.push(format!(" LIMIT {limit}"));
212227
if let Some(offset) = pagination.offset {
@@ -217,9 +232,11 @@ pub trait QueryParamsBuilder {
217232
fn order_by_statement(
218233
order_by_fields: &[&str],
219234
order_by: OrderBy,
235+
join_prefix: Option<&str>,
220236
) -> String {
221237
let fields = order_by_fields
222238
.iter()
239+
.map(|field| Self::prefix_field(field, join_prefix))
223240
.map(|field| format!("{field} {order_by}"))
224241
.collect::<Vec<_>>()
225242
.join(", ");

crates/domains/src/inputs/query_params.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,7 @@ impl QueryParamsBuilder for InputsQuery {
152152
&mut query_builder,
153153
&self.pagination,
154154
cursor_fields,
155+
None,
155156
);
156157

157158
query_builder

crates/domains/src/messages/query_params.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,7 @@ impl QueryParamsBuilder for MessagesQuery {
121121
&mut query_builder,
122122
&self.pagination,
123123
cursor_fields,
124+
None,
124125
);
125126

126127
query_builder

crates/domains/src/outputs/query_params.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,7 @@ impl QueryParamsBuilder for OutputsQuery {
132132
&mut query_builder,
133133
&self.pagination,
134134
cursor_fields,
135+
None,
135136
);
136137

137138
query_builder

crates/domains/src/predicates/query_params.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,8 +86,7 @@ impl QueryParamsBuilder for PredicatesQuery {
8686
conditions.push(format!("pt.asset_id = '{}'", asset));
8787
}
8888

89-
let cursor_fields =
90-
&["pt.block_height", "pt.tx_index", "pt.input_index"];
89+
let cursor_fields = &["block_height", "tx_index", "input_index"];
9190
let join_prefix = Some("pt.");
9291

9392
Self::apply_conditions(
@@ -103,6 +102,7 @@ impl QueryParamsBuilder for PredicatesQuery {
103102
&mut query_builder,
104103
&self.pagination,
105104
cursor_fields,
105+
join_prefix,
106106
);
107107

108108
query_builder

crates/domains/src/receipts/query_params.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,7 @@ impl QueryParamsBuilder for ReceiptsQuery {
152152
&mut query_builder,
153153
&self.pagination,
154154
cursor_fields,
155+
None,
155156
);
156157

157158
query_builder

crates/domains/src/transactions/query_params.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,7 @@ impl QueryParamsBuilder for TransactionsQuery {
129129
&mut query_builder,
130130
&self.pagination,
131131
cursor_fields,
132+
None,
132133
);
133134

134135
query_builder

crates/domains/src/utxos/query_params.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -185,6 +185,7 @@ impl QueryParamsBuilder for UtxosQuery {
185185
&mut query_builder,
186186
&self.pagination,
187187
cursor_fields,
188+
None,
188189
);
189190

190191
query_builder

0 commit comments

Comments
 (0)