socar-atomic-converts
v1.0.4
Published
1.0.2 原子操作 add 时,如提供ID 则使用提供ID # 使用说明
Downloads
8
Readme
Changelog
1.0.2 原子操作 add 时,如提供ID 则使用提供ID
使用说明
import {
socarJsonApiConverts,
parsingSchema
} from 'socar-atomic-converts'
socarJsonApiConverts.converts({
atiomicData, //原子操作数据
atiomicSchema, //atiomicData见schema.md中的实例,可以传入未解析的schema
})
注意事项: 1.converts的参数atiomicData的操作符对应的数据的数据类型为数组。
//example
const temp = {
add: [{
xxx
}]
}
2.atiomicData的操作符对应的数据的relationship字段中的关系字段对应的数据类型为数组。
//example
const temp = {
add: [{
desc: 'test',
method: ['get', 'post'],
name: 'test',
path: 'test',
relationship: {
dependence_rel: [{
id: 3,
type: 'api'
},
{
id: 9,
type: 'api'
},
{
id: 10,
type: 'api'
}
]
},
type: 'api'
}]
}
addRelationConvertor 将传入数据转化为增加的原子操作数据
/**
* @param {object} data 需要构建原子操作的数据
* @param {string} oper 原子操作的操作符
* @param {object} schema 转换原子操作数据所对应的schema
* exampleData:
{
add:[
{
desc: 'test',
method: ['get', 'post'],
name: 'test',
path: 'test',
relationship: {
dependence_rel: [
{ id: 3, type: 'api' },
{ id: 9, type: 'api' },
{ id: 10, type: 'api' }
]
},
type: 'api'
}
],
}
@return {object}
exampleReturn:
{
opp:'add',
data:{
attributes:{
desc: 'test',
method:['put','get'],
name:"test",
path: 'test',
},
relationships:{
dependence_rel:{
data:[
{ id: 3, type: 'api' },
{ id: 9, type: 'api' },
{ id: 10, type: 'api' }
]
}
},
type: "api"
}
}
*/
function addRelationConvertor(data, oper, schema)
UpdateRelationConvertor 将传入数据转化为修改的原子操作数据
/**
* @param {object} data 需要构建原子操作的数据
* @param {string} oper 原子操作的操作符
* @param {object} schema 转换原子操作数据所对应的schema
* exampleData:
{
update:[
{
desc: 'test',
method: ['get', 'post'],
name: 'test',
path: 'test',
relationship: {
dependence_rel: [
{ id: 3, type: 'api' },
{ id: 9, type: 'api' },
{ id: 10, type: 'api' }
]
},
type: 'api'
}
],
}
@return {object}
exampleReturn:
[
{
op: 'update',
data:{
id: 187,
type: 'api',
attributes:{
desc: 'test',
method:['put','get'],
name:"test",
path: 'test',
},
}
},
{
op: 'update',
ref:{
id: 187,
relationship: "api",
type: "api",
},
data:[
{ id: 3, type: 'api' },
{ id: 9, type: 'api' },
{ id: 10, type: 'api' }
]
}
]
*/
removeRelationConvertor 将传入数据转化为删除的原子操作数据
/**
*
* @param {Object} data 需要构建原子操作的数据
* @param {string} oper 原子操作操作符
* @param {object} schema 转换原子操作数据所对应的schema
*
* exampleData:
{
update:[
{
desc: 'test',
method: ['get', 'post'],
name: 'test',
path: 'test',
relationship: {
dependence_rel: [
{ id: 3, type: 'api' },
{ id: 9, type: 'api' },
{ id: 10, type: 'api' }
]
},
type: 'api'
}
],
}
* exampleSchema:
* remove:{
* ref:{
* id: {title: 'Id', type: 'string'},
* type:{title: 'Type', type: 'string'}
* }
* },
* exampleReturn:
* {
* op: "remove",
ref: {id: 187, type: 'api'}
* }
*/