Skip to content

Commit 2da7b2a

Browse files
authored
Merge pull request #15 from felleslosninger/EIN-4789-konvertering-reindeksering-av-gamle-lagret-soek
Update search parameters
2 parents 09f705d + 6a4ddb1 commit 2da7b2a

File tree

3 files changed

+100
-19
lines changed

3 files changed

+100
-19
lines changed

typespec/einnsyn.arkiv.operations.tsp

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ interface Routable<T extends Base.Base> {
3939
* @returns The updated object.
4040
*/
4141
@route("/{id}")
42-
@patch
42+
@patch(#{ implicitOptionality: true })
4343
update(@path id: eInnsynId<T>, @body body: T): Responses.OkResponse<T>;
4444

4545
/**
@@ -174,7 +174,14 @@ namespace Behandlingsprotokoll {
174174
namespace Dokumentbeskrivelse {
175175
@route("/dokumentbeskrivelse")
176176
@tag("Dokumentbeskrivelse")
177-
interface DokumentbeskrivelseRoutes extends Routable<Dokumentbeskrivelse> {}
177+
interface DokumentbeskrivelseRoutes extends Routable<Dokumentbeskrivelse> {
178+
@route("/{id}/dokumentobjekt")
179+
@post
180+
addDokumentobjekt(
181+
@path id: eInnsynId<Dokumentbeskrivelse>,
182+
@body body: ExpandableField<Dokumentobjekt.Dokumentobjekt>,
183+
): Responses.AddResponse<Dokumentobjekt.Dokumentobjekt>;
184+
}
178185
}
179186

180187
namespace Dokumentobjekt {
@@ -277,6 +284,20 @@ namespace Journalpost {
277284
@path
278285
dokumentbeskrivelseId: eInnsynId<Dokumentbeskrivelse.Dokumentbeskrivelse>,
279286
): Responses.OkResponse<Dokumentbeskrivelse.Dokumentbeskrivelse>;
287+
288+
@route("/{id}/skjerming")
289+
@post
290+
addSkjerming(
291+
@path id: eInnsynId<Journalpost>,
292+
@body skjerming: ExpandableField<Skjerming.Skjerming>,
293+
): Responses.AddResponse<Skjerming.Skjerming>;
294+
295+
@route("/{id}/skjerming/{skjermingId}")
296+
@delete
297+
deleteSkjerming(
298+
@path id: eInnsynId<Journalpost>,
299+
@path skjermingId: eInnsynId<Skjerming.Skjerming>,
300+
): Responses.OkResponse<Skjerming.Skjerming>;
280301
}
281302
}
282303

typespec/einnsyn.queryparameters.tsp

Lines changed: 59 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,24 @@ using Http;
77
namespace EInnsyn;
88

99
namespace QueryParameters {
10+
/**
11+
* A date parameter that accepts either absolute dates (ISO 8601) or relative date expressions.
12+
*
13+
* **Absolute date formats:**
14+
* - ISO 8601 date: `2024-01-15`
15+
* - ISO 8601 datetime: `2024-01-15T10:30:00Z`
16+
*
17+
* **Relative date syntax (similar to Grafana/Elasticsearch):**
18+
* - `now` - current time
19+
* - `now-<amount><unit>` - relative to now, e.g., `now-1d`, `now-7d`, `now-1M`, `now-1y`
20+
* - `now+<amount><unit>` - future relative to now, e.g., `now+1d`
21+
* - `now/<unit>` - rounded to unit, e.g., `now/d` (start of day), `now/M` (start of month)
22+
* - `now-<amount><unit>/<unit>` - combined, e.g., `now-1d/d` (start of yesterday)
23+
*
24+
* Supported units: ms (milliseconds), s (seconds), m (minutes), h/H (hours), d (days), w (weeks), M (months), y (years)
25+
*/
26+
scalar timeString extends string;
27+
1028
model QueryParameters {}
1129
model GetParameters extends QueryParameters {
1230
/**
@@ -86,35 +104,70 @@ namespace QueryParameters {
86104
*/
87105
@query excludeAdministrativEnhetExact?: eInnsynId[];
88106

107+
/**
108+
* Filter by title. This is a free text search.
109+
*/
110+
@query tittel?: string[];
111+
112+
/**
113+
* Filter by sender/recipient name. This is a free text search.
114+
*/
115+
@query korrespondansepartNavn?: string[];
116+
117+
/**
118+
* Filter by legal basis for exemption. This is a free text search.
119+
*/
120+
@query skjermingshjemmel?: string[];
121+
89122
/**
90123
* Filter by the published date of the document.
91124
*/
92-
@query publisertDatoFrom?: utcDateTime | plainDate;
125+
@query publisertDatoFrom?: timeString;
93126

94127
/**
95128
* Filter by the published date of the document.
96129
*/
97-
@query publisertDatoTo?: utcDateTime | plainDate;
130+
@query publisertDatoTo?: timeString;
98131

99132
/**
100133
* Filter by the updated date of the document.
101134
*/
102-
@query oppdatertDatoFrom?: utcDateTime | plainDate;
135+
@query oppdatertDatoFrom?: timeString;
103136

104137
/**
105138
* Filter by the updated date of the document.
106139
*/
107-
@query oppdatertDatoTo?: utcDateTime | plainDate;
140+
@query oppdatertDatoTo?: timeString;
141+
142+
/**
143+
* Filter by journal date.
144+
*/
145+
@query journaldatoFrom?: timeString;
146+
147+
/**
148+
* Filter by journal date.
149+
*/
150+
@query journaldatoTo?: timeString;
151+
152+
/**
153+
* Filter by document date.
154+
*/
155+
@query dokumentetsDatoFrom?: timeString;
156+
157+
/**
158+
* Filter by document date.
159+
*/
160+
@query dokumentetsDatoTo?: timeString;
108161

109162
/**
110163
* Filter by the date of a meeting.
111164
*/
112-
@query moetedatoFrom?: utcDateTime | plainDate;
165+
@query moetedatoFrom?: timeString;
113166

114167
/**
115168
* Filter by the date of a meeting.
116169
*/
117-
@query moetedatoTo?: utcDateTime | plainDate;
170+
@query moetedatoTo?: timeString;
118171

119172
/**
120173
* Filter by saksaar

typespec/einnsyn.web.operations.tsp

Lines changed: 18 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -65,14 +65,14 @@ namespace Bruker {
6565
): Responses.AddResponse<LagretSoek.LagretSoek>;
6666

6767
@route("/{id}/activate/{secret}")
68-
@patch
68+
@patch(#{ implicitOptionality: true })
6969
activate(
7070
@path id: eInnsynId<Bruker>,
7171
@path secret: string,
7272
): Responses.OkResponse<Bruker>;
7373

7474
@route("/{id}/updatePassword")
75-
@patch
75+
@patch(#{ implicitOptionality: true })
7676
updatePassword(
7777
@path id: eInnsynId<Bruker>,
7878
@body updatePassword: {
@@ -82,7 +82,7 @@ namespace Bruker {
8282
): Responses.OkResponse<Bruker>;
8383

8484
@route("/{id}/updatePassword/{secret}")
85-
@patch
85+
@patch(#{ implicitOptionality: true })
8686
updatePasswordWithSecret(
8787
@path id: eInnsynId<Bruker>,
8888
@path secret: string,
@@ -92,7 +92,7 @@ namespace Bruker {
9292
): Responses.OkResponse<Bruker>;
9393

9494
@route("/{id}/requestPasswordReset")
95-
@patch
95+
@patch(#{ implicitOptionality: true })
9696
requestPasswordReset(
9797
@path id: eInnsynId<Bruker>,
9898
): Responses.OkResponse<Bruker>;
@@ -127,7 +127,7 @@ namespace InnsynskravBestilling {
127127
): Responses.ListResponse<Innsynskrav.Innsynskrav>;
128128

129129
@route("/{id}/verify/{secret}")
130-
@patch
130+
@patch(#{ implicitOptionality: true })
131131
verify(
132132
@path id: eInnsynId,
133133
@path secret: string,
@@ -190,14 +190,21 @@ namespace Search {
190190
* The field to sort results by. The default is "score".
191191
*/
192192
@query sortBy?:
193-
| "score"
194-
| "id"
193+
| "administrativEnhetNavn"
194+
| "dokumentetsDato"
195195
| "entity"
196-
| "publisertDato"
197-
| "oppdatertDato"
198-
| "moetedato"
199196
| "fulltekst"
200-
| "type" = "score";
197+
| "id"
198+
| "journaldato"
199+
| "journalpostnummer"
200+
| "journalposttype"
201+
| "korrespondansepartNavn"
202+
| "moetedato"
203+
| "oppdatertDato"
204+
| "publisertDato"
205+
| "sakssekvensnummer"
206+
| "score"
207+
| "tittel" = "score";
201208
}
202209
@route("/search")
203210
@tag("Search")

0 commit comments

Comments
 (0)