@@ -24,12 +24,29 @@ class Car {
24
24
}
25
25
}
26
26
27
+ class Truck {
28
+ static schema = {
29
+ name : "string" ,
30
+ speed : "number" ,
31
+ loads : { unordered_map : { value : 'string' } }
32
+ } ;
33
+ constructor ( ) {
34
+ this . name = "" ;
35
+ this . speed = 0 ;
36
+ this . loads = new UnorderedMap ( "tra" ) ;
37
+ }
38
+
39
+ info ( ) {
40
+ return this . name + " run with speed " + this . speed . toString ( ) + " with loads length: " + this . loads . toArray ( ) . length ;
41
+ }
42
+ }
43
+
27
44
@NearBindgen ( { } )
28
45
export class StatusDeserializeClass {
29
46
static schema = {
30
47
is_inited : "boolean" ,
31
48
records : { map : { key : 'string' , value : 'string' } } ,
32
- car : Car ,
49
+ truck : Truck ,
33
50
messages : { array : { value : 'string' } } ,
34
51
efficient_recordes : { unordered_map : { value : 'string' } } ,
35
52
nested_efficient_recordes : { unordered_map : { value : { unordered_map : { value : 'string' } } } } ,
@@ -44,7 +61,7 @@ export class StatusDeserializeClass {
44
61
constructor ( ) {
45
62
this . is_inited = false ;
46
63
this . records = { } ;
47
- this . car = new Car ( ) ;
64
+ this . truck = new Truck ( ) ;
48
65
this . messages = [ ] ;
49
66
// account_id -> message
50
67
this . efficient_recordes = new UnorderedMap ( "a" ) ;
@@ -92,20 +109,31 @@ export class StatusDeserializeClass {
92
109
93
110
94
111
@call ( { } )
95
- set_car_info ( { name, speed } ) {
112
+ set_truck_info ( { name, speed } ) {
96
113
let account_id = near . signerAccountId ( ) ;
97
- near . log ( `${ account_id } set_car_info name ${ name } , speed ${ speed } ` ) ;
114
+ near . log ( `${ account_id } set_truck_info name ${ name } , speed ${ speed } ` ) ;
115
+ let truck = new Truck ( ) ;
116
+ truck . name = name ;
117
+ truck . speed = speed ;
118
+ truck . loads = this . truck . loads ;
119
+ this . truck = truck ;
98
120
let car = new Car ( ) ;
99
121
car . name = name ;
100
122
car . speed = speed ;
101
- this . car = car ;
102
123
this . user_car_map . set ( account_id , car ) ;
103
124
}
104
125
126
+ @call ( { } )
127
+ add_truck_load ( { name, load } ) {
128
+ let account_id = near . signerAccountId ( ) ;
129
+ near . log ( `${ account_id } add_truck_load name ${ name } , load ${ load } ` ) ;
130
+ this . truck . loads . set ( name , load ) ;
131
+ }
132
+
105
133
@view ( { } )
106
- get_car_info ( { } ) {
107
- near . log ( `get_car_info ` ) ;
108
- return this . car . info ( ) ;
134
+ get_truck_info ( { } ) {
135
+ near . log ( `get_truck_info ` ) ;
136
+ return this . truck . info ( ) ;
109
137
}
110
138
111
139
@view ( { } )
0 commit comments