Skip to content

Commit a5c6739

Browse files
committed
feat: enhance buildAccessDetails function with type-specific access handling
1 parent 96179ff commit a5c6739

File tree

1 file changed

+68
-58
lines changed

1 file changed

+68
-58
lines changed
Lines changed: 68 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
import {
2+
PublishedApporder,
3+
PublishedDatasetorder,
4+
PublishedWorkerpoolorder,
5+
} from 'iexec/IExecOrderbookModule';
16
import SmartLinkGroup from '@/components/SmartLinkGroup';
27
import {
38
formatDateCompact,
@@ -8,7 +13,7 @@ import { nrlcToRlc } from '@/utils/nrlcToRlc';
813
export function buildAccessDetails({
914
access,
1015
}: {
11-
access: Record<string, any>;
16+
access: PublishedApporder | PublishedDatasetorder | PublishedWorkerpoolorder;
1217
}) {
1318
if (!access) return {};
1419

@@ -25,42 +30,48 @@ export function buildAccessDetails({
2530
/>
2631
),
2732
}),
28-
...(order.dataset && {
29-
Dataset: (
30-
<SmartLinkGroup
31-
type="dataset"
32-
addressOrId={order.dataset.toLowerCase()}
33-
label={order.dataset.toLowerCase()}
34-
/>
35-
),
36-
}),
37-
...(order.datasetprice !== undefined && {
38-
'Dataset Price': <span>{nrlcToRlc(order.datasetprice)}</span>,
39-
}),
40-
...(order.app && {
41-
App: (
42-
<SmartLinkGroup
43-
type="app"
44-
addressOrId={order.app.toLowerCase()}
45-
label={order.app.toLowerCase()}
46-
/>
47-
),
48-
}),
49-
...(order.appprice !== undefined && {
50-
'App Price': <span>{nrlcToRlc(order.appprice)}</span>,
51-
}),
52-
...(order.workerpool && {
53-
Workerpool: (
54-
<SmartLinkGroup
55-
type="workerpool"
56-
addressOrId={order.workerpool.toLowerCase()}
57-
label={order.workerpool.toLowerCase()}
58-
/>
59-
),
60-
}),
61-
...(order.workerpoolprice !== undefined && {
62-
'Workerpool Price': <span>{nrlcToRlc(order.workerpoolprice)}</span>,
63-
}),
33+
...('dataset' in order &&
34+
order.dataset && {
35+
Dataset: (
36+
<SmartLinkGroup
37+
type="dataset"
38+
addressOrId={order.dataset.toLowerCase()}
39+
label={order.dataset.toLowerCase()}
40+
/>
41+
),
42+
}),
43+
...('datasetprice' in order &&
44+
order.datasetprice && {
45+
'Dataset Price': <span>{nrlcToRlc(order.datasetprice)}</span>,
46+
}),
47+
...('app' in order &&
48+
order.app && {
49+
App: (
50+
<SmartLinkGroup
51+
type="app"
52+
addressOrId={order.app.toLowerCase()}
53+
label={order.app.toLowerCase()}
54+
/>
55+
),
56+
}),
57+
...('appprice' in order &&
58+
order.appprice && {
59+
'App Price': <span>{nrlcToRlc(order.appprice)}</span>,
60+
}),
61+
...('workerpool' in order &&
62+
order.workerpool && {
63+
Workerpool: (
64+
<SmartLinkGroup
65+
type="workerpool"
66+
addressOrId={order.workerpool.toLowerCase()}
67+
label={order.workerpool.toLowerCase()}
68+
/>
69+
),
70+
}),
71+
...('workerpoolprice' in order &&
72+
order.workerpoolprice !== undefined && {
73+
'Workerpool Price': <span>{nrlcToRlc(order.workerpoolprice)}</span>,
74+
}),
6475
...(order.volume !== undefined && {
6576
Volume: <span>{order.volume}</span>,
6677
}),
@@ -69,15 +80,16 @@ export function buildAccessDetails({
6980
}),
7081
...(order.salt && { Salt: <span>{order.salt}</span> }),
7182
...(order.tag && { Tag: <span>{order.tag}</span> }),
72-
...(order.apprestrict && {
73-
'App Restrict': (
74-
<SmartLinkGroup
75-
type="app"
76-
addressOrId={order.apprestrict.toLowerCase()}
77-
label={order.apprestrict.toLowerCase()}
78-
/>
79-
),
80-
}),
83+
...('apprestrict' in order &&
84+
order.apprestrict && {
85+
'App Restrict': (
86+
<SmartLinkGroup
87+
type="app"
88+
addressOrId={order.apprestrict.toLowerCase()}
89+
label={order.apprestrict.toLowerCase()}
90+
/>
91+
),
92+
}),
8193
...(order.requesterrestrict && {
8294
'Requester Restrict': (
8395
<SmartLinkGroup
@@ -87,15 +99,16 @@ export function buildAccessDetails({
8799
/>
88100
),
89101
}),
90-
...(order.workerpoolrestrict && {
91-
'Workerpool Restrict': (
92-
<SmartLinkGroup
93-
type="workerpool"
94-
addressOrId={order.workerpoolrestrict.toLowerCase()}
95-
label={order.workerpoolrestrict.toLowerCase()}
96-
/>
97-
),
98-
}),
102+
...('workerpoolrestrict' in order &&
103+
order.workerpoolrestrict && {
104+
'Workerpool Restrict': (
105+
<SmartLinkGroup
106+
type="workerpool"
107+
addressOrId={order.workerpoolrestrict.toLowerCase()}
108+
label={order.workerpoolrestrict.toLowerCase()}
109+
/>
110+
),
111+
}),
99112
...(access.signer && {
100113
Signer: (
101114
<SmartLinkGroup
@@ -120,8 +133,5 @@ export function buildAccessDetails({
120133
),
121134
}),
122135
...(order.sign && { Signature: <span>{order.sign}</span> }),
123-
...(access.ok !== undefined && {
124-
Ok: <span>{access.ok ? 'Yes' : 'No'}</span>,
125-
}),
126136
};
127137
}

0 commit comments

Comments
 (0)