diff --git a/src/dosen-bimbingan/dosen-bimbingan.dto.ts b/src/dosen-bimbingan/dosen-bimbingan.dto.ts index 23c823e7389a759b7d532c02543e736d5bbaf0d4..16e493a95a99c7f62c02cf894b7386b3e5974383 100644 --- a/src/dosen-bimbingan/dosen-bimbingan.dto.ts +++ b/src/dosen-bimbingan/dosen-bimbingan.dto.ts @@ -14,4 +14,5 @@ export class GetDosbimResDto extends PickType(Pengguna, [ "id", "email", "nama", + "keahlian", ] as const) {} diff --git a/src/dosen-bimbingan/dosen-bimbingan.service.ts b/src/dosen-bimbingan/dosen-bimbingan.service.ts index 88f0f9d159f8f0e4949c06a4c5bbcb7ad9a9643a..9d9039a1dbc62780d044cb2fac6f09239e2ebc07 100644 --- a/src/dosen-bimbingan/dosen-bimbingan.service.ts +++ b/src/dosen-bimbingan/dosen-bimbingan.service.ts @@ -16,6 +16,7 @@ export class DosenBimbinganService { id: true, nama: true, email: true, + keahlian: true, }, where: { roles: ArrayContains([RoleEnum.S2_PEMBIMBING]), diff --git a/src/entities/pengguna.entity.ts b/src/entities/pengguna.entity.ts index 1b4971a18ab5a34f1f1e501d10aaf464b752b553..c6011ee1dc0ec6adb74010bc2a21bae668198d23 100644 --- a/src/entities/pengguna.entity.ts +++ b/src/entities/pengguna.entity.ts @@ -1,4 +1,3 @@ -import { IsString } from "@nestjs/class-validator"; import { ApiHideProperty, ApiProperty, @@ -6,6 +5,7 @@ import { } from "@nestjs/swagger"; import { Column, Entity, OneToMany, PrimaryGeneratedColumn } from "typeorm"; import { PendaftaranTesis } from "./pendaftaranTesis.entity"; +import { DosenBimbingan } from "./dosenBimbingan.entity"; export enum RoleEnum { ADMIN = "ADMIN", @@ -51,9 +51,28 @@ export class Pengguna { roles: RoleEnum[]; @ApiPropertyOptional() - @IsString() @Column({ type: "text", nullable: true }) - kontak: string; + kontakWhatsApp: string; + + @ApiPropertyOptional() + @Column({ type: "text", nullable: true }) + kontakMsTeams: string; + + @ApiPropertyOptional() + @Column({ type: "text", nullable: true }) + kontakEmail: string; + + @ApiPropertyOptional() + @Column({ type: "text", nullable: true }) + kontakTelp: string; + + @ApiPropertyOptional() + @Column({ type: "text", nullable: true }) + kontakLainnya: string; + + @ApiPropertyOptional() + @Column({ type: "text", nullable: true }) + keahlian: string; @ApiHideProperty() @Column({ type: "boolean", default: true }) @@ -61,4 +80,7 @@ export class Pengguna { @OneToMany(() => PendaftaranTesis, (pendaftaran) => pendaftaran.mahasiswa) pendaftaranTesis: PendaftaranTesis[]; + + @OneToMany(() => DosenBimbingan, (dosen) => dosen.dosen) + dosenBimbingan: DosenBimbingan[]; } diff --git a/src/registrasi-tesis/registrasi-tesis.dto.ts b/src/registrasi-tesis/registrasi-tesis.dto.ts index cc9541b2956aedc63449aa5144a9b87c34f6e0ba..7d5d1bf284f8957d52f75af71505fad198e74b52 100644 --- a/src/registrasi-tesis/registrasi-tesis.dto.ts +++ b/src/registrasi-tesis/registrasi-tesis.dto.ts @@ -171,7 +171,11 @@ export class UpdatePembimbingBodyDto { class DosenPembimbingDto extends PickType(Pengguna, [ "id", "nama", - "kontak", + "kontakWhatsApp", + "kontakMsTeams", + "kontakEmail", + "kontakTelp", + "kontakLainnya", ] as const) {} export class GetByIdRespDto extends PickType(PendaftaranTesis, [ diff --git a/src/registrasi-tesis/registrasi-tesis.service.ts b/src/registrasi-tesis/registrasi-tesis.service.ts index 496af6f847fc6bf8451d83810cfbae67233c281e..17e59c6096fcf7f65aff48a21dda444938e8515e 100644 --- a/src/registrasi-tesis/registrasi-tesis.service.ts +++ b/src/registrasi-tesis/registrasi-tesis.service.ts @@ -136,20 +136,30 @@ export class RegistrasiTesisService { const baseQuery = this.pendaftaranTesisRepository .createQueryBuilder("pt") - .select("pt.id") - .addSelect("pt.jadwalInterview") - .addSelect("pt.status") - .addSelect("pt.jalurPilihan") - .addSelect("pt.waktuPengiriman") - .addSelect("topik.judul") - .addSelect("topik.deskripsi") - .addSelect("penerima.id") - .addSelect("penerima.nama") - .addSelect("penerima.kontak") - .addSelect("dosenBimbingan") - .addSelect("dosen.id") - .addSelect("dosen.nama") - .addSelect("dosen.kontak") + .select([ + "pt.id", + "pt.jadwalInterview", + "pt.status", + "pt.jalurPilihan", + "pt.waktuPengiriman", + "topik.judul", + "topik.deskripsi", + "penerima.id", + "penerima.nama", + "penerima.kontakWhatsApp", + "penerima.kontakMsTeams", + "penerima.kontakEmail", + "penerima.kontakTelp", + "penerima.kontakLainnya", + "dosenBimbingan", + "dosen.id", + "dosen.nama", + "dosen.kontakWhatsApp", + "dosen.kontakMsTeams", + "dosen.kontakEmail", + "dosen.kontakTelp", + "dosen.kontakLainnya", + ]) .leftJoin("pt.topik", "topik") .leftJoin("pt.penerima", "penerima") .leftJoin("pt.dosenBimbingan", "dosenBimbingan")