@@ -2,6 +2,7 @@ package main
22
33import (
44 "encoding/json"
5+ "fmt"
56 "log"
67 "net"
78 "strconv"
@@ -29,15 +30,9 @@ func startWebserver(env Env, api *API, loginUsers []EnvUser) string {
2930 return
3031 }
3132
32- referenceNrInterf , ok := cvContent ["referenceNumber" ]
33- if ! ok {
34- errorResp (ctx , 400 , "referenceNumber field does not exists" )
35- return
36- }
37-
38- referenceNr , ok := referenceNrInterf .(string )
39- if ! ok {
40- errorResp (ctx , 400 , "referenceNumber must be a string" )
33+ referenceNr , err := checkIfCVHasReferenceNr (cvContent )
34+ if err != nil {
35+ errorResp (ctx , 400 , err .Error ())
4136 return
4237 }
4338
@@ -76,6 +71,34 @@ func startWebserver(env Env, api *API, loginUsers []EnvUser) string {
7671 }
7772 }
7873
74+ ctx .Response .AppendBodyString ("true" )
75+ case "/cvs_list" :
76+ cvsContent := []map [string ]interface {}{}
77+ err := json .Unmarshal (body , & cvsContent )
78+ if err != nil {
79+ errorResp (ctx , 400 , "invalid CV" )
80+ return
81+ }
82+
83+ for idx , cv := range cvsContent {
84+ _ , err := checkIfCVHasReferenceNr (cv )
85+ if err != nil {
86+ errorResp (ctx , 400 , fmt .Sprintf ("error in cv with index %d, error: %s" , idx , err .Error ()))
87+ return
88+ }
89+ }
90+
91+ if ! api .MockMode {
92+ body := append (append ([]byte (`{"cvs":` ), body ... ), '}' )
93+ for _ , conn := range api .connections {
94+ err = conn .Post ("/api/v1/scraper/allCVs" , json .RawMessage (body ), nil )
95+ if err != nil {
96+ errorResp (ctx , 500 , err .Error ())
97+ return
98+ }
99+ }
100+ }
101+
79102 ctx .Response .AppendBodyString ("true" )
80103 case "/users" :
81104 ctx .Response .AppendBody (loginUsersJSON )
0 commit comments