diff --git a/docs/docs.go b/docs/docs.go index 8dd2e4fc7bc8fa2189938d27110b0014956e5aa1..35e71cbd8b2b2ef21af467a811a3c19b95e4cfc6 100644 --- a/docs/docs.go +++ b/docs/docs.go @@ -241,41 +241,6 @@ const docTemplate = `{ } } }, - "/api/admin/dashboard/dosbing/statistic": { - "get": { - "description": "Retrieves the amount of mahasiswa supervised by a specific dosen for TA.", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Dashboard Dosbing" - ], - "summary": "Get amount of mahasiswa by dosen ID", - "parameters": [ - { - "type": "string", - "description": "Dosen ID", - "name": "id_dosen", - "in": "query", - "required": true - } - ], - "responses": { - "200": { - "description": "List mahasiswa successfully retreived", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/entity.JumlahMahasiswa" - } - } - } - } - } - }, "/api/admin/dashboard/dosbing/status-bimbingan": { "get": { "description": "Retrieves the amount of mahasiswa's bimbingan status supervised by a specific dosen for TA.", @@ -693,6 +658,53 @@ const docTemplate = `{ } } }, + "/dashboard-tim": { + "get": { + "description": "Retrieves a list of mahasiswa that has already done pendaftaran", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Dashboard Tim TA" + ], + "summary": "Get mahasiswa pendaftaran", + "parameters": [ + { + "type": "string", + "description": "Dosen ID", + "name": "id_dosen", + "in": "query", + "required": true + }, + { + "type": "string", + "description": "Limit", + "name": "limit", + "in": "query" + }, + { + "type": "string", + "description": "Offset", + "name": "offset", + "in": "query" + } + ], + "responses": { + "200": { + "description": "List mahasiswa successfully retrieved", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/entity.DataPendaftaran" + } + } + } + } + } + }, "/jadwal-seminar": { "get": { "description": "Retrieves all jadwal seminar records.", @@ -850,29 +862,6 @@ const docTemplate = `{ } } }, - "/jadwal-seminar-latest": { - "get": { - "description": "Retrieves the latest jadwal seminar record.", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Jadwal Seminar" - ], - "summary": "Get latest jadwal seminar", - "responses": { - "200": { - "description": "Latest Jadwal Seminar successfully retreived", - "schema": { - "$ref": "#/definitions/entity.JadwalSeminar" - } - } - } - } - }, "/jadwal-seminar-range": { "get": { "description": "Retrieves all jadwal seminar records within a date range.", @@ -1056,29 +1045,6 @@ const docTemplate = `{ } } }, - "/jadwal-sidang-latest": { - "get": { - "description": "Retrieves the latest jadwal sidang record.", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Jadwal Sidang" - ], - "summary": "Get latest jadwal sidang", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/entity.JadwalSidang" - } - } - } - } - }, "/jadwal-sidang-range": { "get": { "description": "Retrieves all jadwal sidang records within a date range.", @@ -1588,6 +1554,26 @@ const docTemplate = `{ } } }, + "entity.DataPendaftaran": { + "type": "object", + "properties": { + "dosbing": { + "type": "string" + }, + "id_pendaftaran": { + "type": "string" + }, + "nama": { + "type": "string" + }, + "nim": { + "type": "string" + }, + "status": { + "type": "string" + } + } + }, "entity.EditJadwalSeminarRequest": { "type": "object", "properties": { @@ -1791,17 +1777,6 @@ const docTemplate = `{ } } }, - "entity.JumlahMahasiswa": { - "type": "object", - "properties": { - "mahasiswa_if": { - "type": "integer" - }, - "mahasiswa_sti": { - "type": "integer" - } - } - }, "entity.MahasiswaBimbingan": { "type": "object", "properties": { diff --git a/docs/swagger.json b/docs/swagger.json index 0b9913698d2bf5fef44b1961955732b500a464a5..2f2ac6960927df5612511211cf3db58fa2da064f 100644 --- a/docs/swagger.json +++ b/docs/swagger.json @@ -230,41 +230,6 @@ } } }, - "/api/admin/dashboard/dosbing/statistic": { - "get": { - "description": "Retrieves the amount of mahasiswa supervised by a specific dosen for TA.", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Dashboard Dosbing" - ], - "summary": "Get amount of mahasiswa by dosen ID", - "parameters": [ - { - "type": "string", - "description": "Dosen ID", - "name": "id_dosen", - "in": "query", - "required": true - } - ], - "responses": { - "200": { - "description": "List mahasiswa successfully retreived", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/entity.JumlahMahasiswa" - } - } - } - } - } - }, "/api/admin/dashboard/dosbing/status-bimbingan": { "get": { "description": "Retrieves the amount of mahasiswa's bimbingan status supervised by a specific dosen for TA.", @@ -682,6 +647,53 @@ } } }, + "/dashboard-tim": { + "get": { + "description": "Retrieves a list of mahasiswa that has already done pendaftaran", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Dashboard Tim TA" + ], + "summary": "Get mahasiswa pendaftaran", + "parameters": [ + { + "type": "string", + "description": "Dosen ID", + "name": "id_dosen", + "in": "query", + "required": true + }, + { + "type": "string", + "description": "Limit", + "name": "limit", + "in": "query" + }, + { + "type": "string", + "description": "Offset", + "name": "offset", + "in": "query" + } + ], + "responses": { + "200": { + "description": "List mahasiswa successfully retrieved", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/entity.DataPendaftaran" + } + } + } + } + } + }, "/jadwal-seminar": { "get": { "description": "Retrieves all jadwal seminar records.", @@ -839,29 +851,6 @@ } } }, - "/jadwal-seminar-latest": { - "get": { - "description": "Retrieves the latest jadwal seminar record.", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Jadwal Seminar" - ], - "summary": "Get latest jadwal seminar", - "responses": { - "200": { - "description": "Latest Jadwal Seminar successfully retreived", - "schema": { - "$ref": "#/definitions/entity.JadwalSeminar" - } - } - } - } - }, "/jadwal-seminar-range": { "get": { "description": "Retrieves all jadwal seminar records within a date range.", @@ -1045,29 +1034,6 @@ } } }, - "/jadwal-sidang-latest": { - "get": { - "description": "Retrieves the latest jadwal sidang record.", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Jadwal Sidang" - ], - "summary": "Get latest jadwal sidang", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/entity.JadwalSidang" - } - } - } - } - }, "/jadwal-sidang-range": { "get": { "description": "Retrieves all jadwal sidang records within a date range.", @@ -1577,6 +1543,26 @@ } } }, + "entity.DataPendaftaran": { + "type": "object", + "properties": { + "dosbing": { + "type": "string" + }, + "id_pendaftaran": { + "type": "string" + }, + "nama": { + "type": "string" + }, + "nim": { + "type": "string" + }, + "status": { + "type": "string" + } + } + }, "entity.EditJadwalSeminarRequest": { "type": "object", "properties": { @@ -1780,17 +1766,6 @@ } } }, - "entity.JumlahMahasiswa": { - "type": "object", - "properties": { - "mahasiswa_if": { - "type": "integer" - }, - "mahasiswa_sti": { - "type": "integer" - } - } - }, "entity.MahasiswaBimbingan": { "type": "object", "properties": { diff --git a/docs/swagger.yaml b/docs/swagger.yaml index 7d1bb1c1eea18d81c933288a7252126db316dcb8..ff921db20b36e695062f7f340446831d6a59c8ce 100644 --- a/docs/swagger.yaml +++ b/docs/swagger.yaml @@ -46,6 +46,19 @@ definitions: todo: type: string type: object + entity.DataPendaftaran: + properties: + dosbing: + type: string + id_pendaftaran: + type: string + nama: + type: string + nim: + type: string + status: + type: string + type: object entity.EditJadwalSeminarRequest: properties: ID: @@ -180,13 +193,6 @@ definitions: scheduledAt: type: string type: object - entity.JumlahMahasiswa: - properties: - mahasiswa_if: - type: integer - mahasiswa_sti: - type: integer - type: object entity.MahasiswaBimbingan: properties: id: @@ -526,30 +532,6 @@ paths: summary: Get mahasiswa by dosen ID tags: - Dashboard Dosbing - /api/admin/dashboard/dosbing/statistic: - get: - consumes: - - application/json - description: Retrieves the amount of mahasiswa supervised by a specific dosen - for TA. - parameters: - - description: Dosen ID - in: query - name: id_dosen - required: true - type: string - produces: - - application/json - responses: - "200": - description: List mahasiswa successfully retreived - schema: - items: - $ref: '#/definitions/entity.JumlahMahasiswa' - type: array - summary: Get amount of mahasiswa by dosen ID - tags: - - Dashboard Dosbing /api/admin/dashboard/dosbing/status-bimbingan: get: consumes: @@ -824,6 +806,37 @@ paths: summary: Add a new bimbingan log tags: - BimbinganLog + /dashboard-tim: + get: + consumes: + - application/json + description: Retrieves a list of mahasiswa that has already done pendaftaran + parameters: + - description: Dosen ID + in: query + name: id_dosen + required: true + type: string + - description: Limit + in: query + name: limit + type: string + - description: Offset + in: query + name: offset + type: string + produces: + - application/json + responses: + "200": + description: List mahasiswa successfully retrieved + schema: + items: + $ref: '#/definitions/entity.DataPendaftaran' + type: array + summary: Get mahasiswa pendaftaran + tags: + - Dashboard Tim TA /jadwal-seminar: delete: consumes: @@ -927,21 +940,6 @@ paths: summary: Get jadwal seminar by batch tags: - Jadwal Seminar - /jadwal-seminar-latest: - get: - consumes: - - application/json - description: Retrieves the latest jadwal seminar record. - produces: - - application/json - responses: - "200": - description: Latest Jadwal Seminar successfully retreived - schema: - $ref: '#/definitions/entity.JadwalSeminar' - summary: Get latest jadwal seminar - tags: - - Jadwal Seminar /jadwal-seminar-range: get: consumes: @@ -1062,21 +1060,6 @@ paths: summary: Get jadwal sidang by batch tags: - Jadwal Sidang - /jadwal-sidang-latest: - get: - consumes: - - application/json - description: Retrieves the latest jadwal sidang record. - produces: - - application/json - responses: - "200": - description: OK - schema: - $ref: '#/definitions/entity.JadwalSidang' - summary: Get latest jadwal sidang - tags: - - Jadwal Sidang /jadwal-sidang-range: get: consumes: diff --git a/seeder/status_ta.go b/seeder/status_ta.go index 91ed00872b6d2f53f2ef4a2938d100c04663653d..b00fc5c51412b6c06036979d87b2e9c8835d04a4 100644 --- a/seeder/status_ta.go +++ b/seeder/status_ta.go @@ -7,29 +7,29 @@ import ( "gitlab.informatika.org/k-01-11/graduit-be/src/models" ) -func addDosen(name, npwp string) string { - db := database.GetInstance() - newUser := models.Pengguna{} +// func addDosen(name, npwp string) string { +// db := database.GetInstance() +// newUser := models.Pengguna{} - db.Create(&newUser) +// db.Create(&newUser) - newDosen := models.Dosen{Name: name, NPWP: npwp, IdDosen: newUser.Id} - db.Create(&newDosen) +// newDosen := models.Dosen{Name: name, NPWP: npwp, IdDosen: newUser.Id} +// db.Create(&newDosen) - return newDosen.IdDosen -} +// return newDosen.IdDosen +// } -func addMahasiswa(name, nim, iddosen string) string { - db := database.GetInstance() - newUser := models.Pengguna{} +// func addMahasiswa(name, nim, iddosen string) string { +// db := database.GetInstance() +// newUser := models.Pengguna{} - db.Create(&newUser) +// db.Create(&newUser) - newMhs := models.Mahasiswa{Name: name, NIM: nim, IdMahasiswa: newUser.Id, IdDosen: iddosen} - db.Create(&newMhs) +// newMhs := models.Mahasiswa{Name: name, NIM: nim, IdMahasiswa: newUser.Id, IdDosen: iddosen} +// db.Create(&newMhs) - return newMhs.IdMahasiswa -} +// return newMhs.IdMahasiswa +// } func addTopik(judul, deskripsi, idDosen string) string { db := database.GetInstance() diff --git a/src/models/JadwalSeminar.go b/src/models/JadwalSeminar.go index 1e08af2bed880b27ee79e73c7a8b45fb837ec107..8c32f3605ccad8784061175b3c0309759f3cdc82 100644 --- a/src/models/JadwalSeminar.go +++ b/src/models/JadwalSeminar.go @@ -14,7 +14,7 @@ type JadwalSeminar struct { ScheduledAt time.Time `gorm:"default:null"` // Use this if you want to override the gorm.Model's CreatedAt Batch BatchSeminar `gorm:"foreignKey:IdBatch;references:IdBatch"` - Dosbing Dosen `gorm:"foreignKey:IdDosbing;references:IdDosen"` - Dosuji1 Dosen `gorm:"foreignKey:IdDosuji;references:IdDosen"` - Mahasiswa Mahasiswa `gorm:"foreignKey:IdMahasiswa;references:IdMahasiswa"` + Dosbing Pengguna `gorm:"foreignKey:IdDosbing;references:Id"` + Dosuji1 Pengguna `gorm:"foreignKey:IdDosuji;references:Id"` + Mahasiswa Pengguna `gorm:"foreignKey:IdMahasiswa;references:Id"` } diff --git a/src/models/JadwalSidang.go b/src/models/JadwalSidang.go index d3c2810556e794aaa7551c6be0b7381f611b182e..463b65b61127fc5fc87e3965b9e5354f2920eb1f 100644 --- a/src/models/JadwalSidang.go +++ b/src/models/JadwalSidang.go @@ -15,8 +15,8 @@ type JadwalSidang struct { ScheduledAt time.Time `gorm:"default:null"` Batch BatchSidang `gorm:"foreignKey:IdBatch;references:IdBatch"` - Dosbing Dosen `gorm:"foreignKey:IdDosbing;references:IdDosen"` - Dosuji1 Dosen `gorm:"foreignKey:IdDosuji1;references:IdDosen"` - Dosuji2 Dosen `gorm:"foreignKey:IdDosuji2;references:IdDosen"` - Mahasiswa Mahasiswa `gorm:"foreignKey:IdMahasiswa;references:IdMahasiswa"` + Dosbing Pengguna `gorm:"foreignKey:IdDosbing;references:Id"` + Dosuji1 Pengguna `gorm:"foreignKey:IdDosuji1;references:Id"` + Dosuji2 Pengguna `gorm:"foreignKey:IdDosuji2;references:Id"` + Mahasiswa Pengguna `gorm:"foreignKey:IdMahasiswa;references:Id"` } diff --git a/src/models/Pengguna.go b/src/models/Pengguna.go index a2c225c1ccfe65f3c20010292e33dbceeda5b60d..d7e0fabe8cee275eecc44f8aa18fe3bfcd5467f7 100644 --- a/src/models/Pengguna.go +++ b/src/models/Pengguna.go @@ -28,6 +28,7 @@ type Pengguna struct { Password string `gorm:"column:password;" json:"-"` Roles roles `gorm:"column:roles" json:"roles"` NIM string `gorm:"column:nim" json:"nim"` + Kontak string `gorm:"column:kontak" json:"kontak"` } func (Pengguna) TableName() string { diff --git a/src/module/dashboard_tim_ta/internal/repository/dashboard_tim_ta.go b/src/module/dashboard_tim_ta/internal/repository/dashboard_tim_ta.go index 4c40ec20122673de84c08d01f3bb46f48642b75c..9f5f75aea7847ab52141a944263067eef6ecd4d9 100644 --- a/src/module/dashboard_tim_ta/internal/repository/dashboard_tim_ta.go +++ b/src/module/dashboard_tim_ta/internal/repository/dashboard_tim_ta.go @@ -21,8 +21,8 @@ func NewDashboardTimRepository(dbWrite *gorm.DB, dbRead *gorm.DB) *DashboardTimR func (repo *DashboardTimRepo) GetDataDashboard(offset, size int) (output []entity.DataPendaftaran, err error) { var dataMahasiswa []entity.DataPendaftaran - var dosen models.Dosen - var mahasiswa models.Mahasiswa + var dosen models.Pengguna + var mahasiswa models.Pengguna var pendaftaran []models.Pendaftaran var logBimbingan []models.BimbinganLogs @@ -32,20 +32,20 @@ func (repo *DashboardTimRepo) GetDataDashboard(offset, size int) (output []entit } for _, pendaftar := range pendaftaran { - res := repo.DBRead.Where("id_mahasiswa = ?", pendaftar.IdMahasiswa).Limit(1).Find(&mahasiswa) + res := repo.DBRead.Where("id = ?", pendaftar.IdMahasiswa).Limit(1).Find(&mahasiswa) if res.Error != nil { return nil, res.Error } - res = repo.DBRead.Where("id_dosen = ?", pendaftar.IdDosen).Limit(1).Find(&dosen) + res = repo.DBRead.Where("id = ?", pendaftar.IdDosen).Limit(1).Find(&dosen) if res.Error != nil { return nil, res.Error } data := entity.DataPendaftaran{ IdPendaftaran: pendaftar.Id, - Nama: mahasiswa.Name, + Nama: mahasiswa.Nama, NIM: mahasiswa.NIM, - DosenPembimbing: dosen.Name, + DosenPembimbing: dosen.Nama, Status: "Pengajuan Topik", } diff --git a/src/module/jadwal_seminar/internal/repository/jadwal_seminar.go b/src/module/jadwal_seminar/internal/repository/jadwal_seminar.go index 48b516d32efb2c7d4a60adc7eee81812d3a39560..e0db6d3ee6e076b291d85b0a560e54df9ba4ceca 100644 --- a/src/module/jadwal_seminar/internal/repository/jadwal_seminar.go +++ b/src/module/jadwal_seminar/internal/repository/jadwal_seminar.go @@ -34,22 +34,22 @@ func (repo *JadwalSeminarRepo) NewJadwalSeminar(jadwal entity.JadwalSeminar) (ou func (repo *JadwalSeminarRepo) GetJadwalSeminarByBatch(idBatch string, offset, size int) (output []entity.JadwalSeminar, err error) { var jadwalSeminar []models.JadwalSeminar - var dosbing models.Dosen - var dosuji models.Dosen - var mahasiswa models.Mahasiswa + var dosbing models.Pengguna + var dosuji models.Pengguna + var mahasiswa models.Pengguna var dataJadwal []entity.JadwalSeminar result := repo.DBRead.Limit(size).Offset(offset).Where("id_batch = ?", idBatch).Find(&jadwalSeminar) for _, jadwal := range jadwalSeminar { - res := repo.DBRead.Where("id_mahasiswa = ?", jadwal.IdMahasiswa).Find(&mahasiswa) + res := repo.DBRead.Where("id = ?", jadwal.IdMahasiswa).Find(&mahasiswa) if res.Error != nil { return nil, res.Error } - res = repo.DBRead.Where("id_dosen = ?", jadwal.IdDosbing).Find(&dosbing) + res = repo.DBRead.Where("id = ?", jadwal.IdDosbing).Find(&dosbing) if res.Error != nil { return nil, res.Error } - res = repo.DBRead.Where("id_dosen = ?", jadwal.IdDosuji).Find(&dosuji) + res = repo.DBRead.Where("id = ?", jadwal.IdDosuji).Find(&dosuji) if res.Error != nil { return nil, res.Error } @@ -57,11 +57,11 @@ func (repo *JadwalSeminarRepo) GetJadwalSeminarByBatch(idBatch string, offset, s data := entity.JadwalSeminar{ ID: jadwal.Id, Nim: mahasiswa.NIM, - Name: mahasiswa.Name, + Name: mahasiswa.Nama, CreatedAt: jadwal.CreatedAt, ScheduledAt: jadwal.ScheduledAt, - NamaDosbing: dosbing.Name, - NamaDosuji1: dosuji.Name, + NamaDosbing: dosbing.Nama, + NamaDosuji1: dosuji.Nama, Ruang: jadwal.Ruang, IDBatch: jadwal.IdBatch, Judul: jadwal.Judul, diff --git a/src/module/jadwal_sidang/internal/repository/jadwal_sidang.go b/src/module/jadwal_sidang/internal/repository/jadwal_sidang.go index b9c9261b6c398a9d2035316b9639edc93bc6f03f..f06b5fbbd50f5a4d1807ddfc3e6d92cfbe3b9d9a 100644 --- a/src/module/jadwal_sidang/internal/repository/jadwal_sidang.go +++ b/src/module/jadwal_sidang/internal/repository/jadwal_sidang.go @@ -36,27 +36,27 @@ func (repo *JadwalSidangRepo) NewJadwalSidang(jadwal entity.JadwalSidang) (outpu func (repo *JadwalSidangRepo) GetJadwalSidangByBatch(idBatch string, offset, size int) (output []entity.JadwalSidang, err error) { var jadwalSidang []models.JadwalSidang - var dosbing models.Dosen - var dosuji models.Dosen - var dosuji2 models.Dosen - var mahasiswa models.Mahasiswa + var dosbing models.Pengguna + var dosuji models.Pengguna + var dosuji2 models.Pengguna + var mahasiswa models.Pengguna var dataJadwal []entity.JadwalSidang result := repo.DBRead.Limit(size).Offset(offset).Where("id_batch = ?", idBatch).Find(&jadwalSidang) for _, jadwal := range jadwalSidang { - res := repo.DBRead.Where("id_mahasiswa = ?", jadwal.IdMahasiswa).Find(&mahasiswa) + res := repo.DBRead.Where("id = ?", jadwal.IdMahasiswa).Find(&mahasiswa) if res.Error != nil { return nil, res.Error } - res = repo.DBRead.Where("id_dosen = ?", jadwal.IdDosbing).Find(&dosbing) + res = repo.DBRead.Where("id = ?", jadwal.IdDosbing).Find(&dosbing) if res.Error != nil { return nil, res.Error } - res = repo.DBRead.Where("id_dosen = ?", jadwal.IdDosuji1).Find(&dosuji) + res = repo.DBRead.Where("id = ?", jadwal.IdDosuji1).Find(&dosuji) if res.Error != nil { return nil, res.Error } - res = repo.DBRead.Where("id_dosen = ?", jadwal.IdDosuji2).Find(&dosuji2) + res = repo.DBRead.Where("id = ?", jadwal.IdDosuji2).Find(&dosuji2) if res.Error != nil { return nil, res.Error } @@ -64,12 +64,12 @@ func (repo *JadwalSidangRepo) GetJadwalSidangByBatch(idBatch string, offset, siz data := entity.JadwalSidang{ ID: jadwal.Id, Nim: mahasiswa.NIM, - Name: mahasiswa.Name, + Name: mahasiswa.Nama, CreatedAt: jadwal.CreatedAt, ScheduledAt: jadwal.ScheduledAt, - NamaDosbing: dosbing.Name, - NamaDosuji1: dosuji.Name, - NamaDosuji2: dosuji2.Name, + NamaDosbing: dosbing.Nama, + NamaDosuji1: dosuji.Nama, + NamaDosuji2: dosuji2.Nama, Ruang: jadwal.Ruang, IDBatch: jadwal.IdBatch, Judul: jadwal.Judul,