let customStrategy = {
resolve = (base, server, client, operationName) => {
let resolvedData;
switch (operationName) {
case "updateUser":
delete client.socialKey
resolvedData = Object.assign(base, server, client)
break
case "updateRole":
client.role = "none"
resolvedData = Object.assign(base, server, client)
break
default:
resolvedData = Object.assign(base, server, client)
}
return resolvedData
}
}
let customStrategy = {
resolve = (base, server, client, operationName) => {
let resolvedData;
switch (operationName) {
case "updateUser":
delete client.socialKey
resolvedData = Object.assign(base, server, client)
break
case "updateRole":
client.role = "none"
resolvedData = Object.assign(base, server, client)
break
default:
resolvedData = Object.assign(base, server, client)
}
return resolvedData
}
}
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
このカスタム戦略オブジェクトは、2 つの異なる戦略を提供します。戦略は、操作に一致するように名前が付けられています。オブジェクトの名前を、設定オブジェクトの conflictStrategy への引数として渡します。
let config = {
...
conflictStrategy: customStrategy
...
}
let config = {
...
conflictStrategy: customStrategy
...
}
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow