| rev | line source | 
| bsw/jbe@1309 | 1 function _G.ontomap_get_instances(event) | 
| bsw/jbe@1309 | 2   if true then return {} end | 
| bsw/jbe@1309 | 3   local url = config.ontomap.base_url .. "instances/Issue?geometries=true&descriptions=true" | 
| bsw/jbe@1309 | 4   print("OnToMap>>") | 
| bsw/jbe@1309 | 5 | 
| bsw/jbe@1309 | 6   local output, err, status = extos.pfilter(doc, "curl", "-X", "GET", "-H", "Content-Type: application/json", "--cert", config.ontomap.client_cert_file, "-d", "@-", url) | 
| bsw/jbe@1309 | 7   print(output) | 
| bsw/jbe@1309 | 8 | 
| bsw/jbe@1309 | 9   local data = json.import(output) | 
| bsw/jbe@1309 | 10 | 
| bsw/jbe@1309 | 11   if not data then | 
| bsw/jbe@1309 | 12     return {} | 
| bsw/jbe@1309 | 13   end | 
| bsw/jbe@1309 | 14 | 
| bsw/jbe@1309 | 15   if data.type ~= "FeatureCollection" or not data.features then | 
| bsw/jbe@1309 | 16     return {} | 
| bsw/jbe@1309 | 17   end | 
| bsw/jbe@1309 | 18 | 
| bsw/jbe@1309 | 19   local instances = {} | 
| bsw/jbe@1309 | 20   for i, feature in ipairs(data.features) do | 
| bsw/jbe@1309 | 21     if feature.geometry then | 
| bsw/jbe@1309 | 22       table.insert(instances, { | 
| bsw/jbe@1309 | 23         application = feature.applicationName, | 
| bsw/jbe@1309 | 24         title = feature.hasName, | 
| bsw/jbe@1309 | 25         description = slot.use_temporary(function() | 
| bsw/jbe@1309 | 26           ui.link{ external = feature.properties.external_url, text = feature.properties.hasName or "" } | 
| bsw/jbe@1309 | 27           ui.container{ content = feature.hasDescription } | 
| bsw/jbe@1309 | 28         end), | 
| bsw/jbe@1309 | 29         lon = feature.geometry.coordinates[1], | 
| bsw/jbe@1309 | 30         lat = feature.geometry.coordinates[2], | 
| bsw/jbe@1309 | 31         label = "IMC" .. feature.properties.hasID, | 
| bsw/jbe@1309 | 32         type = "Improve My City" | 
| bsw/jbe@1309 | 33       }) | 
| bsw/jbe@1309 | 34       print(feature.applicationName, feature.properties.hasName, feature.properties.hasDescription) | 
| bsw/jbe@1309 | 35     end | 
| bsw/jbe@1309 | 36   end | 
| bsw/jbe@1309 | 37   return instances | 
| bsw/jbe@1309 | 38 | 
| bsw/jbe@1309 | 39 end | 
| bsw/jbe@1309 | 40 | 
| bsw/jbe@1309 | 41 | 
| bsw/jbe@1309 | 42 local function new_log_event(event, actor, activity_type) | 
| bsw/jbe@1309 | 43   local e = json.object{ | 
| bsw/jbe@1309 | 44     activity_type = activity_type, | 
| bsw/jbe@1309 | 45     activity_objects = json.array(), | 
| bsw/jbe@1309 | 46     references = json.array(), | 
| bsw/jbe@1309 | 47     visibility_details = json.array(), | 
| bsw/jbe@1309 | 48     details = json.object() | 
| bsw/jbe@1309 | 49   } | 
| bsw/jbe@1309 | 50   e.actor = actor | 
| bsw/jbe@1309 | 51   e.timestamp = math.floor(event.occurrence_epoch * 1000) | 
| bsw/jbe@1309 | 52   return e | 
| bsw/jbe@1309 | 53 end | 
| bsw/jbe@1309 | 54 | 
| bsw/jbe@1309 | 55 local function new_activity_object(attr) | 
| bsw/jbe@1309 | 56   return json.object{ | 
| bsw/jbe@1309 | 57     type = "Feature", | 
| bsw/jbe@1309 | 58     geometry = attr.geometry or json.null, | 
| bsw/jbe@1309 | 59     properties = json.object{ | 
| bsw/jbe@1309 | 60       hasType = attr.type, | 
| bsw/jbe@1309 | 61       external_url = attr.url | 
| bsw/jbe@1309 | 62     } | 
| bsw/jbe@1309 | 63   } | 
| bsw/jbe@1309 | 64 end | 
| bsw/jbe@1309 | 65 | 
| bsw@1519 | 66 local function new_reference_object(url, application, type) | 
| bsw/jbe@1309 | 67   return json.object{ | 
| bsw/jbe@1309 | 68     application = application or config.ontomap.application_ident, | 
| bsw@1519 | 69     external_url = url, | 
| bsw@1519 | 70     type = type | 
| bsw/jbe@1309 | 71   } | 
| bsw/jbe@1309 | 72 end | 
| bsw/jbe@1309 | 73 | 
| bsw/jbe@1309 | 74 local function log_to_ontomap(log_events) | 
| bsw/jbe@1309 | 75   if json.type(log_events) == "object" then | 
| bsw/jbe@1309 | 76     log_events = json.array{ log_events } | 
| bsw/jbe@1309 | 77   end | 
| bsw/jbe@1309 | 78   for i, log_event in ipairs(log_events) do | 
| bsw/jbe@1309 | 79     if #(log_event.activity_objects) == 0 then | 
| bsw/jbe@1309 | 80       log_event.activity_objects = nil | 
| bsw/jbe@1309 | 81     end | 
| bsw/jbe@1309 | 82     if #(log_event.references) == 0 then | 
| bsw/jbe@1309 | 83       log_event.references = nil | 
| bsw/jbe@1309 | 84     end | 
| bsw/jbe@1309 | 85     if #(log_event.visibility_details) == 0 then | 
| bsw/jbe@1309 | 86       log_event.visibility_details = nil | 
| bsw/jbe@1309 | 87     end | 
| bsw/jbe@1309 | 88     if not (next(log_event.details)) then -- TODO | 
| bsw/jbe@1309 | 89       log_event.details = nil | 
| bsw/jbe@1309 | 90     end | 
| bsw/jbe@1309 | 91   end | 
| bsw/jbe@1309 | 92 | 
| bsw/jbe@1309 | 93   local doc = json.export(json.object{ | 
| bsw/jbe@1309 | 94     event_list = log_events | 
| bsw/jbe@1309 | 95   }, "  ") | 
| bsw/jbe@1309 | 96 | 
| bsw/jbe@1309 | 97   local url = config.ontomap.base_url .. "logger/events" | 
| bsw/jbe@1309 | 98   print("OnToMap<<") | 
| bsw/jbe@1309 | 99   print(doc) | 
| bsw/jbe@1309 | 100 | 
| bsw/jbe@1309 | 101   local output, err, status = extos.pfilter(doc, "curl", "-X", "POST", "-H", "Content-Type: application/json", "--cert", config.ontomap.client_cert_file, "-d", "@-", url) | 
| bsw/jbe@1309 | 102 | 
| bsw/jbe@1309 | 103   print("---------") | 
| bsw/jbe@1309 | 104   print(output) | 
| bsw/jbe@1309 | 105   print("---------") | 
| bsw/jbe@1309 | 106 | 
| bsw/jbe@1309 | 107   if err then | 
| bsw/jbe@1309 | 108     -- TODO log error | 
| bsw/jbe@1309 | 109   end | 
| bsw/jbe@1309 | 110 end | 
| bsw/jbe@1309 | 111 | 
| bsw/jbe@1309 | 112 local function url_for(relation, id) | 
| bsw/jbe@1309 | 113   return config.absolute_base_url .. relation .. "/show/" .. id .. ".html" | 
| bsw/jbe@1309 | 114 end | 
| bsw/jbe@1309 | 115 | 
| bsw/jbe@1309 | 116 | 
| bsw/jbe@1309 | 117 local function unit_updated(event, event_type) | 
| bsw/jbe@1309 | 118   local log_event = new_log_event(event, 0, event_type == "created" and "object_created" or "object_updated") | 
| bsw/jbe@1309 | 119   table.insert(log_event.activity_objects, new_activity_object{ | 
| bsw/jbe@1309 | 120     type = "unit", | 
| bsw/jbe@1309 | 121     url = url_for("unit", event.unit_id) | 
| bsw/jbe@1309 | 122   }) | 
| bsw/jbe@1309 | 123   log_event.details.active = event.unit.active | 
| bsw/jbe@1309 | 124   log_event.details.name = event.unit.name | 
| bsw/jbe@1309 | 125   log_event.details.description = event.unit.description | 
| bsw/jbe@1309 | 126   log_event.details.external_reference = event.unit.external_reference | 
| bsw/jbe@1309 | 127   log_event.details.region = event.unit.region | 
| bsw/jbe@1309 | 128   log_to_ontomap(log_event) | 
| bsw/jbe@1309 | 129 end | 
| bsw/jbe@1309 | 130 | 
| bsw/jbe@1309 | 131 local function area_updated(event, event_type) | 
| bsw/jbe@1309 | 132   local log_event = new_log_event(event, 0, event_type == "created" and "object_created" or "object_updated") | 
| bsw/jbe@1309 | 133   table.insert(log_event.activity_objects, new_activity_object{ | 
| bsw/jbe@1309 | 134     type = "area", | 
| bsw/jbe@1309 | 135     url = url_for("area", event.area_id) | 
| bsw/jbe@1309 | 136   }) | 
| bsw/jbe@1309 | 137   table.insert(log_event.references, new_reference_object( | 
| bsw/jbe@1309 | 138     url_for("unit", event.area.unit_id) | 
| bsw/jbe@1309 | 139   )) | 
| bsw/jbe@1309 | 140   log_event.details.active = event.area.active | 
| bsw/jbe@1309 | 141   log_event.details.name = event.area.name | 
| bsw/jbe@1309 | 142   log_event.details.description = event.area.description | 
| bsw/jbe@1309 | 143   log_event.details.external_reference = event.area.external_reference | 
| bsw/jbe@1309 | 144   log_event.details.region = event.area.region | 
| bsw/jbe@1309 | 145   log_to_ontomap(log_event) | 
| bsw/jbe@1309 | 146 end | 
| bsw/jbe@1309 | 147 | 
| bsw/jbe@1309 | 148 local function policy_updated(event, event_type) | 
| bsw/jbe@1309 | 149   local log_event = new_log_event(event, 0, event_type == "created" and "object_created" or "object_updated") | 
| bsw/jbe@1309 | 150   table.insert(log_event.activity_objects, new_activity_object{ | 
| bsw/jbe@1309 | 151     type = "policy", | 
| bsw/jbe@1309 | 152     url = url_for("policy", event.policy_id) | 
| bsw/jbe@1309 | 153   }) | 
| bsw/jbe@1309 | 154   log_event.details.active = event.policy.active | 
| bsw/jbe@1309 | 155   log_event.details.name = event.policy.name | 
| bsw/jbe@1309 | 156   log_event.details.description = event.policy.description | 
| bsw/jbe@1309 | 157   log_to_ontomap(log_event) | 
| bsw/jbe@1309 | 158 end | 
| bsw/jbe@1309 | 159 | 
| bsw/jbe@1309 | 160 local mapper = { | 
| bsw/jbe@1309 | 161 | 
| bsw/jbe@1309 | 162   unit_created = function(event) | 
| bsw/jbe@1309 | 163     unit_updated(event, "created") | 
| bsw/jbe@1309 | 164   end, | 
| bsw/jbe@1309 | 165 | 
| bsw/jbe@1309 | 166   unit_updated = function(event) | 
| bsw/jbe@1309 | 167     unit_updated(event, "updated") | 
| bsw/jbe@1309 | 168   end, | 
| bsw/jbe@1309 | 169 | 
| bsw/jbe@1309 | 170   area_created = function(event) | 
| bsw/jbe@1309 | 171     area_updated(event, "created") | 
| bsw/jbe@1309 | 172   end, | 
| bsw/jbe@1309 | 173 | 
| bsw/jbe@1309 | 174   area_updated = function(event) | 
| bsw/jbe@1309 | 175     area_updated(event, "updated") | 
| bsw/jbe@1309 | 176   end, | 
| bsw/jbe@1309 | 177 | 
| bsw/jbe@1309 | 178   policy_created = function(event) | 
| bsw/jbe@1309 | 179     policy_updated(event, "created") | 
| bsw/jbe@1309 | 180   end, | 
| bsw/jbe@1309 | 181 | 
| bsw/jbe@1309 | 182   policy_updated = function(event) | 
| bsw/jbe@1309 | 183     policy_updated(event, "updated") | 
| bsw/jbe@1309 | 184   end, | 
| bsw/jbe@1309 | 185 | 
| bsw/jbe@1309 | 186   issue_state_changed = function(event) | 
| bsw/jbe@1309 | 187     local log_event = new_log_event(event, 0, "issue_status_updated") | 
| bsw/jbe@1309 | 188     table.insert(log_event.references, new_reference_object( | 
| bsw/jbe@1309 | 189       url_for("issue", event.issue_id) | 
| bsw/jbe@1309 | 190     )) | 
| bsw/jbe@1309 | 191     log_event.details.new_issue_state = event.state | 
| bsw/jbe@1309 | 192     log_to_ontomap(log_event) | 
| bsw/jbe@1309 | 193   end, | 
| bsw/jbe@1309 | 194 | 
| bsw/jbe@1309 | 195   initiative_created_in_new_issue = function(event) | 
| bsw/jbe@1309 | 196     local log_events = json.array() | 
| bsw/jbe@1309 | 197 | 
| bsw/jbe@1309 | 198     local log_event = new_log_event(event, 0, "object_created") | 
| bsw/jbe@1309 | 199     table.insert(log_event.activity_objects, new_activity_object{ | 
| bsw/jbe@1309 | 200       type = "issue", | 
| bsw/jbe@1309 | 201       url = url_for("issue", event.issue_id) | 
| bsw/jbe@1309 | 202     }) | 
| bsw/jbe@1309 | 203     table.insert(log_event.references, new_reference_object( | 
| bsw/jbe@1309 | 204       url_for("policy", event.issue.policy_id) | 
| bsw/jbe@1309 | 205     )) | 
| bsw/jbe@1309 | 206     log_event.details.new_issue_state = event.state | 
| bsw/jbe@1309 | 207     table.insert(log_events, log_event) | 
| bsw@1519 | 208 | 
| bsw/jbe@1309 | 209     local log_event = new_log_event(event, event.member_id, "object_created") | 
| bsw@1519 | 210 | 
| bsw@1519 | 211     local location = event.initiative.location | 
| bsw@1527 | 212     if location and location.marker_link then | 
| bsw@1519 | 213       local marker_link = location.marker_link | 
| bsw@1519 | 214       location.marker_link = nil | 
| bsw@1519 | 215       table.insert(log_event.references, new_reference_object( | 
| bsw@1519 | 216         marker_link, config.firstlife.application_ident, "BELONGS_TO" | 
| bsw@1519 | 217       )) | 
| bsw@1549 | 218     elseif event.initiative.external_reference then | 
| bsw@1549 | 219       table.insert(log_event.references, new_reference_object( | 
| bsw@1549 | 220         event.initiative.external_reference, config.firstlife.application_ident, "BELONGS_TO" | 
| bsw@1549 | 221       )) | 
| bsw@1519 | 222     end | 
| bsw@1519 | 223 | 
| bsw@1519 | 224     local activity_object = new_activity_object{ | 
| bsw/jbe@1309 | 225       type = "initiative", | 
| bsw/jbe@1309 | 226       url = url_for("initiative", event.initiative_id), | 
| bsw@1519 | 227       geometry = location | 
| bsw@1519 | 228     } | 
| bsw@1519 | 229     activity_object.properties.name = event.initiative.name | 
| bsw@1519 | 230     table.insert(log_event.activity_objects, activity_object) | 
| bsw/jbe@1309 | 231     table.insert(log_event.references, new_reference_object( | 
| bsw/jbe@1309 | 232       url_for("issue", event.issue_id) | 
| bsw/jbe@1309 | 233     )) | 
| bsw/jbe@1309 | 234     table.insert(log_events, log_event) | 
| bsw/jbe@1309 | 235 | 
| bsw/jbe@1309 | 236     log_to_ontomap(log_events) | 
| bsw/jbe@1309 | 237   end, | 
| bsw/jbe@1309 | 238 | 
| bsw/jbe@1309 | 239   initiative_created_in_existing_issue = function(event) | 
| bsw/jbe@1309 | 240     local log_event = new_log_event(event, event.member_id, "object_created") | 
| bsw@1519 | 241     local location = event.initiative.location | 
| bsw@1519 | 242     if location and location.marker_link then | 
| bsw@1519 | 243       local marker_link = location.marker_link | 
| bsw@1519 | 244       location.marker_link = nil | 
| bsw@1519 | 245       table.insert(log_event.references, new_reference_object( | 
| bsw@1519 | 246         marker_link, config.firstlife.application_ident, "BELONGS_TO" | 
| bsw@1519 | 247       )) | 
| bsw@1549 | 248     elseif event.initiative.external_reference then | 
| bsw@1549 | 249       table.insert(log_event.references, new_reference_object( | 
| bsw@1549 | 250         event.initiative.external_reference, config.firstlife.application_ident, "BELONGS_TO" | 
| bsw@1549 | 251       )) | 
| bsw@1519 | 252     end | 
| bsw@1519 | 253     local activity_object = new_activity_object{ | 
| bsw/jbe@1309 | 254       type = "initiative", | 
| bsw/jbe@1309 | 255       url = url_for("initiative", event.initiative_id), | 
| bsw@1519 | 256       geometry = location | 
| bsw@1519 | 257     } | 
| bsw@1519 | 258     activity_object.properties.name = event.initiative.name | 
| bsw@1519 | 259     table.insert(log_event.activity_objects, activity_object) | 
| bsw/jbe@1309 | 260     table.insert(log_event.references, new_reference_object( | 
| bsw/jbe@1309 | 261       url_for("issue", event.issue_id) | 
| bsw/jbe@1309 | 262     )) | 
| bsw/jbe@1309 | 263     log_to_ontomap(log_event) | 
| bsw/jbe@1309 | 264   end, | 
| bsw/jbe@1309 | 265 | 
| bsw/jbe@1309 | 266   initiative_revoked = function(event) | 
| bsw/jbe@1309 | 267     -- TODO -> which activity? | 
| bsw/jbe@1309 | 268   end, | 
| bsw/jbe@1309 | 269 | 
| bsw/jbe@1309 | 270   new_draft_created = function(event) | 
| bsw/jbe@1309 | 271     local log_event = new_log_event(event, event.member_id, "object_updated") | 
| bsw/jbe@1309 | 272     table.insert(log_event.activity_objects, new_activity_object{ | 
| bsw/jbe@1309 | 273       type = "initiative", | 
| bsw/jbe@1309 | 274       url = url_for("initiative", event.issue_id) | 
| bsw/jbe@1309 | 275     }) | 
| bsw/jbe@1309 | 276     table.insert(log_event.references, new_reference_object( | 
| bsw/jbe@1309 | 277       url_for("issue", event.issue_id) | 
| bsw/jbe@1309 | 278     )) | 
| bsw/jbe@1309 | 279     log_event.details.name = event.initiative.name | 
| bsw/jbe@1309 | 280     log_event.details.location = event.initiative.current_draft.location | 
| bsw/jbe@1309 | 281     log_to_ontomap(log_event) | 
| bsw/jbe@1309 | 282   end, | 
| bsw/jbe@1309 | 283 | 
| bsw/jbe@1309 | 284   interest = function(event) | 
| bsw/jbe@1309 | 285     local activity_type = event.boolean_value and "interest_added" or "interest_removed" | 
| bsw/jbe@1309 | 286     local log_event = new_log_event(event, event.member_id, activity_type) | 
| bsw/jbe@1309 | 287     table.insert(log_event.references, new_reference_object( | 
| bsw/jbe@1309 | 288       url_for("issue", event.issue_id) | 
| bsw/jbe@1309 | 289     )) | 
| bsw/jbe@1309 | 290     log_to_ontomap(log_event) | 
| bsw/jbe@1309 | 291   end, | 
| bsw/jbe@1309 | 292 | 
| bsw/jbe@1309 | 293   initiator = function(event) | 
| bsw/jbe@1309 | 294     local activity_type = event.boolean_value and "initiator_added" or "initiator_removed" | 
| bsw/jbe@1309 | 295     local log_event = new_log_event(event, event.member_id, activity_type) | 
| bsw/jbe@1309 | 296     table.insert(log_event.references, new_reference_object( | 
| bsw/jbe@1309 | 297       url_for("initiative", event.initiative_id) | 
| bsw/jbe@1309 | 298     )) | 
| bsw/jbe@1309 | 299     log_to_ontomap(log_event) | 
| bsw/jbe@1309 | 300   end, | 
| bsw/jbe@1309 | 301 | 
| bsw/jbe@1309 | 302   support = function(event) | 
| bsw/jbe@1309 | 303     local activity_type = event.boolean_value and "support_added" or "support_removed" | 
| bsw/jbe@1309 | 304     local log_event = new_log_event(event, event.member_id, activity_type) | 
| bsw/jbe@1309 | 305     table.insert(log_event.references, new_reference_object( | 
| bsw/jbe@1309 | 306       url_for("initiative", event.initiative_id) | 
| bsw/jbe@1309 | 307     )) | 
| bsw/jbe@1309 | 308     log_event.details.draft_id = event.draft_id | 
| bsw/jbe@1309 | 309     log_to_ontomap(log_event) | 
| bsw/jbe@1309 | 310   end, | 
| bsw/jbe@1309 | 311 | 
| bsw/jbe@1309 | 312   support_updated = function(event) | 
| bsw/jbe@1309 | 313     local log_event = new_log_event(event, event.member_id, "support_updated") | 
| bsw/jbe@1309 | 314     table.insert(log_event.references, new_reference_object( | 
| bsw/jbe@1309 | 315       url_for("initiative", event.initiative_id) | 
| bsw/jbe@1309 | 316     )) | 
| bsw/jbe@1309 | 317     log_event.details.draft_id = event.draft_id | 
| bsw/jbe@1309 | 318     log_to_ontomap(log_event) | 
| bsw/jbe@1309 | 319   end, | 
| bsw/jbe@1309 | 320 | 
| bsw/jbe@1309 | 321   suggestion_created = function(event) | 
| bsw/jbe@1309 | 322     local log_event = new_log_event(event, event.member_id, "object_created") | 
| bsw/jbe@1309 | 323     table.insert(log_event.activity_objects, new_activity_object{ | 
| bsw/jbe@1309 | 324       type = "suggestion", | 
| bsw/jbe@1309 | 325       url = url_for("suggestion", event.suggestion_id) | 
| bsw/jbe@1309 | 326     }) | 
| bsw/jbe@1309 | 327     table.insert(log_event.references, new_reference_object( | 
| bsw/jbe@1309 | 328       url_for("initiative", event.initiative_id) | 
| bsw/jbe@1309 | 329     )) | 
| bsw/jbe@1309 | 330     log_to_ontomap(log_event) | 
| bsw/jbe@1309 | 331   end, | 
| bsw/jbe@1309 | 332 | 
| bsw/jbe@1309 | 333   suggestion_removed = function(event) | 
| bsw/jbe@1309 | 334     local log_event = new_log_event(event, 0, "object_removed") | 
| bsw/jbe@1309 | 335     table.insert(log_event.activity_objects, new_activity_object{ | 
| bsw/jbe@1309 | 336       type = "suggestion", | 
| bsw/jbe@1309 | 337       url = url_for("suggestion", event.suggestion_id) | 
| bsw/jbe@1309 | 338     }) | 
| bsw/jbe@1309 | 339     table.insert(log_event.references, new_reference_object( | 
| bsw/jbe@1309 | 340       url_for("initiative", event.initiative_id) | 
| bsw/jbe@1309 | 341     )) | 
| bsw/jbe@1309 | 342     log_to_ontomap(log_event) | 
| bsw/jbe@1309 | 343   end, | 
| bsw/jbe@1309 | 344 | 
| bsw/jbe@1309 | 345   suggestion_rated = function(event) | 
| bsw/jbe@1309 | 346     local log_event = new_log_event(event, event.member_id, "suggestion_rated") | 
| bsw/jbe@1309 | 347     table.insert(log_event.references, new_reference_object( | 
| bsw/jbe@1309 | 348       url_for("suggestion", event.suggestion_id) | 
| bsw/jbe@1309 | 349     )) | 
| bsw/jbe@1309 | 350     log_event.details.degree = event.numeric_value | 
| bsw/jbe@1309 | 351     log_event.details.fulfilled = event.boolean_value or json.null | 
| bsw/jbe@1309 | 352     log_to_ontomap(log_event) | 
| bsw/jbe@1309 | 353   end, | 
| bsw/jbe@1309 | 354 | 
| bsw/jbe@1309 | 355   delegation = function(event) | 
| bsw/jbe@1309 | 356     -- TODO | 
| bsw/jbe@1309 | 357   end, | 
| bsw/jbe@1309 | 358 | 
| bsw/jbe@1309 | 359   member_activated = function(event) | 
| bsw/jbe@1309 | 360     local log_event = new_log_event(event, event.member_id, "account_registered") | 
| bsw/jbe@1309 | 361     log_to_ontomap(log_event) | 
| bsw/jbe@1309 | 362   end, | 
| bsw/jbe@1309 | 363 | 
| bsw/jbe@1309 | 364   member_removed = function(event) | 
| bsw/jbe@1309 | 365     -- TODO -> which activity to log? | 
| bsw/jbe@1309 | 366   end, | 
| bsw/jbe@1309 | 367 | 
| bsw/jbe@1309 | 368   member_active = function(event) | 
| bsw/jbe@1309 | 369     -- TODO -> which activity to log? | 
| bsw/jbe@1309 | 370   end, | 
| bsw/jbe@1309 | 371 | 
| bsw/jbe@1309 | 372   member_name_updated = function(event) | 
| bsw/jbe@1309 | 373     local log_event = new_log_event(event, event.member_id, "screen_name_changed") | 
| bsw/jbe@1309 | 374     log_event.details.screen_name = event.text_value | 
| bsw/jbe@1309 | 375     log_to_ontomap(log_event) | 
| bsw/jbe@1309 | 376   end, | 
| bsw/jbe@1309 | 377 | 
| bsw/jbe@1309 | 378   member_profile_updated = function(event) | 
| bsw/jbe@1309 | 379     local log_event = new_log_event(event, event.member_id, "profile_updated") | 
| bsw/jbe@1309 | 380     log_to_ontomap(log_event) | 
| bsw/jbe@1309 | 381   end, | 
| bsw/jbe@1309 | 382 | 
| bsw/jbe@1309 | 383   member_image_updated = function(event) | 
| bsw/jbe@1309 | 384     local log_event = new_log_event(event, event.member_id, "avatar_changed") | 
| bsw/jbe@1309 | 385     log_to_ontomap(log_event) | 
| bsw/jbe@1309 | 386   end, | 
| bsw/jbe@1309 | 387 | 
| bsw/jbe@1309 | 388   contact = function(event) | 
| bsw/jbe@1309 | 389     local activity_type = event.boolean_value and "contact_published" or "contact_unpublished" | 
| bsw/jbe@1309 | 390     local log_event = new_log_event(event, event.member_id, activity_type) | 
| bsw/jbe@1309 | 391     log_event.details.other_member_id = event.other_member_id | 
| bsw/jbe@1309 | 392     log_to_ontomap(log_event) | 
| bsw/jbe@1309 | 393   end | 
| bsw/jbe@1309 | 394 | 
| bsw/jbe@1309 | 395 } | 
| bsw/jbe@1309 | 396 | 
| bsw/jbe@1309 | 397 function _G.ontomap_log_event(event) | 
| bsw/jbe@1309 | 398 | 
| bsw/jbe@1309 | 399   if mapper[event.event] then | 
| bsw/jbe@1309 | 400     local e = Event:new_selector() | 
| bsw/jbe@1309 | 401       :add_where{ "id = ?", event.id } | 
| bsw/jbe@1309 | 402       :add_field("extract(epoch from occurrence)", "occurrence_epoch") | 
| bsw/jbe@1309 | 403       :optional_object_mode() | 
| bsw/jbe@1309 | 404       :exec() | 
| bsw/jbe@1309 | 405     if e then | 
| bsw/jbe@1309 | 406       mapper[event.event](e) | 
| bsw/jbe@1309 | 407     end | 
| bsw/jbe@1309 | 408   end | 
| bsw/jbe@1309 | 409 | 
| bsw/jbe@1309 | 410 | 
| bsw/jbe@1309 | 411 end |