Skip to content
This repository was archived by the owner on Feb 8, 2024. It is now read-only.

Commit

Permalink
Add support to services:
Browse files Browse the repository at this point in the history
- get-record-access
- set-record-access
  • Loading branch information
yamelsenih committed Apr 13, 2021
1 parent 0912ce4 commit d3cd83f
Show file tree
Hide file tree
Showing 3 changed files with 341 additions and 11 deletions.
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@
"@storefront-api/platform-abstract": "1.0.0-rc.3",
"@storefront-api/platform-magento1": "1.0.0-rc.3",
"@storefront-api/platform-magento2": "1.0.0-rc.3",
"@adempiere/grpc-api": "1.4.0",
"@adempiere/grpc-api": "1.4.1",
"@adempiere/grpc-web-store-api": "1.3.9",
"ajv": "^6.4.0",
"ajv-keywords": "^3.4.0",
Expand Down
100 changes: 99 additions & 1 deletion src/modules/adempiere-api/api/userInterface.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,8 @@ import {
convertPrivateAccessFromGRPC,
convertLookupFromGRPC,
convertCalloutFromGRPC,
convertPreferenceFromGRPC
convertPreferenceFromGRPC,
convertRecordAccessFromGRPC
} from '@adempiere/grpc-api/lib/convertBusinessData';
export default ({ config, db, service }) => {
let userInterfaceApi = Router();
Expand Down Expand Up @@ -169,6 +170,103 @@ export default ({ config, db, service }) => {
}
});

/**
* GET Entity Record Access
*
* req.query.token - user token
* req.query.id - id of entity
* req.query.uuid - uuid of entity
* req.query.table_name - table name of entity
* req.query.language - login language
*
* Details: https://sfa-docs.now.sh/guide/default-modules/api.html#get-vsbridgeuserorder-history
*/
userInterfaceApi.get('/record-access', (req, res) => {
if (req.query) {
service.getRecordAccess({
token: req.query.token,
language: req.query.language,
tableName: req.query.table_name,
id: req.query.id,
uuid: req.query.uuid
}, function (err, response) {
if (response) {
res.json({
code: 200,
result: convertRecordAccessFromGRPC(response)
})
} else if (err) {
res.json({
code: 500,
result: err.details
})
}
})
}
});

/**
* POST Set Record Access
*
* req.query.token - user token
* req.body.id - id of entity
* req.body.uuid - uuid of entity
* req.body.table_name - table name of entity
* req.body.record_accesses - list of access by role
* record_accesses: [{
* role_id,
* role_uuid,
* role_name,
* is_active,
* is_exclude,
* is_read_only,
* is_dependent_entities
* }]
* req.query.language - login language
*
*/
userInterfaceApi.post('/set-record-access', (req, res) => {
if (req.body) {
// Validate record access
let recordAccesses = []
if (req.body.record_accesses) {
let record = {}
req.body.record_accesses.map(accessToSet => {
record = {
roleId: accessToSet.role_id,
roleUuid: accessToSet.role_uuid,
roleName: accessToSet.role_name,
isActive: accessToSet.is_active,
isExclude: accessToSet.is_exclude,
isReadOnly: accessToSet.is_read_only,
isDependentEntities: accessToSet.is_dependent_entities
}
})
recordAccesses.push(record)
}
service.setRecordAccess({
token: req.query.token,
language: req.query.language,
id: req.body.id,
uuid: req.body.uuid,
tableName: req.body.table_name,
recordAccesses: recordAccesses
}, function (err, response) {
if (response) {
res.json({
code: 200,
result: convertRecordAccessFromGRPC(response)
})
} else if (err) {
res.json({
code: 500,
result: err.details
})
}
})
}
});

/**
* POST Create Chat Entry
*
Expand Down
Loading

0 comments on commit d3cd83f

Please sign in to comment.