Skip to content

Commit 8a1d24b

Browse files
committed
Migrate remaining usage of ResourceSyncStatus
1 parent 1e4cfe1 commit 8a1d24b

File tree

6 files changed

+65
-46
lines changed

6 files changed

+65
-46
lines changed

libpretixsync/src/main/java/eu/pretix/libpretixsync/sync/OrderCleanup.kt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import eu.pretix.libpretixsync.api.ApiException
44
import eu.pretix.libpretixsync.api.PretixApi
55
import eu.pretix.libpretixsync.db.Order
66
import eu.pretix.libpretixsync.db.OrderPosition
7-
import eu.pretix.libpretixsync.db.ResourceSyncStatus
87
import eu.pretix.libpretixsync.models.db.toModel
98
import eu.pretix.libpretixsync.sqldelight.SyncDatabase
109
import eu.pretix.libpretixsync.sync.SyncManager.ProgressFeedback
@@ -161,7 +160,10 @@ class OrderCleanup(val db: SyncDatabase, val store: BlockingEntityStore<Persista
161160
val slug = t.get<String>(0)
162161
val deletionDate = deletionTimeForEvent(slug)
163162
if (deletionDate == null || deletionDate < System.currentTimeMillis()) {
164-
store.delete(ResourceSyncStatus::class.java).where(ResourceSyncStatus.RESOURCE.like("order%")).and(ResourceSyncStatus.EVENT_SLUG.eq(slug))
163+
db.resourceSyncStatusQueries.deleteByResourceFilterAndEventSlug(
164+
filter = "order%",
165+
event_slug = slug,
166+
)
165167
while (true) {
166168
val ordersToDelete: List<Tuple> = store.select(Order.ID).where(Order.EVENT_SLUG.eq(slug)).limit(200).get().toList()
167169
if (ordersToDelete.isEmpty()) {

libpretixsync/src/main/java/eu/pretix/libpretixsync/sync/SyncManager.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@
2626
import eu.pretix.libpretixsync.db.Receipt;
2727
import eu.pretix.libpretixsync.db.ReceiptLine;
2828
import eu.pretix.libpretixsync.db.ReceiptPayment;
29-
import eu.pretix.libpretixsync.db.ResourceSyncStatus;
3029
import io.requery.BlockingEntityStore;
3130
import io.requery.Persistable;
3231

@@ -479,7 +478,7 @@ protected void downloadData(ProgressFeedback feedback, Boolean skip_orders, Stri
479478
db.getCompatQueries().truncateCheckIn();
480479
dataStore.delete(OrderPosition.class).get().value();
481480
dataStore.delete(Order.class).get().value();
482-
dataStore.delete(ResourceSyncStatus.class).where(ResourceSyncStatus.RESOURCE.like("order%")).get().value();
481+
db.getResourceSyncStatusQueries().deleteByResourceFilter("order%");
483482
if ((System.currentTimeMillis() - configStore.getLastCleanup()) > 3600 * 1000 * 12) {
484483
OrderCleanup oc = new OrderCleanup(db, dataStore, fileStorage, api, configStore.getSyncCycleId(), feedback);
485484
oc.deleteOldPdfImages();
@@ -493,7 +492,7 @@ protected void downloadData(ProgressFeedback feedback, Boolean skip_orders, Stri
493492
dataStore.delete(OrderPosition.class).get().value();
494493
dataStore.delete(Order.class).get().value();
495494
db.getCompatQueries().truncateReusableMedium();
496-
dataStore.delete(ResourceSyncStatus.class).get().value();
495+
db.getCompatQueries().truncateResourceSyncStatus();
497496
throw new SyncException(e.getMessage());
498497
} catch (JSONException e) {
499498
e.printStackTrace();

libpretixsync/src/main/sqldelight/common/eu/pretix/libpretixsync/sqldelight/ResourceSyncStatus.sq

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
selectByResource:
2+
SELECT *
3+
FROM ResourceSyncStatus
4+
WHERE resource = ?;
5+
16
selectByResourceAndEventSlug:
27
SELECT *
38
FROM ResourceSyncStatus
@@ -8,6 +13,14 @@ deleteById:
813
DELETE FROM ResourceSyncStatus
914
WHERE id = ?;
1015

16+
deleteByResourceFilter:
17+
DELETE FROM ResourceSyncStatus
18+
WHERE resource LIKE :filter;
19+
20+
deleteByResourceFilterAndEventSlug:
21+
DELETE FROM ResourceSyncStatus
22+
WHERE resource LIKE :filter AND event_slug = :event_slug;
23+
1124
insert:
1225
INSERT INTO ResourceSyncStatus
1326
(

libpretixsync/src/main/sqldelight/postgres/eu/pretix/libpretixsync/sqldelight/compat.sq

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,9 @@ SELECT currval('quota_id_seq') AS Long;
2828
truncateCheckIn:
2929
TRUNCATE CheckIn;
3030

31+
truncateResourceSyncStatus:
32+
TRUNCATE ResourceSyncStatus;
33+
3134
truncateReusableMedium:
3235
TRUNCATE ReusableMedium;
3336

libpretixsync/src/main/sqldelight/sqlite/eu/pretix/libpretixsync/sqldelight/compat.sq

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,9 @@ SELECT last_insert_rowid();
2828
truncateCheckIn:
2929
DELETE FROM CheckIn;
3030

31+
truncateResourceSyncStatus:
32+
DELETE FROM ResourceSyncStatus;
33+
3134
truncateReusableMedium:
3235
DELETE FROM ReusableMedium;
3336

libpretixsync/src/test/java/eu/pretix/libpretixsync/sync/OrderSyncTest.kt

Lines changed: 40 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import eu.pretix.libpretixsync.api.ApiException
44
import eu.pretix.libpretixsync.db.BaseDatabaseTest
55
import eu.pretix.libpretixsync.db.Order
66
import eu.pretix.libpretixsync.db.OrderPosition
7-
import eu.pretix.libpretixsync.db.ResourceSyncStatus
87
import eu.pretix.pretixscan.scanproxy.tests.test.FakeConfigStore
98
import eu.pretix.pretixscan.scanproxy.tests.test.FakeFileStorage
109
import eu.pretix.pretixscan.scanproxy.tests.test.FakePretixApi
@@ -66,10 +65,10 @@ class OrderSyncTest : BaseDatabaseTest() {
6665
assertEquals(2, dataStore.count(Order::class.java).get().value())
6766
assertEquals(5, dataStore.count(OrderPosition::class.java).get().value())
6867
assertEquals(3L, db.checkInQueries.count().executeAsOne())
69-
val rlm = dataStore.select(ResourceSyncStatus::class.java).where(ResourceSyncStatus.RESOURCE.eq("orders_withpdfdata")).get().first()
70-
assertEquals(rlm.getEvent_slug(), "demo")
71-
assertEquals(rlm.getLast_modified(), "timestamp1")
72-
assertEquals(rlm.getStatus(), "complete")
68+
val rlm = db.resourceSyncStatusQueries.selectByResource("orders_withpdfdata").executeAsList().first()
69+
assertEquals(rlm.event_slug, "demo")
70+
assertEquals(rlm.last_modified, "timestamp1")
71+
assertEquals(rlm.status, "complete")
7372
}
7473

7574
@Test
@@ -101,10 +100,10 @@ class OrderSyncTest : BaseDatabaseTest() {
101100
assertEquals(5, dataStore.count(OrderPosition::class.java).get().value())
102101
assertEquals(3L, db.checkInQueries.count().executeAsOne())
103102

104-
val rlm = dataStore.select(ResourceSyncStatus::class.java).where(ResourceSyncStatus.RESOURCE.eq("orders_withpdfdata")).get().first()
105-
assertEquals(rlm.getEvent_slug(), "demo")
106-
assertEquals(rlm.getLast_modified(), "timestamp1")
107-
assertEquals(rlm.getStatus(), "complete")
103+
val rlm = db.resourceSyncStatusQueries.selectByResource("orders_withpdfdata").executeAsList().first()
104+
assertEquals(rlm.event_slug, "demo")
105+
assertEquals(rlm.last_modified, "timestamp1")
106+
assertEquals(rlm.status, "complete")
108107
}
109108

110109
@Test
@@ -142,10 +141,10 @@ class OrderSyncTest : BaseDatabaseTest() {
142141
assertEquals(5, dataStore.count(OrderPosition::class.java).get().value())
143142
assertEquals(3L, db.checkInQueries.count().executeAsOne())
144143

145-
val rlm = dataStore.select(ResourceSyncStatus::class.java).where(ResourceSyncStatus.RESOURCE.eq("orders_withpdfdata")).get().first()
146-
assertEquals(rlm.getEvent_slug(), "demo")
147-
assertEquals(rlm.getLast_modified(), "timestamp1")
148-
assertEquals(rlm.getStatus(), "incomplete:2019-01-01T00:11:30Z")
144+
val rlm = db.resourceSyncStatusQueries.selectByResource("orders_withpdfdata").executeAsList().first()
145+
assertEquals(rlm.event_slug, "demo")
146+
assertEquals(rlm.last_modified, "timestamp1")
147+
assertEquals(rlm.status, "incomplete:2019-01-01T00:11:30Z")
149148

150149
fakeApi.fetchResponses.add {
151150
val respdata = JSONObject()
@@ -163,10 +162,10 @@ class OrderSyncTest : BaseDatabaseTest() {
163162
assertEquals("http://1.1.1.1/api/v1/organizers/demo/events/demo/orders/?testmode=false&exclude=downloads&exclude=payment_date&exclude=payment_provider&exclude=fees&exclude=positions.downloads&exclude=payments&exclude=refunds&pdf_data=true&ordering=datetime&created_since=2019-01-01T00%3A11%3A30Z", fakeApi.lastRequestUrl)
164163
assertEquals(4, dataStore.count(Order::class.java).get().value())
165164

166-
val rlm2 = dataStore.select(ResourceSyncStatus::class.java).where(ResourceSyncStatus.RESOURCE.eq("orders_withpdfdata")).get().first()
167-
assertEquals(rlm2.getEvent_slug(), "demo")
168-
assertEquals(rlm2.getLast_modified(), "timestamp1")
169-
assertEquals(rlm2.getStatus(), "complete")
165+
val rlm2 = db.resourceSyncStatusQueries.selectByResource("orders_withpdfdata").executeAsList().first()
166+
assertEquals(rlm2.event_slug, "demo")
167+
assertEquals(rlm2.last_modified, "timestamp1")
168+
assertEquals(rlm2.status, "complete")
170169
}
171170

172171
@Test
@@ -204,10 +203,10 @@ class OrderSyncTest : BaseDatabaseTest() {
204203
assertEquals(5, dataStore.count(OrderPosition::class.java).get().value())
205204
assertEquals(3L, db.checkInQueries.count().executeAsOne())
206205

207-
val rlm = dataStore.select(ResourceSyncStatus::class.java).where(ResourceSyncStatus.RESOURCE.eq("orders_withpdfdata")).get().first()
208-
assertEquals(rlm.getEvent_slug(), "demo")
209-
assertEquals(rlm.getLast_modified(), "timestamp1")
210-
assertEquals(rlm.getStatus(), "incomplete:2019-01-01T00:11:30Z")
206+
val rlm = db.resourceSyncStatusQueries.selectByResource("orders_withpdfdata").executeAsList().first()
207+
assertEquals(rlm.event_slug, "demo")
208+
assertEquals(rlm.last_modified, "timestamp1")
209+
assertEquals(rlm.status, "incomplete:2019-01-01T00:11:30Z")
211210

212211

213212
fakeApi.fetchResponses.add {
@@ -231,10 +230,10 @@ class OrderSyncTest : BaseDatabaseTest() {
231230
assertEquals("%page4?testmode=false&exclude=downloads&exclude=payment_date&exclude=payment_provider&exclude=fees&exclude=positions.downloads&exclude=payments&exclude=refunds&pdf_data=true&ordering=datetime&created_since=2019-01-01T00%3A11%3A30Z", fakeApi.lastRequestUrl)
232231
assertEquals(3, dataStore.count(Order::class.java).get().value())
233232

234-
val rlm3 = dataStore.select(ResourceSyncStatus::class.java).where(ResourceSyncStatus.RESOURCE.eq("orders_withpdfdata")).get().first()
235-
assertEquals(rlm3.getEvent_slug(), "demo")
236-
assertEquals(rlm3.getLast_modified(), "timestamp1")
237-
assertEquals(rlm3.getStatus(), "incomplete:2019-01-01T00:15:15Z")
233+
val rlm3 = db.resourceSyncStatusQueries.selectByResource("orders_withpdfdata").executeAsList().first()
234+
assertEquals(rlm3.event_slug, "demo")
235+
assertEquals(rlm3.last_modified, "timestamp1")
236+
assertEquals(rlm3.status, "incomplete:2019-01-01T00:15:15Z")
238237

239238

240239
fakeApi.fetchResponses.add {
@@ -252,10 +251,10 @@ class OrderSyncTest : BaseDatabaseTest() {
252251
assertEquals("http://1.1.1.1/api/v1/organizers/demo/events/demo/orders/?testmode=false&exclude=downloads&exclude=payment_date&exclude=payment_provider&exclude=fees&exclude=positions.downloads&exclude=payments&exclude=refunds&pdf_data=true&ordering=datetime&created_since=2019-01-01T00%3A15%3A15Z", fakeApi.lastRequestUrl)
253252
assertEquals(4, dataStore.count(Order::class.java).get().value())
254253

255-
val rlm2 = dataStore.select(ResourceSyncStatus::class.java).where(ResourceSyncStatus.RESOURCE.eq("orders_withpdfdata")).get().first()
256-
assertEquals(rlm2.getEvent_slug(), "demo")
257-
assertEquals(rlm2.getLast_modified(), "timestamp1")
258-
assertEquals(rlm2.getStatus(), "complete")
254+
val rlm2 = db.resourceSyncStatusQueries.selectByResource("orders_withpdfdata").executeAsList().first()
255+
assertEquals(rlm2.event_slug, "demo")
256+
assertEquals(rlm2.last_modified, "timestamp1")
257+
assertEquals(rlm2.status, "complete")
259258
}
260259

261260
@Test
@@ -293,10 +292,10 @@ class OrderSyncTest : BaseDatabaseTest() {
293292
assertEquals("http://1.1.1.1/api/v1/organizers/demo/events/demo/orders/?testmode=false&exclude=downloads&exclude=payment_date&exclude=payment_provider&exclude=fees&exclude=positions.downloads&exclude=payments&exclude=refunds&pdf_data=true&ordering=-last_modified&modified_since=timestamp1", fakeApi.lastRequestUrl)
294293
assertEquals(11, dataStore.count(OrderPosition::class.java).get().value())
295294
assertEquals(6L, db.checkInQueries.count().executeAsOne())
296-
val rlm = dataStore.select(ResourceSyncStatus::class.java).where(ResourceSyncStatus.RESOURCE.eq("orders_withpdfdata")).get().first()
297-
assertEquals(rlm.getEvent_slug(), "demo")
298-
assertEquals(rlm.getLast_modified(), "timestamp2")
299-
assertEquals(rlm.getStatus(), "complete")
295+
val rlm = db.resourceSyncStatusQueries.selectByResource("orders_withpdfdata").executeAsList().first()
296+
assertEquals(rlm.event_slug, "demo")
297+
assertEquals(rlm.last_modified, "timestamp2")
298+
assertEquals(rlm.status, "complete")
300299
}
301300

302301
@Test
@@ -339,10 +338,10 @@ class OrderSyncTest : BaseDatabaseTest() {
339338
assertEquals(4, dataStore.count(Order::class.java).get().value())
340339
assertEquals(6L, db.checkInQueries.count().executeAsOne())
341340

342-
val rlm = dataStore.select(ResourceSyncStatus::class.java).where(ResourceSyncStatus.RESOURCE.eq("orders_withpdfdata")).get().first()
343-
assertEquals(rlm.getEvent_slug(), "demo")
344-
assertEquals(rlm.getLast_modified(), "timestamp1")
345-
assertEquals(rlm.getStatus(), "complete")
341+
val rlm = db.resourceSyncStatusQueries.selectByResource("orders_withpdfdata").executeAsList().first()
342+
assertEquals(rlm.event_slug, "demo")
343+
assertEquals(rlm.last_modified, "timestamp1")
344+
assertEquals(rlm.status, "complete")
346345

347346
fakeApi.fetchResponses.add {
348347
val respdata = JSONObject()
@@ -359,9 +358,9 @@ class OrderSyncTest : BaseDatabaseTest() {
359358
assertEquals("http://1.1.1.1/api/v1/organizers/demo/events/demo/orders/?testmode=false&exclude=downloads&exclude=payment_date&exclude=payment_provider&exclude=fees&exclude=positions.downloads&exclude=payments&exclude=refunds&pdf_data=true&ordering=-last_modified&modified_since=timestamp1", fakeApi.lastRequestUrl)
360359
assertEquals(11, dataStore.count(OrderPosition::class.java).get().value())
361360
assertEquals(6L, db.checkInQueries.count().executeAsOne())
362-
val rlm2 = dataStore.select(ResourceSyncStatus::class.java).where(ResourceSyncStatus.RESOURCE.eq("orders_withpdfdata")).get().first()
363-
assertEquals(rlm2.getEvent_slug(), "demo")
364-
assertEquals(rlm2.getLast_modified(), "timestamp2")
365-
assertEquals(rlm2.getStatus(), "complete")
361+
val rlm2 = db.resourceSyncStatusQueries.selectByResource("orders_withpdfdata").executeAsList().first()
362+
assertEquals(rlm2.event_slug, "demo")
363+
assertEquals(rlm2.last_modified, "timestamp2")
364+
assertEquals(rlm2.status, "complete")
366365
}
367366
}

0 commit comments

Comments
 (0)