Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
54 changes: 26 additions & 28 deletions src/api.ml
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ let print_info_base conf base =
has_ignored_duplicates;
})
in
let data = Api_piqi_ext.gen_infos_base info_base in
let data = Encoders.Api.encode_infos_base info_base in
Api_util.print_result conf data

let print_loop conf base =
Expand Down Expand Up @@ -74,7 +74,7 @@ let print_loop conf base =
Api_util.print_result conf data

let print_info_ind conf base =
let ref_person = Api_util.get_params conf Api_piqi_ext.parse_reference_person in
let ref_person = Api_util.get_params conf Decoders.Api.decode_reference_person in
let filters = Api_util.get_filters conf in
let compute_sosa = Api_util.compute_sosa conf base in
let sn = ref_person.Api_piqi.Reference_person.n in
Expand All @@ -94,7 +94,7 @@ let print_info_ind conf base =
Api_util.print_result conf data

let print_list_ref_person conf base =
let list_ref_person = Api_util.get_params conf Api_piqi_ext.parse_list_reference_persons in
let list_ref_person = Api_util.get_params conf Decoders.Api.decode_list_reference_persons in
let filters = Api_util.get_filters conf in
let pl =
List.map
Expand All @@ -115,10 +115,10 @@ let print_list_ref_person conf base =
Api_util.print_result conf data

let print_ref_person_from_ip conf base =
let id = Api_util.get_params conf Api_piqi_ext.parse_index in
let id = Api_util.get_params conf Decoders.Api.decode_index in
let ip = Gwdb.iper_of_string @@ Int32.to_string id.Api_piqi.Index.index in
let ref_p = Api_util.person_to_reference_person base @@ Gwdb.poi base ip in
let data = Api_piqi_ext.gen_reference_person ref_p in
let data = Encoders.Api.encode_reference_person ref_p in
Api_util.print_result conf data


Expand All @@ -138,7 +138,7 @@ let print_first_available_person conf base =
continue := false
end
end () (Gwdb.persons base) ;
let data = Api_piqi_ext.gen_reference_person !res in
let data = Encoders.Api.encode_reference_person !res in
Api_util.print_result conf data


Expand All @@ -148,7 +148,7 @@ let print_first_available_person conf base =
Elle prend une référence_person et si elle a des enfants, alors on
renvoi le premier enfant, sinon on renvoi la même personne. *)
let print_find_sosa conf base =
let ref_person = Api_util.get_params conf Api_piqi_ext.parse_reference_person in
let ref_person = Api_util.get_params conf Decoders.Api.decode_reference_person in
let n = ref_person.Api_piqi.Reference_person.n in
let p = ref_person.Api_piqi.Reference_person.p in
let oc = ref_person.Api_piqi.Reference_person.oc in
Expand All @@ -172,14 +172,14 @@ let print_find_sosa conf base =
loop 0
| None -> Api_util.empty_reference_person
in
let data = Api_piqi_ext.gen_reference_person ref_p in
let data = Encoders.Api.encode_reference_person ref_p in
Api_util.print_result conf data


(**/**) (* API_LAST_MODIFIED_PERSONS *)

let print_last_modified_persons conf base =
let params = Api_util.get_params conf Api_piqi_ext.parse_last_modifications in
let params = Api_util.get_params conf Decoders.Api.decode_last_modifications in
let filters = Api_util.get_filters conf in
let wiz =
match params.Api_piqi.Last_modifications.wizard with
Expand Down Expand Up @@ -314,7 +314,7 @@ let print_last_modified_persons conf base =
(**/**) (* API_LAST_VISITED_PERSONS *)

let print_last_visited_persons conf base =
let last_visits = Api_util.get_params conf Api_piqi_ext.parse_last_visits in
let last_visits = Api_util.get_params conf Decoders.Api.decode_last_visits in
let user = last_visits.Api_piqi.Last_visits.user in
let filters = Api_util.get_filters conf in
let list =
Expand Down Expand Up @@ -398,7 +398,7 @@ let print_max_ancestors =
if nb > snd !res then res := (i, nb)
end ipers ;
let ref_p = Api_util.person_to_reference_person base @@ Gwdb.poi base (fst !res) in
let data = Api_piqi_ext.gen_reference_person ref_p in
let data = Encoders.Api.encode_reference_person ref_p in
Api_util.print_result conf data


Expand All @@ -416,7 +416,7 @@ let print_img_all conf base =
in
if filters.nb_results then
let len = Api_piqi.Internal_int32.({value = Int32.of_int (List.length list)}) in
let data = Api_piqi_ext.gen_internal_int32 len in
let data fmt = Api_piqi_ext.gen_internal_int32 len (Protoc_fmt.to_piqi fmt)in
Api_util.print_result conf data
else
Api_util.print_result conf (fl list)
Expand All @@ -426,25 +426,25 @@ let print_img_all conf base =
let p = Api_util.person_to_reference_person base p in
Api_piqi.Image.({person = p; img}))
(fun list ->
Api_piqi_ext.gen_list_images @@ Api_piqi.List_images.({list_images = list}))
Encoders.Api.encode_list_images @@ Api_piqi.List_images.({list_images = list}))

