Ignore:
Timestamp:
12/10/25 13:45:42 (10 months ago)
Author:
GitHub <noreply@…>
Branches:
master
Children:
70a9f6d
Parents:
2d64b2e (diff), 691f152 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
git-author:
Stefan Saveski <76560180+stefansaveski@…> (12/10/25 13:45:42)
git-committer:
GitHub <noreply@…> (12/10/25 13:45:42)
Message:

Merge pull request #7 from stefansaveski/feature/get-semesters

Add getSemesters endpoint and related data access

File:
1 edited

Legend:

Unmodified
Added
Removed
  • iknow-api/Controllers/UserController.cs

    r2d64b2e r33c69d6  
    2929            }
    3030            return null;
    31            
     31
    3232        }
     33        //"semesters": [
     34        //    {
     35        //      "id": 1,
     36        //      "semester": "Зимски(2025/2026)",
     37        //      "direction": "PIT23(2023)",
     38        //      "quota": "Не плаќа-Редовен(2023)",
     39        //      "note": "",
     40        //      "studentCom": "Ги имам си...",
     41        //      "sum": "0,30",
     42        //      "paid": "0,00",
     43        //      "ukim": "",
     44        //      "createdOn": "22.09.2025",
     45        //      "dateChanged": "22.09.2025",
     46        //      "credits": "0,01",
     47        //      "type": "Ред.",
     48        //      "doc": "Не",
     49        //      "doc1": "Не",
     50        //      "verified": "Не",
     51        //      "taxes": "0,00",
     52        //      "signatures": "0/5",
     53        //      "status": "валиден",
     54        //      "completed": "Не"
     55        //    },
     56        //    ]
     57        //}
     58        [Authorize]
     59        [HttpGet("getSemesters")]
     60        public async Task<IActionResult> getSemesters()
     61        {
     62            var authHeader = Request.Headers["Authorization"].ToString();
     63            if (authHeader.StartsWith("Bearer "))
     64            {
     65                var token = authHeader.Substring("Bearer ".Length).Trim();
     66                // token = your JWT
     67                var userData = await _userService.GetUserSemesters(token);
     68                var results = new List<object>();
     69               
     70                for(int i=0; i<userData.Count; i++)
     71                {
     72                    var newResult = new
     73                    {
     74                        id = userData[i].Id,
     75                        semester = (userData[i].Type == 0 ? "Зимски" : "Летен") + $"({userData[i].Year}/{userData[i].Year + 1})",
     76                        direction = userData[i].Major?.Name ?? "",
     77                        quota = userData[i].QuotaType.ToString(),
     78                        note = "",
     79                        studentCom = "",
     80                        sum = "0,00",
     81                        paid = "0,00",
     82                        ukim = "",
     83                        createdOn = DateTime.Now.ToString("dd.MM.yyyy"),
     84                        dateChanged = DateTime.Now.ToString("dd.MM.yyyy"),
     85                        credits = "0,00",
     86                        type = "Ред.",
     87                        doc = "Не",
     88                        doc1 = "Не",
     89                        verified = "Не",
     90                        taxes = "0,00",
     91                        signatures = "0/5",
     92                        status = "валиден",
     93                        completed = "Не"
     94                    };
     95                    results.Add(newResult);
     96                }
     97                if (userData == null) return Ok(new { info = "can't get info" });
     98                return Ok(new { semesters = results });
     99            }
     100            return null;
     101
     102        }
     103                //        {
     104                //    "user": [
     105                //        {
     106                //            "id": 2,
     107                //            "userId": 1,
     108                //            "user": null,
     109                //            "year": 2025,
     110                //            "type": 1,
     111                //            "quotaType": "privatna",
     112                //            "majorId": 1,
     113                //            "major": {
     114                //                "id": 1,
     115                //                "name": "PIT(2023)",
     116                //                "subjects": null
     117                //            },
     118                //            "users": null,
     119                //            "semesterSubjects": null
     120                //        },
     121                //        {
     122                //    "id": 1,
     123                //            "userId": 1,
     124                //            "user": null,
     125                //            "year": 2025,
     126                //            "type": 0,
     127                //            "quotaType": "privatna",
     128                //            "majorId": 1,
     129                //            "major": {
     130                //        "id": 1,
     131                //                "name": "PIT(2023)",
     132                //                "subjects": null
     133                //            },
     134                //            "users": null,
     135                //            "semesterSubjects": null
     136                //        }
     137                //    ]
     138                //}
    33139    }
    34140}
Note: See TracChangeset for help on using the changeset viewer.