@@ -3,10 +3,9 @@ import { DateTime } from 'luxon';
3
3
import {
4
4
// eslint-disable-next-line @seedcompany/no-unused-vars -- used in jsdoc
5
5
DbLabel ,
6
+ EnhancedResource ,
6
7
entries ,
7
8
generateId ,
8
- getDbClassLabels ,
9
- getDbPropertyLabels ,
10
9
ID ,
11
10
ResourceShape ,
12
11
UnsecuredDto ,
@@ -47,9 +46,10 @@ type InitialPropsOf<T> = {
47
46
* })
48
47
*/
49
48
export const createNode = async < TResourceStatic extends ResourceShape < any > > (
50
- resource : TResourceStatic ,
49
+ resource : TResourceStatic | EnhancedResource < TResourceStatic > ,
51
50
{ initialProps = { } , baseNodeProps = { } } : CreateNodeOptions < TResourceStatic > ,
52
51
) => {
52
+ const res = EnhancedResource . of ( resource ) ;
53
53
const {
54
54
id = baseNodeProps . id ?? ( await generateId ( ) ) ,
55
55
createdAt = baseNodeProps . createdAt ?? DateTime . local ( ) ,
@@ -65,7 +65,7 @@ export const createNode = async <TResourceStatic extends ResourceShape<any>>(
65
65
sub
66
66
. create ( [
67
67
[
68
- node ( 'node' , getDbClassLabels ( resource ) , {
68
+ node ( 'node' , res . dbLabels , {
69
69
...baseNodeProps ,
70
70
createdAt,
71
71
id,
@@ -74,7 +74,7 @@ export const createNode = async <TResourceStatic extends ResourceShape<any>>(
74
74
...entries ( restInitialProps ) . map ( ( [ prop , value ] ) => [
75
75
node ( 'node' ) ,
76
76
relation ( 'out' , '' , prop , { active : true , createdAt } ) ,
77
- node ( '' , getDbPropertyLabels ( resource , prop ) , {
77
+ node ( '' , res . dbPropLabels [ prop ] , {
78
78
createdAt,
79
79
value,
80
80
} ) ,
0 commit comments