(**/**) (* API_IMAGE_APP *)

let print_img_person conf base =
let id = Api_util.get_params conf Api_piqi_ext.parse_index in
let id = Api_util.get_params conf Decoders.Api.decode_index in
let ip = Gwdb.iper_of_string @@ Int32.to_string id.Api_piqi.Index.index in
let p = Gwdb.poi base ip in
let img_addr = Api_util.get_portrait conf base p |> Option.value ~default:"" in
let img_from_ip = Api_piqi.Image_address.({img = img_addr}) in
let data = Api_piqi_ext.gen_image_address img_from_ip in
let data = Encoders.Api.encode_image_address img_from_ip in
Api_util.print_result conf data



(**/**) (* API_UPDT_IMAGE *)

let print_updt_image conf base =
let pers_img_l = Api_util.get_params conf Api_piqi_ext.parse_list_pers_img in
let pers_img_l = Api_util.get_params conf Decoders.Api.decode_list_pers_img in
let pers_img_l = pers_img_l.Api_piqi.List_pers_img.list_pers_img in
List.iter
(fun pers_img ->
Expand Down Expand Up @@ -477,8 +477,7 @@ let print_base_warnings conf base =
let data =
if filters.Api_def.nb_results then
let len = List.length !errors + List.length warnings in
let len = Api_piqi.Internal_int32.({value = Int32.of_int len}) in
Api_piqi_ext.gen_internal_int32 len
Encoders.encode_int32 (Int32.of_int len)
else
let result =
List.fold_left
Expand All @@ -492,7 +491,7 @@ let print_base_warnings conf base =
Api_warnings.add_warning_to_piqi_warning_list base acc x
end result warnings
in
Api_piqi_ext.gen_base_warnings result
Encoders.Api.encode_base_warnings result
in
Api_util.print_result conf data

Expand All @@ -505,7 +504,7 @@ let person_warnings conf base p =
else Api_warnings.empty

let print_person_warnings conf base =
let ref_person = Api_piqi_util.get_params conf Api_piqi_ext.parse_reference_person_i in
let ref_person = Api_piqi_util.get_params conf Decoders.Api.decode_reference_person_i in
match
match ref_person.Api_piqi.Reference_person_i.i with
| Some i -> Some (Gwdb.iper_of_string i)
Expand All @@ -522,13 +521,13 @@ let print_person_warnings conf base =
| Some ip ->
Geneweb.Util.pget conf base ip
|> person_warnings conf base
|> Api_piqi_ext.gen_base_warnings
|> Encoders.Api.encode_base_warnings
|> Api_util.print_result conf

(**/**) (* Récupération de toute une base. *)

let print_all_persons conf base =
let params = Api_util.get_params conf Api_piqi_ext.parse_all_persons_params in
let params = Api_util.get_params conf Decoders.Api.decode_all_persons_params in
let filters = Api_util.get_filters conf in
let (from, until) =
match (params.Api_piqi.All_persons_params.from, params.Api_piqi.All_persons_params.limit) with
Expand All @@ -548,7 +547,7 @@ let print_all_persons conf base =
Api_util.print_result conf data

let print_all_families conf base =
let params = Api_util.get_params conf Api_piqi_ext.parse_all_families_params in
let params = Api_util.get_params conf Decoders.Api.decode_all_families_params in
let filters = Api_util.get_filters conf in
let from = params.Api_piqi.All_families_params.from in
let limit = params.Api_piqi.All_families_params.limit in
Expand All @@ -571,12 +570,11 @@ let print_all_families conf base =
in
let data =
if filters.nb_results then
let len = Api_piqi.Internal_int32.({value = Int32.of_int (List.length @@ fst list)}) in
Api_piqi_ext.gen_internal_int32 len
Encoders.encode_int32 (Int32.of_int (List.length @@ fst list))
else
let list = List.map (Api_util.fam_to_piqi_family conf base) (List.rev @@ fst list) in
let list = Api_piqi.List_full_families.({families = list}) in
Api_piqi_ext.gen_list_full_families list
Encoders.Api.encode_list_full_families list
in
Api_util.print_result conf data

Expand Down Expand Up @@ -746,11 +744,11 @@ module HistoryApi = struct
~f
in
let total_elements = Int32.of_int (Geneweb.History.total_entries ~conf ~filter) in
Api_piqi_ext.gen_history {Api_piqi.History.entries; page; total_elements}
Encoders.Api.encode_history {Api_piqi.History.entries; page; total_elements}
end

let history conf base =
let params = Api_util.get_params conf Api_piqi_ext.parse_history_request in
let params = Api_util.get_params conf Decoders.Api.decode_history_request in
let page = params.Api_piqi.History_request.page in
let elements_per_page = params.Api_piqi.History_request.elements_per_page in
let filter_user = params.Api_piqi.History_request.filter_user in
Expand Down
36 changes: 16 additions & 20 deletions src/api_graph.ml
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
module M = Api_piqi
module Mext = Api_piqi_ext

open Geneweb
open Config
Expand Down Expand Up @@ -45,7 +44,7 @@ let print_close_person_aux conf base filters cpp =

let print_close_person_relations conf base =
let filters = get_filters conf in
let params = get_params conf Mext.parse_close_persons_params in
let params = get_params conf Decoders.Api.decode_close_persons_params in
let list = print_close_person_aux conf base filters params in
print_result conf @@
Api_util.conv_data_list_person conf base filters list
Expand Down Expand Up @@ -173,7 +172,7 @@ let print_close_person_events conf base params close_persons_params =

let print_select_events conf base =
load_image_ht conf ;
let params = get_params conf Mext.parse_events_query_params in
let params = get_params conf Decoders.Api.decode_events_query_params in
let events =
match params.M.Events_query_params.close_persons_params with
| Some close_persons_params ->
Expand All @@ -190,7 +189,7 @@ let print_select_events conf base =
(Gwdb.families base)
in
print_result conf @@
Mext.gen_event_query_result_list { M.Event_query_result_list.events }
Encoders.Api.encode_event_query_result_list { M.Event_query_result_list.events }

(* Graphe d'ascendance *)

Expand Down Expand Up @@ -236,7 +235,7 @@ let build_graph_asc conf base p max_gen =
loop [(p, 1)] nodes edges families

let print_graph_asc conf base =
let params = get_params conf Mext.parse_graph_params in
let params = get_params conf Decoders.Api.decode_graph_params in
let filters = get_filters conf in
let ref_person = params.M.Graph_params.person in
let (nodes, edges, families) =
Expand All @@ -253,19 +252,18 @@ let print_graph_asc conf base =
in
let data =
if filters.nb_results then
let len = M.Internal_int32.({value = Int32.of_int (List.length nodes)}) in
Mext.gen_internal_int32 len
Encoders.encode_int32 (Int32.of_int (List.length nodes))
else
let nodes = person_node_map conf base nodes in
match nodes with
| PFull nodes ->
let graph =
M.Full_graph.({nodes = nodes; edges = edges; families = families})
in
Mext.gen_full_graph graph
Encoders.Api.encode_full_graph graph
| PLight nodes ->
let graph = M.Graph.({nodes = nodes; edges = edges;}) in
Mext.gen_graph graph
Encoders.Api.encode_graph graph
in
print_result conf data

Expand Down Expand Up @@ -334,7 +332,7 @@ let build_graph_desc conf base p max_gen =
loop [(p, 1)] nodes edges families

let print_graph_desc conf base =
let params = get_params conf Mext.parse_graph_params in
let params = get_params conf Decoders.Api.decode_graph_params in
let filters = get_filters conf in
let ref_person = params.M.Graph_params.person in
let (nodes, edges, families) =
Expand All @@ -351,19 +349,18 @@ let print_graph_desc conf base =
in
let data =
if filters.nb_results then
let len = M.Internal_int32.({value = Int32.of_int (List.length nodes)}) in
Mext.gen_internal_int32 len
Encoders.encode_int32 (Int32.of_int (List.length nodes))
else
let nodes = person_node_map conf base nodes in
match nodes with
| PFull nodes ->
let graph =
M.Full_graph.({nodes = nodes; edges = edges; families = families})
in
Mext.gen_full_graph graph
Encoders.Api.encode_full_graph graph
| PLight nodes ->
let graph = M.Graph.({nodes = nodes; edges = edges;}) in
Mext.gen_graph graph
Encoders.Api.encode_graph graph
in
print_result conf data

Expand Down Expand Up @@ -427,7 +424,7 @@ let build_rel_graph conf base p1 p2 (pp1, pp2, (l1, l2, list), _) =
(!nodes, !edges, !families)

let print_graph_rel conf base =
let params = get_params conf Mext.parse_graph_rel_params in
let params = get_params conf Decoders.Api.decode_graph_rel_params in
let filters = get_filters conf in
let ref_p1 = params.M.Graph_rel_params.person1 in
let ref_p2 = params.M.Graph_rel_params.person2 in
Expand All @@ -454,24 +451,23 @@ let print_graph_rel conf base =
in
let data =
if filters.nb_results then
let len = M.Internal_int32.({value = Int32.of_int (List.length nodes)}) in
Mext.gen_internal_int32 len
Encoders.encode_int32 (Int32.of_int (List.length nodes))
else
let nodes = person_node_map conf base nodes in
match nodes with
| PFull nodes ->
let graph =
M.Full_graph.({nodes = nodes; edges = edges; families = families})
in
Mext.gen_full_graph graph
Encoders.Api.encode_full_graph graph
| PLight nodes ->
let graph = M.Graph.({nodes = nodes; edges = edges;}) in
Mext.gen_graph graph
Encoders.Api.encode_graph graph
in
print_result conf data

let print_cpl_relation conf base =
let params = get_params conf Mext.parse_cpl_rel_params in
let params = get_params conf Decoders.Api.decode_cpl_rel_params in
let filters = get_filters conf in
let ref_p1 = params.M.Cpl_rel_params.person1 in
let ref_p2 = params.M.Cpl_rel_params.person2 in
Expand Down
Loading