99 "strconv"
1010)
1111
12- func Write (fileName string , folderName string , responses []models.ResponseBody ) error {
12+ // WriteLawsuits writes two CSV files with the given file name and folder name, and the data from the responses. One file for the Lawsuits and another for the lawsuit movements
13+ func WriteLawsuits (fileName string , folderName string , responses []models.ResponseBodyLawsuit ) error {
1314 err := writeLawsuits (fileName , folderName , responses )
1415 if err != nil {
1516 return err
@@ -21,8 +22,17 @@ func Write(fileName string, folderName string, responses []models.ResponseBody)
2122 return nil
2223}
2324
24- // WriteLawsuits writes a CSV file with the given file name and folder name, and the data from the responses.
25- func writeLawsuits (fileName string , folderName string , responses []models.ResponseBody ) error {
25+ // createFile function takes in a file path and creates a file in the specified directory. It returns a pointer to the created file and an error if there is any.
26+ func createFile (p string ) (* os.File , error ) {
27+ if err := os .MkdirAll (filepath .Dir (p ), 0770 ); err != nil {
28+ log .Println (err )
29+ return nil , err
30+ }
31+ return os .Create (p )
32+ }
33+
34+ // writeLawsuits writes a CSV file with the given file name and folder name, and the data from the responses.
35+ func writeLawsuits (fileName string , folderName string , responses []models.ResponseBodyLawsuit ) error {
2636 // Create a slice to hold all the rows for the CSV file
2737 var rows [][]string
2838
@@ -35,7 +45,7 @@ func writeLawsuits(fileName string, folderName string, responses []models.Respon
3545 }
3646
3747 // Create the CSV file
38- cf , err := createFile (folderName + "/" + fileName + "requests .csv" )
48+ cf , err := createFile (folderName + "/" + fileName + "requestsLawsuits .csv" )
3949 if err != nil {
4050 log .Println (err )
4151 return err
@@ -57,15 +67,6 @@ func writeLawsuits(fileName string, folderName string, responses []models.Respon
5767 return nil
5868}
5969
60- // createFile function takes in a file path and creates a file in the specified directory. It returns a pointer to the created file and an error if there is any.
61- func createFile (p string ) (* os.File , error ) {
62- if err := os .MkdirAll (filepath .Dir (p ), 0770 ); err != nil {
63- log .Println (err )
64- return nil , err
65- }
66- return os .Create (p )
67- }
68-
6970// generateHeadersLawsuits function returns a slice of strings containing the header values for the CSV file.
7071func generateHeadersLawsuits () []string {
7172 return []string {
@@ -105,33 +106,9 @@ func generateHeadersLawsuits() []string {
105106}
106107
107108// generateRowLawsuits function takes in a single models.WriteStruct argument and returns a slice of strings containing the values to be written in a row of the CSV file.
108- func generateRowLawsuits (response models.ResponseBody ) [][]string {
109+ func generateRowLawsuits (response models.ResponseBodyLawsuit ) [][]string {
109110 var rows [][]string
110111
111- // Create subject codes string
112- var subjectsCodes string
113- for _ , hit := range response .Hit .Hits {
114- for i , s := range hit .Source .Subjects {
115- if i != 0 {
116- subjectsCodes += " | " + strconv .Itoa (s .Code )
117- } else {
118- subjectsCodes += strconv .Itoa (s .Code )
119- }
120- }
121- }
122-
123- // Create subject string
124- var subjects string
125- for _ , hit := range response .Hit .Hits {
126- for i , s := range hit .Source .Subjects {
127- if i != 0 {
128- subjects += " | " + s .Name
129- } else {
130- subjects += s .Name
131- }
132- }
133- }
134-
135112 for _ , lawsuit := range response .Hit .Hits {
136113 row := []string {
137114 // All those that repeat
@@ -168,6 +145,18 @@ func generateRowLawsuits(response models.ResponseBody) [][]string {
168145 row = append (row , strconv .Itoa (lawsuit .Source .CourtInstance .CountyCodeIBGE ))
169146 row = append (row , strconv .Itoa (lawsuit .Source .CourtInstance .Code ))
170147 row = append (row , lawsuit .Source .CourtInstance .Name )
148+
149+ var subjectsCodes string
150+ var subjects string
151+ for j , s := range lawsuit .Source .Subjects {
152+ if j != 0 {
153+ subjects += " | " + s .Name
154+ subjectsCodes += " | " + strconv .Itoa (s .Code )
155+ } else {
156+ subjects += s .Name
157+ subjectsCodes += strconv .Itoa (s .Code )
158+ }
159+ }
171160 row = append (row , subjectsCodes )
172161 row = append (row , subjects )
173162 rows = append (rows , row )
@@ -177,7 +166,7 @@ func generateRowLawsuits(response models.ResponseBody) [][]string {
177166}
178167
179168// WriteMovements writes a CSV file with the given file name and folder name, and the data from the responses.
180- func writeMovements (fileName string , folderName string , responses []models.ResponseBody ) error {
169+ func writeMovements (fileName string , folderName string , responses []models.ResponseBodyLawsuit ) error {
181170 // Create a slice to hold all the rows for the CSV file
182171 var rows [][]string
183172
@@ -228,7 +217,7 @@ func generateHeadersMovements() []string {
228217}
229218
230219// generateRowLawsuits function takes in a single models.WriteStruct argument and returns a slice of strings containing the values to be written in a row of the CSV file.
231- func generateRowMovements (response models.ResponseBody ) [][]string {
220+ func generateRowMovements (response models.ResponseBodyLawsuit ) [][]string {
232221 var rows [][]string
233222
234223 for _ , lawsuit := range response .Hit .Hits {
0 commit comments