# HG changeset patch # User bsw # Date 1334507166 -7200 # Node ID 46c05d8837b724016b15786b1593ca6d44da6ec6 # Parent 29683c7c7926f65a13e056a81cb15109b4fc77b8 Removed artefacts from old API diff -r 29683c7c7926 -r 46c05d8837b7 app/main/_filter/21_auth.lua --- a/app/main/_filter/21_auth.lua Sun Apr 15 12:37:34 2012 +0200 +++ b/app/main/_filter/21_auth.lua Sun Apr 15 18:26:06 2012 +0200 @@ -33,7 +33,7 @@ end -if config.api_enabled and request.get_module() == "api" or request.get_module() == "sitemap" then +if request.get_module() == "sitemap" then auth_needed = false end diff -r 29683c7c7926 -r 46c05d8837b7 app/main/api/_filter/00_api.lua --- a/app/main/api/_filter/00_api.lua Sun Apr 15 12:37:34 2012 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,41 +0,0 @@ -if not config.api_enabled then - error("API is not enabled.") -end - -local api_key = param.get("key") - -if not api_key then - error("No API key supplied.") -end - -local accepted = false - -if config.api_keys then - for i, config_api_key in ipairs(config.api_keys) do - if api_key == config_api_key then - accepted = true - end - end -end - -if not accepted then - local setting_key = "liquidfeedback_frontend_api_key" - - local setting = Setting:new_selector() - :add_where{ "key = ?", setting_key } - :add_where{ "value = ?", api_key } - :join("member", nil, "member.id = setting.member_id") - :add_where("member.active") - :optional_object_mode() - :exec() - - if setting then - accepted = true - end -end - -if not accepted then - error("Supplied API key is not valid.") -end - -execute.inner() diff -r 29683c7c7926 -r 46c05d8837b7 app/main/api/area.lua --- a/app/main/api/area.lua Sun Apr 15 12:37:34 2012 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,54 +0,0 @@ -local id = param.get("id") -local min_id = param.get("min_id") -local max_id = param.get("max_id") -local order = param.get("order") -local limit = param.get("limit", atom.integer) - -local areas_selector = Area:new_selector() - -if id then - areas_selector:add_where{"area.id = ?", id} -end - -if min_id then - areas_selector:add_where{"area.id >= ?", min_id} -end - -if max_id then - areas_selector:add_where{"area.id <= ?", max_id} -end - -if order == "name" then - areas_selector:add_order_by("area.name") -end - -if order == "member_weight" then - areas_selector:add_order_by("area.member_weight DESC") -end - -areas_selector:add_order_by("area.id") - -if limit then - initiatives_selector:limit(limit) -end - -local api_engine = param.get("api_engine") or "xml" - -local fields = { - - { name = "id", field = "area.id" }, - { name = "name", field = "area.name" }, - { name = "description", field = "area.description" }, - { name = "direct_member_count", field = "area.direct_member_count" }, - { name = "member_weight", field = "area.member_weight" }, - { name = "autoreject_weight", field = "area.autoreject_weight" }, - { name = "active", field = "area.active" }, - -} - -util.autoapi{ - relation_name = "area", - selector = areas_selector, - fields = fields, - api_engine = api_engine -} \ No newline at end of file diff -r 29683c7c7926 -r 46c05d8837b7 app/main/api/initiative.lua --- a/app/main/api/initiative.lua Sun Apr 15 12:37:34 2012 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,215 +0,0 @@ -local id = param.get("id") -local min_id = param.get("min_id") -local max_id = param.get("max_id") -local area_id = param.get("area_id", atom.integer) -local issue_id = param.get("issue_id", atom.integer) -local policy_id = param.get("policy_id", atom.integer) -local state = param.get("state") -local agreed = param.get("agreed") -local rank = param.get("rank") ---local search = param.get("search") ---local search_context = param.get("search_context") or "full" -local limit = param.get("limit", atom.integer) -local order = param.get("order") -local render_draft = param.get("render_draft") - -if render_draft and render_draft ~= "html" then - error("unsupported render target, only 'html' is supported right now") -end - -local initiatives_selector = Initiative:new_selector() - :join("issue", nil, "issue.id = initiative.issue_id") - :join("area", nil, "area.id = issue.area_id") - :join("policy", nil, "policy.id = issue.policy_id") - -if id then - initiatives_selector:add_where{"initiative.id = ?", id} -end - -if min_id then - initiatives_selector:add_where{"initiative.id >= ?", min_id} -end - -if max_id then - initiatives_selector:add_where{"initiative.id <= ?", max_id} -end - -if area_id then - initiatives_selector:add_where{"area.id = ?", area_id} -end - -if issue_id then - initiatives_selector:add_where{"issue.id = ?", issue_id} -end - -if policy_id then - initiatives_selector:add_where{"policy.id = ?", policy_id} -end - -if state then - Issue:modify_selector_for_state(initiatives_selector, state) -end - -if agreed then - initiatives_selector:add_where("initiative.agreed") -end - -if rank then - initiatives_selector:add_where{ "initiative.rank = ?", rank } -end - ---[[ -if search then - if search_context == "full" then - elseif search_context == "title" then - end -end ---]] - -if order == "supporter_count" then - initiatives_selector:add_order_by("initiative.supporter_count") -end - -if order == "id_desc" then - initiatives_selector:add_order_by("initiative.id DESC") -else - initiatives_selector:add_order_by("initiative.id") -end - -if limit then - initiatives_selector:limit(limit) -end - -local api_engine = param.get("api_engine") or "xml" - -local function format_timestamp(timestamp) - if timestamp then - return format.timestamp(timestamp) - else - return "" - end -end - -local fields = { - - { name = "area_id", field = "area.id" }, - { name = "area_name", field = "area.name" }, - { name = "issue_id", field = "issue.id" }, - { - name = "issue_state", - func = function(record) - return record.issue.state - end - }, - { - name = "issue_created", - field = "issue.created", - func = function(record) - return format_timestamp(record.issue_created) - end - }, - { - name = "issue_accepted", - field = "issue.accepted", - func = function(record) - return format_timestamp(record.issue_accepted) - end - }, - { - name = "issue_half_frozen", - field = "issue.half_frozen", - func = function(record) - return format_timestamp(record.issue_half_frozen) - end - }, - { - name = "issue_fully_frozen", - field = "issue.fully_frozen", - func = function(record) - return format_timestamp(record.issue_fully_frozen) - end - }, - { - name = "issue_closed", - field = "issue.closed", - func = function(record) - return format_timestamp(record.issue_closed) - end - }, - { name = "issue_admission_time", field = "issue.admission_time" }, - { name = "issue_discussion_time", field = "issue.discussion_time" }, - { name = "issue_verification_time", field = "issue.verification_time" }, - { name = "issue_voting_time", field = "issue.voting_time" }, - { name = "issue_ranks_available", field = "issue.ranks_available" }, - - { name = "policy_issue_quorum_num", field = "policy.issue_quorum_num" }, - { name = "policy_issue_quorum_den", field = "policy.issue_quorum_den" }, - { name = "policy_initiative_quorum_num", - field = "policy.initiative_quorum_num" }, - { name = "policy_initiative_quorum_den", - field = "policy.initiative_quorum_den" }, - { name = "policy_majority_num", field = "policy.majority_num" }, - { name = "policy_majority_den", field = "policy.majority_den" }, - { name = "policy_majority_strict", field = "policy.majority_strict" }, - { name = "id", field = "initiative.id" }, - { name = "name", field = "initiative.name" }, - { name = "discussion_url", field = "initiative.discussion_url" }, - { - name = "created", - field = "initiative.created", - func = function(record) - return format_timestamp(record.created) - end - }, - { - name = "revoked", - field = "initiative.revoked", - func = function(record) - return format_timestamp(record.revoked) - end - }, - { name = "suggested_initiative_id", field = "initiative.suggested_initiative_id" }, - { name = "admitted", field = "initiative.admitted" }, - { name = "issue_population", field = "issue.population" }, - { name = "supporter_count", field = "initiative.supporter_count" }, - { name = "informed_supporter_count", field = "initiative.informed_supporter_count" }, - { name = "satisfied_supporter_count", field = "initiative.satisfied_supporter_count" }, - { name = "satisfied_informed_supporter_count", - field = "initiative.satisfied_informed_supporter_count" }, - { name = "issue_vote_now", field = "issue.vote_now" }, - { name = "issue_vote_later", field = "issue.vote_later" }, - { name = "issue_voter_count", field = "issue.voter_count" }, - { name = "positive_votes", field = "initiative.positive_votes" }, - { name = "negative_votes", field = "initiative.negative_votes" }, - { name = "agreed", field = "initiative.agreed" }, - { name = "rank", field = "initiative.rank" }, - { - name = "current_draft_created", - func = function(record) - return format_timestamp(record.current_draft.created) - end - }, - { - name = "current_draft_formatting_engine", - func = function(record) - return record.current_draft.formatting_engine - end - }, - { - name = "current_draft_content", - func = function(record) - if render_draft then - return record.current_draft:get_content(render_draft) - else - return record.current_draft.content - end - end - } -} - -util.autoapi{ - relation_name = "initiative", - selector = initiatives_selector, - fields = fields, - api_engine = api_engine -} \ No newline at end of file diff -r 29683c7c7926 -r 46c05d8837b7 app/main/api/suggestion.lua --- a/app/main/api/suggestion.lua Sun Apr 15 12:37:34 2012 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,67 +0,0 @@ -local id = param.get("id") -local min_id = param.get("min_id") -local max_id = param.get("max_id") -local initiative_id = param.get("initiative_id") -local order = param.get("order") -local limit = param.get("limit", atom.integer) - -local suggestions_selector = Suggestion:new_selector() - -if id then - suggestions_selector:add_where{"suggestion.id = ?", id} -end - -if min_id then - suggestions_selector:add_where{"suggestion.id >= ?", min_id} -end - -if max_id then - suggestions_selector:add_where{"suggestion.id <= ?", max_id} -end - -if initiative_id then - suggestions_selector:add_where{"suggestion.initiative_id = ?", initiative_id} -end - -if order == "created_desc" then - suggestions_selector:add_order_by("suggestion.created DESC") -elseif order == "created_asc" or order == "created" then - suggestions_selector:add_order_by("suggestion.id") -elseif order == "id_desc" then - suggestions_selector:add_order_by("suggestion.id DESC") -else - suggestions_selector:add_order_by("suggestion.id") -end - -if limit then - suggestions_selector:limit(limit) -end - -local api_engine = param.get("api_engine") or "xml" - -local fields = { - - { name = "id", field = "suggestion.id" }, - { name = "initiative_id", field = "suggestion.initiative_id" }, - { name = "created", field = "suggestion.created" }, --- FIXME: private api --- { name = "author_id", field = "suggestion.author_id" }, - { name = "name", field = "suggestion.name" }, - { name = "description", field = "suggestion.description" }, - { name = "minus2_unfulfilled_count", field = "suggestion.minus2_unfulfilled_count" }, - { name = "minus2_fulfilled_count", field = "suggestion.minus2_fulfilled_count" }, - { name = "minus1_unfulfilled_count", field = "suggestion.minus1_unfulfilled_count" }, - { name = "minus1_fulfilled_count", field = "suggestion.minus1_fulfilled_count" }, - { name = "plus1_unfulfilled_count", field = "suggestion.plus1_unfulfilled_count" }, - { name = "plus1_fulfilled_count", field = "suggestion.plus1_fulfilled_count" }, - { name = "plus2_unfulfilled_count", field = "suggestion.plus2_unfulfilled_count" }, - { name = "plus2_fulfilled_count", field = "suggestion.plus2_fulfilled_count" }, - -} - -util.autoapi{ - relation_name = "suggestion", - selector = suggestions_selector, - fields = fields, - api_engine = api_engine -} \ No newline at end of file