mirror of
https://github.com/strapi/strapi.git
synced 2025-08-24 08:38:52 +00:00
Update Mongoose template & support one-way in generated API
This commit is contained in:
parent
caaa5a6831
commit
892f9d1291
@ -709,6 +709,10 @@ module.exports = function(strapi) {
|
|||||||
acc[current] = params.values[current];
|
acc[current] = params.values[current];
|
||||||
} else {
|
} else {
|
||||||
switch (association.nature) {
|
switch (association.nature) {
|
||||||
|
case 'oneWay':
|
||||||
|
acc[current] = _.get(params.values[current], this.primaryKey, params.values[current]) || null;
|
||||||
|
|
||||||
|
break;
|
||||||
case 'oneToOne':
|
case 'oneToOne':
|
||||||
if (response[current] !== params.values[current]) {
|
if (response[current] !== params.values[current]) {
|
||||||
const value = _.isNull(params.values[current]) ? response[current] : params.values;
|
const value = _.isNull(params.values[current]) ? response[current] : params.values;
|
||||||
|
@ -48,9 +48,12 @@ module.exports = {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
add: async (values) => {
|
add: async (values) => {
|
||||||
const data = await <%= globalID %>.create(_.omit(values, _.keys(_.groupBy(strapi.models.<%= id %>.associations, 'alias'))));
|
const query = await <%= globalID %>.create(_.omit(values, _.keys(_.groupBy(strapi.models.<%= id %>.associations, 'alias'))));
|
||||||
await strapi.hook.mongoose.manageRelations('<%= id %>', _.merge(_.clone(data), { values }));
|
const data = query.toJSON ? query.toJSON() : query;
|
||||||
return data;
|
|
||||||
|
await strapi.hook.mongoose.manageRelations('<%= id %>', _.merge(data, { values }));
|
||||||
|
|
||||||
|
return query;
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -505,10 +505,13 @@ module.exports = function (strapi) {
|
|||||||
acc[current] = params.values[current];
|
acc[current] = params.values[current];
|
||||||
} else {
|
} else {
|
||||||
switch (association.nature) {
|
switch (association.nature) {
|
||||||
|
case 'oneWay':
|
||||||
|
acc[current] = _.get(params.values[current], this.primaryKey, params.values[current]) || null;
|
||||||
|
|
||||||
|
break;
|
||||||
case 'oneToOne':
|
case 'oneToOne':
|
||||||
if (response[current] !== params.values[current]) {
|
if (response[current] !== params.values[current]) {
|
||||||
const value = _.isNull(params.values[current]) ? response[current] : params.values;
|
const value = _.isNull(params.values[current]) ? response[current] : params.values;
|
||||||
|
|
||||||
const recordId = _.isNull(params.values[current]) ? value[Model.primaryKey] || value.id || value._id : value[current];
|
const recordId = _.isNull(params.values[current]) ? value[Model.primaryKey] || value.id || value._id : value[current];
|
||||||
|
|
||||||
if (response[current] && _.isObject(response[current]) && response[current][Model.primaryKey] !== value[current]) {
|
if (response[current] && _.isObject(response[current]) && response[current][Model.primaryKey] !== value[current]) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user