Skip to content

Commit b8b6761

Browse files
refactor: reduce impact on existing gql API
1 parent efdcf84 commit b8b6761

File tree

2 files changed

+19
-17
lines changed

2 files changed

+19
-17
lines changed

schema.graphql

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -233,8 +233,8 @@ type PolicyUpdate implements WorkerpoolEvent @entity {
233233
# ================================== Orders ===================================
234234
type AppOrder @entity {
235235
id: ID!
236-
app: App
237-
appprice: BigDecimal
236+
app: App!
237+
appprice: BigDecimal!
238238
volume: BigInt
239239
tag: Bytes
240240
datasetrestrict: Bytes
@@ -247,8 +247,8 @@ type AppOrder @entity {
247247

248248
type DatasetOrder @entity {
249249
id: ID!
250-
dataset: Dataset
251-
datasetprice: BigDecimal
250+
dataset: Dataset # nullable: off-chain bulk datasetorder could reference non-existing dataset
251+
datasetprice: BigDecimal!
252252
volume: BigInt
253253
tag: Bytes
254254
apprestrict: Bytes
@@ -261,8 +261,8 @@ type DatasetOrder @entity {
261261

262262
type WorkerpoolOrder @entity {
263263
id: ID!
264-
workerpool: Workerpool
265-
workerpoolprice: BigDecimal
264+
workerpool: Workerpool!
265+
workerpoolprice: BigDecimal!
266266
volume: BigInt
267267
tag: Bytes
268268
category: Category
@@ -283,7 +283,7 @@ type RequestOrder @entity {
283283
datasetmaxprice: BigDecimal
284284
workerpool: Workerpool # could be null or whitelist
285285
workerpoolmaxprice: BigDecimal
286-
requester: Account
286+
requester: Account!
287287
volume: BigInt
288288
tag: Bytes
289289
category: Category
@@ -334,26 +334,26 @@ type Deal @entity {
334334
schedulerRewardRatio: BigInt!
335335
sponsor: Account!
336336
timestamp: BigInt! # creation
337-
apporder: AppOrder # todo: not available if not broadcasted
338-
datasetorder: DatasetOrder # todo: not available if not broadcasted
339-
workerpoolorder: WorkerpoolOrder # todo: not available if not broadcasted
340-
requestorder: RequestOrder # todo: not available if not broadcasted
337+
apporder: AppOrder
338+
datasetorder: DatasetOrder
339+
workerpoolorder: WorkerpoolOrder
340+
requestorder: RequestOrder
341341
events: [DealEvent!]! @derivedFrom(field: "deal")
342342
bulk: Bulk
343343
}
344344

345345
type Bulk @entity(immutable: true) {
346346
id: ID!
347347
hash: String!
348-
slices: [BulkSlice!] @derivedFrom(field: "bulk")
348+
slices: [BulkSlice!]! @derivedFrom(field: "bulk")
349349
deal: Deal! @derivedFrom(field: "bulk")
350350
}
351351

352352
type BulkSlice @entity(immutable: true) {
353353
id: ID!
354354
bulk: Bulk!
355355
hash: String!
356-
task: Task # task may not be initialized at the time of BulkSlice creation
356+
task: Task # nullable: task may not be initialized at the time of BulkSlice creation
357357
index: BigInt!
358358
datasets: [Dataset!]!
359359
datasetOrders: [DatasetOrder!]!

src/Modules/IexecPoco.ts

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -132,10 +132,12 @@ export function handleOrdersMatched(event: OrdersMatchedEvent): void {
132132
apporder.appprice = deal.appPrice;
133133
apporder.save();
134134

135-
let datasetorder = fetchDatasetorder(event.params.datasetHash.toHex());
136-
if (dataset) datasetorder.dataset = dataset;
137-
datasetorder.datasetprice = deal.datasetPrice;
138-
datasetorder.save();
135+
if (dataset != Address.zero().toHex()) {
136+
let datasetorder = fetchDatasetorder(event.params.datasetHash.toHex());
137+
if (dataset) datasetorder.dataset = dataset;
138+
datasetorder.datasetprice = deal.datasetPrice;
139+
datasetorder.save();
140+
}
139141

140142
let workerpoolorder = fetchWorkerpoolorder(event.params.workerpoolHash.toHex());
141143
workerpoolorder.workerpool = deal.workerpool;

0 commit comments

Comments
 (0)