Skip to content

Commit 39e6f92

Browse files
committed
return full asset object
1 parent 1fd7f28 commit 39e6f92

File tree

6 files changed

+101
-71
lines changed

6 files changed

+101
-71
lines changed

packages/field-plugin/src/createFieldPlugin/createPluginActions/createPluginActions.test.ts

Lines changed: 26 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -231,15 +231,19 @@ describe('createPluginActions', () => {
231231
field: 'dummy',
232232
callbackId: TEST_CALLBACK_ID,
233233
filename,
234-
fieldtype: 'asset',
235-
name: '',
236-
meta_data: {},
237-
title: '',
238-
copyright: '',
239-
focus: '',
240-
alt: '',
241-
source: '',
242-
is_private: false,
234+
asset: {
235+
id: 0,
236+
fieldtype: 'asset',
237+
name: '',
238+
filename: '',
239+
meta_data: {},
240+
title: '',
241+
copyright: '',
242+
focus: '',
243+
alt: '',
244+
source: '',
245+
is_private: false,
246+
},
243247
})
244248
const result = await promise
245249
expect(result).toEqual({
@@ -275,15 +279,19 @@ describe('createPluginActions', () => {
275279
field: 'dummy',
276280
callbackId: WRONG_CALLBACK_ID,
277281
filename,
278-
fieldtype: 'asset',
279-
name: '',
280-
meta_data: {},
281-
title: '',
282-
copyright: '',
283-
focus: '',
284-
alt: '',
285-
source: '',
286-
is_private: false,
282+
asset: {
283+
id: 0,
284+
fieldtype: 'asset',
285+
name: '',
286+
filename: '',
287+
meta_data: {},
288+
title: '',
289+
copyright: '',
290+
focus: '',
291+
alt: '',
292+
source: '',
293+
is_private: false,
294+
},
287295
})
288296
const resolvedFn = jest.fn()
289297
const rejectedFn = jest.fn()

packages/field-plugin/src/createFieldPlugin/createPluginActions/createPluginMessageListener/handlePluginMessage.test.ts

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -95,15 +95,19 @@ describe('handlePluginMessage', () => {
9595
filename: '/my-file.jpg',
9696
field: 'callback-uid',
9797
callbackId: 'test-callback-id',
98-
fieldtype: 'asset',
99-
name: '',
100-
meta_data: {},
101-
title: '',
102-
copyright: '',
103-
focus: '',
104-
alt: '',
105-
source: '',
106-
is_private: false,
98+
asset: {
99+
id: 0,
100+
fieldtype: 'asset',
101+
name: '',
102+
filename: '',
103+
meta_data: {},
104+
title: '',
105+
copyright: '',
106+
focus: '',
107+
alt: '',
108+
source: '',
109+
is_private: false,
110+
},
107111
}
108112
const callbacks = mockCallbacks()
109113
handlePluginMessage(data, uid, callbacks)

packages/field-plugin/src/messaging/pluginMessage/containerToPluginMessage/Asset.test.ts

Lines changed: 28 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,21 @@
1-
import { Asset, assetFromAssetSelectedMessage, isAsset } from './Asset'
1+
import { AssetWrapper, assetFromAssetSelectedMessage, isAsset } from './Asset'
22
import { AssetSelectedMessage } from './AssetSelectedMessage'
33

4-
const stub: Asset = {
4+
const stub: AssetWrapper = {
55
filename: 'https://somthing.com/myimage.jpg',
6-
fieldtype: 'asset',
7-
name: '',
8-
meta_data: {},
9-
title: '',
10-
copyright: '',
11-
focus: '',
12-
alt: '',
13-
source: '',
14-
is_private: false,
6+
asset: {
7+
id: 0,
8+
fieldtype: 'asset',
9+
name: '',
10+
filename: '',
11+
meta_data: {},
12+
title: '',
13+
copyright: '',
14+
focus: '',
15+
alt: '',
16+
source: '',
17+
is_private: false,
18+
},
1519
}
1620

1721
const assetSelectedMessage: AssetSelectedMessage = {
@@ -20,15 +24,19 @@ const assetSelectedMessage: AssetSelectedMessage = {
2024
callbackId: 'test-callback-id',
2125
action: 'asset-selected',
2226
filename: 'https://somthing.com/myimage.jpg',
23-
fieldtype: 'asset',
24-
name: '',
25-
meta_data: {},
26-
title: '',
27-
copyright: '',
28-
focus: '',
29-
alt: '',
30-
source: '',
31-
is_private: false,
27+
asset: {
28+
id: 0,
29+
fieldtype: 'asset',
30+
name: '',
31+
filename: '',
32+
meta_data: {},
33+
title: '',
34+
copyright: '',
35+
focus: '',
36+
alt: '',
37+
source: '',
38+
is_private: false,
39+
},
3240
}
3341

3442
describe('Asset', function () {
Lines changed: 19 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,37 @@
11
import { hasKey } from '../../../utils'
22
import { AssetSelectedMessage } from './AssetSelectedMessage'
33

4-
export type Asset = {
4+
export type AssetWrapper = {
55
filename: string
6+
asset: Asset
7+
}
8+
9+
export type Asset = {
10+
id: number
611
fieldtype: 'asset'
12+
filename: string
713
name: string
8-
meta_data: Record<string, string>
14+
meta_data?: Record<string, unknown>
915
title: string
1016
copyright: string
1117
focus: string
1218
alt: string
13-
source: string
14-
is_private: boolean
19+
source?: string
20+
is_external_url?: boolean
21+
is_private?: boolean
22+
src?: string
23+
updated_at?: string
1524
}
1625

17-
export const isAsset = (data: unknown): data is Asset =>
18-
hasKey(data, 'filename') && typeof data.filename === 'string'
26+
export const isAsset = (data: unknown): data is AssetWrapper =>
27+
hasKey(data, 'filename') &&
28+
typeof data.filename === 'string' &&
29+
hasKey(data, 'asset') &&
30+
typeof data.asset === 'object'
1931

2032
export const assetFromAssetSelectedMessage = (
2133
message: AssetSelectedMessage,
2234
): Asset => {
23-
const {
24-
uid: _uid,
25-
action: _action,
26-
field: _field,
27-
callbackId: _callbackId,
28-
...asset
29-
} = message
35+
const { asset } = message
3036
return asset
3137
}

packages/field-plugin/src/messaging/pluginMessage/containerToPluginMessage/AssetSelectedMessage.test.ts

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,19 @@ const stub: AssetSelectedMessage = {
1010
field: 'dummy-field',
1111
callbackId: 'test-callback-id',
1212
filename: 'https://somthing.com/myimage.jpg',
13-
fieldtype: 'asset',
14-
name: '',
15-
meta_data: {},
16-
title: '',
17-
copyright: '',
18-
focus: '',
19-
alt: '',
20-
source: '',
21-
is_private: false,
13+
asset: {
14+
id: 0,
15+
fieldtype: 'asset',
16+
name: '',
17+
filename: '',
18+
meta_data: {},
19+
title: '',
20+
copyright: '',
21+
focus: '',
22+
alt: '',
23+
source: '',
24+
is_private: false,
25+
},
2226
}
2327

2428
describe('AssetSelectedMessage', function () {

packages/field-plugin/src/messaging/pluginMessage/containerToPluginMessage/AssetSelectedMessage.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
import { isMessageToPlugin, MessageToPlugin } from './MessageToPlugin'
22
import { hasKey } from '../../../utils'
3-
import { Asset, isAsset } from './Asset'
3+
import { AssetWrapper, isAsset } from './Asset'
44

55
export type AssetSelectedMessage = MessageToPlugin<'asset-selected'> & {
66
field?: string
77
callbackId: string
8-
} & Asset &
8+
} & AssetWrapper &
99
Record<string, unknown>
1010

1111
export const isAssetSelectedMessage = (

0 commit comments

Comments
 (0)