@@ -91,84 +91,84 @@ function shouldIncludeRelationships (method) {
91
91
}
92
92
93
93
function updateHasMany (
94
- leftPrimaryKey ,
95
- leftId ,
94
+ leftPKName ,
95
+ leftPKValue ,
96
96
RightModel ,
97
- rightForeignKey ,
98
- rightIds
97
+ rightFKName ,
98
+ rightFKValues
99
99
) {
100
- return RightModel . updateAll ( { [ leftPrimaryKey ] : { inq : rightIds } } , {
101
- [ rightForeignKey ] : leftId
100
+ return RightModel . updateAll ( { [ leftPKName ] : { inq : rightFKValues } } , {
101
+ [ rightFKName ] : leftPKValue
102
102
} )
103
- . then ( ( ) => RightModel . find ( { where : { [ rightForeignKey ] : leftId } } ) )
103
+ . then ( ( ) => RightModel . find ( { where : { [ rightFKName ] : leftPKValue } } ) )
104
104
. then ( models => {
105
- const idsToUnset = _ . difference ( _ . map ( models , 'id' ) , rightIds )
105
+ const idsToUnset = _ . difference ( _ . map ( models , 'id' ) , rightFKValues )
106
106
return RightModel . updateAll ( { id : { inq : idsToUnset } } , {
107
- [ rightForeignKey ] : null
107
+ [ rightFKName ] : null
108
108
} )
109
109
} )
110
110
}
111
111
112
112
function updateHasOne (
113
- rightPrimaryKey ,
114
- leftId ,
113
+ rightPKName ,
114
+ leftPKValue ,
115
115
RightModel ,
116
- rightForeignKey ,
117
- rightId
116
+ rightFKName ,
117
+ rightPKId
118
118
) {
119
- return RightModel . updateAll ( { [ rightForeignKey ] : leftId } , {
120
- [ rightForeignKey ] : null
119
+ return RightModel . updateAll ( { [ rightFKName ] : leftPKValue } , {
120
+ [ rightFKName ] : null
121
121
} )
122
122
. then ( ( ) => {
123
- if ( rightId ) {
124
- return RightModel . updateAll ( { [ rightPrimaryKey ] : rightId } , {
125
- [ rightForeignKey ] : leftId
123
+ if ( rightPKId ) {
124
+ return RightModel . updateAll ( { [ rightPKName ] : rightPKId } , {
125
+ [ rightFKName ] : leftPKValue
126
126
} )
127
127
}
128
128
} )
129
129
}
130
130
131
131
function updateBelongsTo (
132
132
LeftModel ,
133
- leftPrimaryKey ,
134
- leftId ,
135
- leftForeignKey ,
136
- rightId
133
+ leftPKName ,
134
+ leftPKValue ,
135
+ leftFKName ,
136
+ rightPKId
137
137
) {
138
- if ( rightId === null ) {
139
- return LeftModel . updateAll ( { [ leftPrimaryKey ] : leftId } , {
140
- [ leftForeignKey ] : null
138
+ if ( rightPKId === null ) {
139
+ return LeftModel . updateAll ( { [ leftPKName ] : leftPKValue } , {
140
+ [ leftFKName ] : null
141
141
} )
142
142
}
143
- return LeftModel . updateAll ( { [ leftPrimaryKey ] : leftId } , {
144
- [ leftForeignKey ] : rightId
143
+ return LeftModel . updateAll ( { [ leftPKName ] : leftPKValue } , {
144
+ [ leftFKName ] : rightPKId
145
145
} )
146
146
}
147
147
148
148
function updateHasManyThrough (
149
- leftPrimaryKey ,
150
- leftId ,
149
+ leftPKName ,
150
+ leftPKValue ,
151
151
PivotModel ,
152
- leftForeignKey ,
153
- rightForeignKey ,
154
- rightPrimaryKey ,
155
- rightIds
152
+ leftFKName ,
153
+ rightFKName ,
154
+ rightPKName ,
155
+ rightFKValues
156
156
) {
157
- return PivotModel . find ( { where : { [ leftForeignKey ] : Number ( leftId ) } } )
157
+ return PivotModel . find ( { where : { [ leftFKName ] : Number ( leftPKValue ) } } )
158
158
. then ( models => {
159
- const existingIds = models . map ( model => Number ( model [ rightForeignKey ] ) )
160
- const newIds = rightIds . map ( id => Number ( id ) )
159
+ const existingIds = models . map ( model => Number ( model [ rightFKName ] ) )
160
+ const newIds = rightFKValues . map ( id => Number ( id ) )
161
161
const idsToDelete = _ . difference ( existingIds , newIds )
162
162
return PivotModel . destroyAll ( {
163
- [ leftForeignKey ] : Number ( leftId ) ,
164
- [ rightForeignKey ] : { inq : idsToDelete }
163
+ [ leftFKName ] : Number ( leftPKValue ) ,
164
+ [ rightFKName ] : { inq : idsToDelete }
165
165
} )
166
166
. then ( ( ) => {
167
167
const idsToAdd = _ . difference ( newIds , existingIds )
168
168
return PivotModel . create (
169
169
idsToAdd . map ( id => ( {
170
- [ leftForeignKey ] : Number ( leftId ) ,
171
- [ rightForeignKey ] : id
170
+ [ leftFKName ] : Number ( leftPKValue ) ,
171
+ [ rightFKName ] : id
172
172
} ) )
173
173
)
174
174
} )
@@ -192,37 +192,37 @@ function linkRelatedModels (relationName, from, to) {
192
192
const strategy = detectUpdateStrategy ( LeftModel , relationName )
193
193
194
194
if ( strategy === RELATION_TYPES . HAS_MANY_THROUGH ) {
195
- const leftPrimaryKey = utils . primaryKeyForModel ( LeftModel )
196
- const rightPrimaryKey = utils . primaryKeyForModel ( RightModel )
195
+ const leftPKName = utils . primaryKeyForModel ( LeftModel )
196
+ const rightPKName = utils . primaryKeyForModel ( RightModel )
197
197
const PivotModel = relationDefn . modelThrough
198
- const leftForeignKey = relationDefn . keyTo
199
- const rightForeignKey = relationDefn . keyThrough
198
+ const leftFKName = relationDefn . keyTo
199
+ const rightFKName = relationDefn . keyThrough
200
200
return updateHasManyThrough (
201
- leftPrimaryKey ,
201
+ leftPKName ,
202
202
id ,
203
203
PivotModel ,
204
- leftForeignKey ,
205
- rightForeignKey ,
206
- rightPrimaryKey ,
204
+ leftFKName ,
205
+ rightFKName ,
206
+ rightPKName ,
207
207
data
208
208
)
209
209
}
210
210
211
211
if ( strategy === RELATION_TYPES . HAS_MANY ) {
212
- const leftPrimaryKey = utils . primaryKeyForModel ( LeftModel )
213
- const rightForeignKey = relationDefn . keyTo
214
- return updateHasMany ( leftPrimaryKey , id , RightModel , rightForeignKey , data )
212
+ const leftPKName = utils . primaryKeyForModel ( LeftModel )
213
+ const rightFKName = relationDefn . keyTo
214
+ return updateHasMany ( leftPKName , id , RightModel , rightFKName , data )
215
215
}
216
216
217
217
if ( strategy === RELATION_TYPES . HAS_ONE ) {
218
- const rightPrimaryKey = utils . primaryKeyForModel ( RightModel )
219
- const rightForeignKey = relationDefn . keyTo
220
- return updateHasOne ( rightPrimaryKey , id , RightModel , rightForeignKey , data )
218
+ const rightPKName = utils . primaryKeyForModel ( RightModel )
219
+ const rightFKName = relationDefn . keyTo
220
+ return updateHasOne ( rightPKName , id , RightModel , rightFKName , data )
221
221
}
222
222
223
223
if ( strategy === RELATION_TYPES . BELONGS_TO ) {
224
- const leftPrimaryKey = utils . primaryKeyForModel ( LeftModel )
225
- const leftForeignKey = relationDefn . keyFrom
226
- return updateBelongsTo ( LeftModel , leftPrimaryKey , id , leftForeignKey , data )
224
+ const leftPKName = utils . primaryKeyForModel ( LeftModel )
225
+ const leftFKName = relationDefn . keyFrom
226
+ return updateBelongsTo ( LeftModel , leftPKName , id , leftFKName , data )
227
227
}
228
228
}
0 commit comments