Skip to content

Commit

Permalink
Fjerner tiny-invariant og henter tilsagn basert på orgnr
Browse files Browse the repository at this point in the history
  • Loading branch information
sndrem committed Oct 31, 2024
1 parent 04993ab commit d5ccbf4
Show file tree
Hide file tree
Showing 11 changed files with 43 additions and 30 deletions.
11 changes: 10 additions & 1 deletion frontend/arrangor-flate/app/components/tilsagn/TilsagnTable.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { ArrangorflateTilsagn } from "@mr/api-client";
import { Table } from "@navikt/ds-react";
import { Alert, Table } from "@navikt/ds-react";
import { Link } from "@remix-run/react";
import { formaterDato, useOrgnrFromUrl } from "~/utils";
import { internalNavigation } from "../../internal-navigation";
Expand All @@ -10,6 +10,15 @@ interface Props {

export function TilsagnTable({ tilsagn }: Props) {
const orgnr = useOrgnrFromUrl();

if (tilsagn.length === 0) {
return (
<Alert className="my-10" variant="info">
Det finnes ingen tilsagn her
</Alert>
);
}

return (
<>
<div className="border-spacing-y-6 border-collapsed mt-4">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,6 @@ import { ArrangorflateService, ArrangorflateTilsagn } from "@mr/api-client";
import { RefusjonskravDetaljer } from "~/components/refusjonskrav/RefusjonskravDetaljer";
import { useOrgnrFromUrl } from "../utils";
import { internalNavigation } from "../internal-navigation";
import invariant from "tiny-invariant";
import React from "react";
import { Definisjon } from "~/components/Definisjon";

type BekreftRefusjonskravData = {
Expand Down Expand Up @@ -56,7 +54,9 @@ export const action: ActionFunction = async ({ request }) => {
return json({ error: "Mangler kontonummer" }, { status: 400 });
}

invariant(orgnr, "Mangler orgnr");
if (!orgnr) {
throw new Error("Mangler orgnr");
}

await ArrangorflateService.godkjennRefusjonskrav({
id: refusjonskravId as string,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ import { checkValidToken } from "../auth/auth.server";
import { PageHeader } from "../components/PageHeader";
import { internalNavigation } from "../internal-navigation";
import { useOrgnrFromUrl } from "../utils";
import invariant from "tiny-invariant";

export const meta: MetaFunction = () => {
return [
Expand All @@ -22,7 +21,9 @@ export const loader: LoaderFunction = async ({ request, params }): Promise<objec

export default function ForDuBegynner() {
const { id } = useParams<{ id: string }>();
invariant(id, "Mangler id");
if (!id) {
throw new Error("Mangler id");
}
const orgnr = useOrgnrFromUrl();
return (
<>
Expand Down
7 changes: 4 additions & 3 deletions frontend/arrangor-flate/app/routes/$orgnr_.refusjonskrav.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ import { RefusjonskravTable } from "~/components/refusjonskrav/RefusjonskravTabl
import { TilsagnTable } from "~/components/tilsagn/TilsagnTable";
import { checkValidToken, setupOpenApi } from "../auth/auth.server";
import { PageHeader } from "../components/PageHeader";
import invariant from "tiny-invariant";

export const meta: MetaFunction = () => {
return [
Expand All @@ -20,9 +19,11 @@ export async function loader({ request, params }: LoaderFunctionArgs) {
await checkValidToken(request);
await setupOpenApi(request);
const { orgnr } = params;
invariant(orgnr, "Mangler orgnr");
if (!orgnr) {
throw new Error("Mangler orgnr");
}
const krav = await ArrangorflateService.getAllRefusjonKrav({ orgnr });
const tilsagn = await ArrangorflateService.getAllArrangorflateTilsagn();
const tilsagn = await ArrangorflateService.getAllArrangorflateTilsagn({ orgnr });

return json({ krav, tilsagn });
}
Expand Down
1 change: 0 additions & 1 deletion frontend/arrangor-flate/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,6 @@
"prom-client": "^15.1.3",
"react": "^18.3.1",
"react-dom": "^18.3.1",
"tiny-invariant": "^1.3.3",
"uuid": "11.0.1"
},
"devDependencies": {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -89,10 +89,11 @@ fun Route.arrangorflateRoutes() {
route("/arrangorflate") {
route("/refusjonskrav") {
get("alle/{orgnr}") {
val arrangorIds = arrangorIderMedTilgang()
val orgnr = call.parameters.getOrFail("orgnr")
val organisasjonsnummer = Organisasjonsnummer(orgnr)
requireTilgangHosArrangor(organisasjonsnummer)

val krav = refusjonskrav.getByArrangorIds(arrangorIds, Organisasjonsnummer(orgnr))
val krav = refusjonskrav.getByArrangorIds(organisasjonsnummer)
.map { toRefusjonskravKompakt(it) }

call.respond(krav)
Expand Down Expand Up @@ -161,8 +162,13 @@ fun Route.arrangorflateRoutes() {
}

route("/tilsagn") {
get {
call.respond(tilsagnService.getAllArrangorflateTilsagn(arrangorIderMedTilgang()))
route("/alle/{orgnr}") {
get {
val orgnr = call.parameters.getOrFail("orgnr")
val organisasjonsnummer = Organisasjonsnummer(orgnr)
requireTilgangHosArrangor(organisasjonsnummer)
call.respond(tilsagnService.getAllArrangorflateTilsagn(organisasjonsnummer))
}
}

get("/{id}") {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -174,22 +174,21 @@ class RefusjonskravRepository(private val db: Database) {
.runWithSession(tx)
}

fun getByArrangorIds(ids: List<UUID>, organisasjonsnummer: Organisasjonsnummer): List<RefusjonskravDto> =
db.transaction { getByArrangorIds(ids, organisasjonsnummer, it) }
fun getByArrangorIds(organisasjonsnummer: Organisasjonsnummer): List<RefusjonskravDto> =
db.transaction { getByArrangorIds(organisasjonsnummer, it) }

fun getByArrangorIds(
ids: List<UUID>,
organisasjonsnummer: Organisasjonsnummer,
tx: Session,
): List<RefusjonskravDto> {
@Language("PostgreSQL")
val query = """
select * from refusjonskrav_aft_view
where arrangor_id = any(:ids) and arrangor_organisasjonsnummer = :organisasjonsnummer
where arrangor_organisasjonsnummer = :organisasjonsnummer
""".trimIndent()

return tx.run(
queryOf(query, mapOf("ids" to db.createUuidArray(ids), "organisasjonsnummer" to organisasjonsnummer.value))
queryOf(query, mapOf("organisasjonsnummer" to organisasjonsnummer.value))
.map { it.toRefusjonsKravAft() }
.asList,
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -96,14 +96,14 @@ class TilsagnRepository(private val db: Database) {
.let { db.run(it) }
}

fun getAllArrangorflateTilsagn(arrangorIds: List<UUID>): List<ArrangorflateTilsagn> {
fun getAllArrangorflateTilsagn(organisasjonsnummer: Organisasjonsnummer): List<ArrangorflateTilsagn> {
@Language("PostgreSQL")
val query = """
select * from tilsagn_arrangorflate_view
where arrangor_id = any (?)
where arrangor_organisasjonsnummer = :organisasjonsnummer
""".trimIndent()

return queryOf(query, db.createUuidArray(arrangorIds))
return queryOf(query, mapOf("organisasjonsnummer" to organisasjonsnummer.value))
.map { it.toArrangorflateTilsagn() }
.asList
.let { db.run(it) }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ import no.nav.mulighetsrommet.api.repositories.TiltaksgjennomforingRepository
import no.nav.mulighetsrommet.api.responses.*
import no.nav.mulighetsrommet.database.Database
import no.nav.mulighetsrommet.domain.dto.NavIdent
import no.nav.mulighetsrommet.domain.dto.Organisasjonsnummer
import java.time.LocalDate
import java.time.LocalDateTime
import java.util.*
Expand Down Expand Up @@ -100,8 +101,8 @@ class TilsagnService(
}.right()
}

fun getAllArrangorflateTilsagn(arrangorIds: List<UUID>): List<ArrangorflateTilsagn> =
tilsagnRepository.getAllArrangorflateTilsagn(arrangorIds)
fun getAllArrangorflateTilsagn(organisasjonsnummer: Organisasjonsnummer): List<ArrangorflateTilsagn> =
tilsagnRepository.getAllArrangorflateTilsagn(organisasjonsnummer)

fun getArrangorflateTilsagnTilRefusjon(
gjennomforingId: UUID,
Expand Down
4 changes: 3 additions & 1 deletion mulighetsrommet-api/src/main/resources/web/openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -1803,11 +1803,13 @@ paths:
items:
$ref: "#/components/schemas/AFTSats"

/api/v1/intern/arrangorflate/tilsagn:
/api/v1/intern/arrangorflate/tilsagn/alle/{orgnr}:
get:
tags:
- Arrangorflate
operationId: getAllArrangorflateTilsagn
parameters:
- $ref: "#/components/parameters/OrgnrParam"
responses:
200:
description: Hent tilsagn til arrangør
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ import io.kotest.matchers.shouldBe
import io.kotest.matchers.types.shouldBeTypeOf
import no.nav.mulighetsrommet.api.createDatabaseTestConfig
import no.nav.mulighetsrommet.api.domain.dbo.TiltaksgjennomforingDbo
import no.nav.mulighetsrommet.api.fixtures.ArrangorFixtures
import no.nav.mulighetsrommet.api.fixtures.DeltakerFixtures
import no.nav.mulighetsrommet.api.fixtures.MulighetsrommetTestDomain
import no.nav.mulighetsrommet.api.fixtures.TiltaksgjennomforingFixtures.AFT1
Expand Down Expand Up @@ -61,7 +60,6 @@ class RefusjonServiceTest : FunSpec({
service.genererRefusjonskravForMonth(LocalDate.of(2024, 1, 1))

val allKrav = refusjonskravRepository.getByArrangorIds(
listOf(ArrangorFixtures.underenhet1.id),
getOrgnrForArrangor(
AFT1,
domain,
Expand Down Expand Up @@ -126,7 +124,6 @@ class RefusjonServiceTest : FunSpec({
service.genererRefusjonskravForMonth(LocalDate.of(2024, 1, 1))

val krav = refusjonskravRepository.getByArrangorIds(
listOf(ArrangorFixtures.underenhet1.id),
getOrgnrForArrangor(
AFT1,
domain,
Expand Down Expand Up @@ -187,7 +184,6 @@ class RefusjonServiceTest : FunSpec({
service.genererRefusjonskravForMonth(LocalDate.of(2024, 1, 1))

val krav = refusjonskravRepository.getByArrangorIds(
listOf(ArrangorFixtures.underenhet1.id),
getOrgnrForArrangor(
AFT1,
domain,
Expand Down Expand Up @@ -229,7 +225,6 @@ class RefusjonServiceTest : FunSpec({
service.genererRefusjonskravForMonth(LocalDate.of(2024, 1, 1))

val krav = refusjonskravRepository.getByArrangorIds(
listOf(ArrangorFixtures.underenhet1.id),
getOrgnrForArrangor(
AFT1,
domain,
Expand Down

0 comments on commit d5ccbf4

Please sign in to comment.