From 6b4890594a9e9809fcac5dff68b91322e34ae0f4 Mon Sep 17 00:00:00 2001 From: aandresdelvalle Date: Mon, 22 Jun 2020 22:22:10 +0100 Subject: [PATCH] db version of Functions --- expert-db/{expert-add => expert-add.js} | 13 ++-- expert-db/{expert-fetch => expert-fetch.js} | 6 +- expert-db/{expert-list => expert-list.js} | 6 +- expert-db/{expert-remove => expert-remove.js} | 0 expert-db/expert-table-create | 60 ------------------- expert-db/expert-table-create.js | 60 +++++++++++++++++++ ...rt-table-delete => expert-table-delete.js} | 0 expert-db/expert-update | 42 ------------- expert-db/expert-update.js | 42 +++++++++++++ 9 files changed, 117 insertions(+), 112 deletions(-) rename expert-db/{expert-add => expert-add.js} (76%) rename expert-db/{expert-fetch => expert-fetch.js} (89%) rename expert-db/{expert-list => expert-list.js} (90%) rename expert-db/{expert-remove => expert-remove.js} (100%) delete mode 100644 expert-db/expert-table-create create mode 100644 expert-db/expert-table-create.js rename expert-db/{expert-table-delete => expert-table-delete.js} (100%) delete mode 100644 expert-db/expert-update create mode 100644 expert-db/expert-update.js diff --git a/expert-db/expert-add b/expert-db/expert-add.js similarity index 76% rename from expert-db/expert-add rename to expert-db/expert-add.js index 3f269ae..6777c18 100644 --- a/expert-db/expert-add +++ b/expert-db/expert-add.js @@ -28,14 +28,19 @@ exports.handler = function(context, event, callback) { client.sync.services(sync_id) .syncMaps('experts') .syncMapItems - .create({key: expert.number , data: expert_json }) + .create({key: expert.number, data: expert_json }) .then(sync_map_item => { console.log(sync_map_item.key) - callback(sync_map_item.key); + callback(null,sync_map_item.key); }) .catch(e => { console.log(e); - callback(false); + + if(e.code==54208) + callback(null,expert.number); + else + callback(e); + }); //callback(null, response); -}; +}; \ No newline at end of file diff --git a/expert-db/expert-fetch b/expert-db/expert-fetch.js similarity index 89% rename from expert-db/expert-fetch rename to expert-db/expert-fetch.js index 0e58cea..feef408 100644 --- a/expert-db/expert-fetch +++ b/expert-db/expert-fetch.js @@ -31,12 +31,12 @@ exports.handler = function(context, event, callback) { .fetch() .then(sync_map_item => { console.log(sync_map_item.key) - callback(JSON.stringify(sync_map_item.data)); + callback(null,JSON.stringify(sync_map_item.data)); }) .catch(e => { console.log(e); - callback(false); + callback(null,false); }); //callback(null, response); -}; +}; \ No newline at end of file diff --git a/expert-db/expert-list b/expert-db/expert-list.js similarity index 90% rename from expert-db/expert-list rename to expert-db/expert-list.js index 32cb0e4..1684bde 100644 --- a/expert-db/expert-list +++ b/expert-db/expert-list.js @@ -30,12 +30,12 @@ exports.handler = function(context, event, callback) { console.log(s.key); array.push(s.data); }) - callback(JSON.stringify(array)); + callback(null,JSON.stringify(array)); }) .catch(e => { console.log(e); - callback(false); + callback(null,false); }); -}; +}; \ No newline at end of file diff --git a/expert-db/expert-remove b/expert-db/expert-remove.js similarity index 100% rename from expert-db/expert-remove rename to expert-db/expert-remove.js diff --git a/expert-db/expert-table-create b/expert-db/expert-table-create deleted file mode 100644 index b85e52e..0000000 --- a/expert-db/expert-table-create +++ /dev/null @@ -1,60 +0,0 @@ -exports.handler = function(context, event, callback) { - - // take the sync_id - //create map with name "experts"" - //what do we return??? - - const sync_id = event['service']; - - console.log('CONTEXT:'); - for(var property in context) { - console.log(property + "=" + context[property]); - } - - console.log('EVENT:'); - for(var proper in event) { - console.log(proper + "=" + event[proper]); - } - let response = "{}"; - - /* fetch service hosting our DB */ - const client = context.getTwilioClient(); - - - client.sync.services(sync_id) - .syncMaps - .create({ uniqueName: 'experts'}) - .then(sync_map => { - //happy path - console.log(sync_map.sid); - response = "{experts_id: '"+ sync_map.sid +"'}"; - callback(response); - }) - .catch(e => { - //manage unhapy path - console.log(e); - if(e=="Error: Unique name already exists") - { - client.sync.services(sync_id) - .syncMaps - .list({limit: 20}) - .then(syncMaps => { - syncMaps.forEach(s => { - console.log(s.sid) - if(s.uniqueName == "experts") - callback("{experts_id: '"+ s.sid +"'}"); - }); - callback(JSON.stringify(syncMaps)); //it should not get here - } - - ) - .catch(e => { - //manage unhapy path - console.log(e); - callback(e); - }); - } - else - callback(e); - }); -}; diff --git a/expert-db/expert-table-create.js b/expert-db/expert-table-create.js new file mode 100644 index 0000000..8e546bc --- /dev/null +++ b/expert-db/expert-table-create.js @@ -0,0 +1,60 @@ +exports.handler = function(context, event, callback) { + + // take the sync_id + //create map with name "experts"" + //what do we return??? + + const sync_id = event['service']; + + console.log('CONTEXT:'); + for(var property in context) { + console.log(property + "=" + context[property]); + } + + console.log('EVENT:'); + for(var proper in event) { + console.log(proper + "=" + event[proper]); + } + let response = "{}"; + + /* fetch service hosting our DB */ + const client = context.getTwilioClient(); + + + client.sync.services(sync_id) + .syncMaps + .create({ uniqueName: 'experts'}) + .then(sync_map => { + //happy path + console.log(sync_map.sid); + response = "{experts_id: '"+ sync_map.sid +"'}"; + callback(null,response); + }) + .catch(e => { + //manage unhapy path + console.log(e); + if(e=="Error: Unique name already exists") + { + client.sync.services(sync_id) + .syncMaps + .list({limit: 20}) + .then(syncMaps => { + syncMaps.forEach(s => { + console.log(s.sid) + if(s.uniqueName == "experts") + callback(null,"{experts_id: '"+ s.sid +"'}"); + }); + callback(null,JSON.stringify(syncMaps)); //it should not get here + } + + ) + .catch(e => { + //manage unhapy path + console.log(e); + callback(e); + }); + } + else + callback(e); + }); + }; \ No newline at end of file diff --git a/expert-db/expert-table-delete b/expert-db/expert-table-delete.js similarity index 100% rename from expert-db/expert-table-delete rename to expert-db/expert-table-delete.js diff --git a/expert-db/expert-update b/expert-db/expert-update deleted file mode 100644 index a50c180..0000000 --- a/expert-db/expert-update +++ /dev/null @@ -1,42 +0,0 @@ -exports.handler = function(context, event, callback) { - - // take the sync_id - //create map with name "experts"" - //what do we return??? - - const sync_id = event['service']; - const expert_json = event['expert']; - const expert = JSON.parse(expert_json); - - //HAPPY PATH - - console.log('CONTEXT:'); - for(var property in context) { - console.log(property + "=" + context[property]); - } - - console.log('EVENT:'); - for(var proper in event) { - console.log(proper + "=" + event[proper]); - } - let response = "{}"; - - /* fetch service hosting our DB */ - const client = context.getTwilioClient(); - - - client.sync.services(sync_id) - .syncMaps('experts') - .syncMapItems(expert.number) - .update({data: expert_json }) - .then(sync_map_item => { - console.log(sync_map_item.key) - callback(sync_map_item.key); - }) - .catch(e => { - console.log(e); - callback(false); - }); - - //callback(null, response); -}; diff --git a/expert-db/expert-update.js b/expert-db/expert-update.js new file mode 100644 index 0000000..dcd12c7 --- /dev/null +++ b/expert-db/expert-update.js @@ -0,0 +1,42 @@ +exports.handler = function(context, event, callback) { + + // take the sync_id + //create map with name "experts"" + //what do we return??? + + const sync_id = event['service']; + const expert_json = event['expert']; + const expert = JSON.parse(expert_json); + + //HAPPY PATH + + console.log('CONTEXT:'); + for(var property in context) { + console.log(property + "=" + context[property]); + } + + console.log('EVENT:'); + for(var proper in event) { + console.log(proper + "=" + event[proper]); + } + let response = "{}"; + + /* fetch service hosting our DB */ + const client = context.getTwilioClient(); + + + client.sync.services(sync_id) + .syncMaps('experts') + .syncMapItems(expert.number) + .update({data: expert_json }) + .then(sync_map_item => { + console.log(sync_map_item.key) + callback(null,sync_map_item.key); + }) + .catch(e => { + console.log(e); + callback(null,false); + }); + + //callback(null, response); + }; \ No newline at end of file