@varek/sdk 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +49 -0
- package/dist/index.d.ts +49 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +77 -0
- package/dist/openapi-types.d.ts +306 -0
- package/dist/openapi-types.d.ts.map +1 -0
- package/dist/openapi-types.js +5 -0
- package/package.json +31 -0
package/README.md
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# @varek/sdk
|
|
2
|
+
|
|
3
|
+
Typed TypeScript client for the [VAREK](https://varek.fi) public API.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install @varek/sdk
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Usage
|
|
12
|
+
|
|
13
|
+
```ts
|
|
14
|
+
import { createVarekClient } from "@varek/sdk";
|
|
15
|
+
|
|
16
|
+
const client = createVarekClient({ apiKey: "vrk_live_..." });
|
|
17
|
+
|
|
18
|
+
const { data } = await client.listDefects({ limit: 10 });
|
|
19
|
+
console.log(data[0]?.title);
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## API key
|
|
23
|
+
|
|
24
|
+
Generate an API key in the VAREK dashboard under **Asetukset → API-avaimet**. Keys are scoped per association; use `defects:read` scope for defects and `claims:read` for claims.
|
|
25
|
+
|
|
26
|
+
## Methods
|
|
27
|
+
|
|
28
|
+
| Method | Scope required | Description |
|
|
29
|
+
|---|---|---|
|
|
30
|
+
| `listDefects({ limit?, offset? })` | `defects:read` | List defects for the bound association |
|
|
31
|
+
| `getDefect(id)` | `defects:read` | Fetch a single defect by ID |
|
|
32
|
+
| `listClaims({ limit?, offset? })` | `claims:read` | List reklamaatio claims |
|
|
33
|
+
| `getClaim(id)` | `claims:read` | Fetch a single claim by ID |
|
|
34
|
+
|
|
35
|
+
## Error handling
|
|
36
|
+
|
|
37
|
+
Non-2xx responses throw `VarekApiError`:
|
|
38
|
+
|
|
39
|
+
```ts
|
|
40
|
+
import { VarekApiError } from "@varek/sdk";
|
|
41
|
+
|
|
42
|
+
try {
|
|
43
|
+
const defect = await client.getDefect("missing-id");
|
|
44
|
+
} catch (err) {
|
|
45
|
+
if (err instanceof VarekApiError) {
|
|
46
|
+
console.error(err.status, err.title, err.detail);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
```
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @varek/sdk — Typed TypeScript client for the VAREK public API.
|
|
3
|
+
* Docs: https://varek.fi/docs/docs/api/getting-started
|
|
4
|
+
*/
|
|
5
|
+
import type { components } from "./openapi-types.js";
|
|
6
|
+
export type Defect = components["schemas"]["Defect"];
|
|
7
|
+
export type Claim = components["schemas"]["Claim"];
|
|
8
|
+
export type Problem = components["schemas"]["Problem"];
|
|
9
|
+
export interface ListResult<T> {
|
|
10
|
+
data: T[];
|
|
11
|
+
limit: number;
|
|
12
|
+
offset: number;
|
|
13
|
+
}
|
|
14
|
+
export interface ListOptions {
|
|
15
|
+
limit?: number;
|
|
16
|
+
offset?: number;
|
|
17
|
+
}
|
|
18
|
+
export interface VarekClientOptions {
|
|
19
|
+
/** API key obtained from Asetukset → API-avaimet in the VAREK dashboard */
|
|
20
|
+
apiKey: string;
|
|
21
|
+
/** Override the default base URL (default: https://api.varek.fi/v1) */
|
|
22
|
+
baseUrl?: string;
|
|
23
|
+
/** Custom fetch implementation (defaults to global fetch) */
|
|
24
|
+
fetch?: typeof fetch;
|
|
25
|
+
}
|
|
26
|
+
export declare class VarekApiError extends Error {
|
|
27
|
+
readonly type: string;
|
|
28
|
+
readonly title: string;
|
|
29
|
+
readonly status: number;
|
|
30
|
+
readonly detail: string | undefined;
|
|
31
|
+
constructor(problem: Problem);
|
|
32
|
+
}
|
|
33
|
+
export interface VarekClient {
|
|
34
|
+
listDefects(opts?: ListOptions): Promise<ListResult<Defect>>;
|
|
35
|
+
getDefect(id: string): Promise<Defect>;
|
|
36
|
+
listClaims(opts?: ListOptions): Promise<ListResult<Claim>>;
|
|
37
|
+
getClaim(id: string): Promise<Claim>;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Create a typed VAREK API client.
|
|
41
|
+
*
|
|
42
|
+
* @example
|
|
43
|
+
* ```ts
|
|
44
|
+
* const client = createVarekClient({ apiKey: "vrk_live_..." });
|
|
45
|
+
* const { data } = await client.listDefects({ limit: 10 });
|
|
46
|
+
* ```
|
|
47
|
+
*/
|
|
48
|
+
export declare function createVarekClient(options: VarekClientOptions): VarekClient;
|
|
49
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGrD,MAAM,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC;AACrD,MAAM,MAAM,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC;AACnD,MAAM,MAAM,OAAO,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC;AAEvD,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,2EAA2E;IAC3E,MAAM,EAAE,MAAM,CAAC;IACf,uEAAuE;IACvE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6DAA6D;IAC7D,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;CACtB;AAED,qBAAa,aAAc,SAAQ,KAAK;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;gBAExB,OAAO,EAAE,OAAO;CAQ7B;AAED,MAAM,WAAW,WAAW;IAC1B,WAAW,CAAC,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7D,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACvC,UAAU,CAAC,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3D,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;CACtC;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,kBAAkB,GAAG,WAAW,CA2D1E"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @varek/sdk — Typed TypeScript client for the VAREK public API.
|
|
3
|
+
* Docs: https://varek.fi/docs/docs/api/getting-started
|
|
4
|
+
*/
|
|
5
|
+
export class VarekApiError extends Error {
|
|
6
|
+
type;
|
|
7
|
+
title;
|
|
8
|
+
status;
|
|
9
|
+
detail;
|
|
10
|
+
constructor(problem) {
|
|
11
|
+
super(`${problem.status} ${problem.title}${problem.detail ? `: ${problem.detail}` : ""}`);
|
|
12
|
+
this.name = "VarekApiError";
|
|
13
|
+
this.type = problem.type;
|
|
14
|
+
this.title = problem.title;
|
|
15
|
+
this.status = problem.status;
|
|
16
|
+
this.detail = problem.detail;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Create a typed VAREK API client.
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```ts
|
|
24
|
+
* const client = createVarekClient({ apiKey: "vrk_live_..." });
|
|
25
|
+
* const { data } = await client.listDefects({ limit: 10 });
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
export function createVarekClient(options) {
|
|
29
|
+
const { apiKey, baseUrl = "https://api.varek.fi/v1", fetch: fetchImpl = globalThis.fetch, } = options;
|
|
30
|
+
const base = baseUrl.replace(/\/$/, "");
|
|
31
|
+
async function request(path) {
|
|
32
|
+
const response = await fetchImpl(`${base}${path}`, {
|
|
33
|
+
headers: {
|
|
34
|
+
Authorization: `Bearer ${apiKey}`,
|
|
35
|
+
Accept: "application/json",
|
|
36
|
+
},
|
|
37
|
+
});
|
|
38
|
+
if (!response.ok) {
|
|
39
|
+
let problem;
|
|
40
|
+
try {
|
|
41
|
+
problem = (await response.json());
|
|
42
|
+
}
|
|
43
|
+
catch {
|
|
44
|
+
problem = {
|
|
45
|
+
type: "about:blank",
|
|
46
|
+
title: response.statusText || "Unknown error",
|
|
47
|
+
status: response.status,
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
throw new VarekApiError(problem);
|
|
51
|
+
}
|
|
52
|
+
return response.json();
|
|
53
|
+
}
|
|
54
|
+
function buildQuery(opts) {
|
|
55
|
+
const params = new URLSearchParams();
|
|
56
|
+
if (opts?.limit !== undefined)
|
|
57
|
+
params.set("limit", String(opts.limit));
|
|
58
|
+
if (opts?.offset !== undefined)
|
|
59
|
+
params.set("offset", String(opts.offset));
|
|
60
|
+
const q = params.toString();
|
|
61
|
+
return q ? `?${q}` : "";
|
|
62
|
+
}
|
|
63
|
+
return {
|
|
64
|
+
listDefects(opts) {
|
|
65
|
+
return request(`/defects${buildQuery(opts)}`);
|
|
66
|
+
},
|
|
67
|
+
getDefect(id) {
|
|
68
|
+
return request(`/defects/${encodeURIComponent(id)}`);
|
|
69
|
+
},
|
|
70
|
+
listClaims(opts) {
|
|
71
|
+
return request(`/claims${buildQuery(opts)}`);
|
|
72
|
+
},
|
|
73
|
+
getClaim(id) {
|
|
74
|
+
return request(`/claims/${encodeURIComponent(id)}`);
|
|
75
|
+
},
|
|
76
|
+
};
|
|
77
|
+
}
|
|
@@ -0,0 +1,306 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file was auto-generated by openapi-typescript.
|
|
3
|
+
* Do not make direct changes to the file.
|
|
4
|
+
*/
|
|
5
|
+
export interface paths {
|
|
6
|
+
"/defects": {
|
|
7
|
+
parameters: {
|
|
8
|
+
query?: never;
|
|
9
|
+
header?: never;
|
|
10
|
+
path?: never;
|
|
11
|
+
cookie?: never;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* List defects
|
|
15
|
+
* @description Returns PII-safe defect records for the association bound to the API key. Requires scope `defects:read`.
|
|
16
|
+
*/
|
|
17
|
+
get: {
|
|
18
|
+
parameters: {
|
|
19
|
+
query?: {
|
|
20
|
+
limit?: string;
|
|
21
|
+
offset?: string;
|
|
22
|
+
};
|
|
23
|
+
header?: never;
|
|
24
|
+
path?: never;
|
|
25
|
+
cookie?: never;
|
|
26
|
+
};
|
|
27
|
+
requestBody?: never;
|
|
28
|
+
responses: {
|
|
29
|
+
/** @description Defect list */
|
|
30
|
+
200: {
|
|
31
|
+
headers: {
|
|
32
|
+
[name: string]: unknown;
|
|
33
|
+
};
|
|
34
|
+
content: {
|
|
35
|
+
"application/json": {
|
|
36
|
+
data: components["schemas"]["Defect"][];
|
|
37
|
+
limit: number;
|
|
38
|
+
offset: number;
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
};
|
|
42
|
+
/** @description Missing or invalid API key */
|
|
43
|
+
401: {
|
|
44
|
+
headers: {
|
|
45
|
+
[name: string]: unknown;
|
|
46
|
+
};
|
|
47
|
+
content: {
|
|
48
|
+
"application/problem+json": components["schemas"]["Problem"];
|
|
49
|
+
};
|
|
50
|
+
};
|
|
51
|
+
/** @description Insufficient scope — requires `defects:read` */
|
|
52
|
+
403: {
|
|
53
|
+
headers: {
|
|
54
|
+
[name: string]: unknown;
|
|
55
|
+
};
|
|
56
|
+
content: {
|
|
57
|
+
"application/problem+json": components["schemas"]["Problem"];
|
|
58
|
+
};
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
};
|
|
62
|
+
put?: never;
|
|
63
|
+
post?: never;
|
|
64
|
+
delete?: never;
|
|
65
|
+
options?: never;
|
|
66
|
+
head?: never;
|
|
67
|
+
patch?: never;
|
|
68
|
+
trace?: never;
|
|
69
|
+
};
|
|
70
|
+
"/defects/{id}": {
|
|
71
|
+
parameters: {
|
|
72
|
+
query?: never;
|
|
73
|
+
header?: never;
|
|
74
|
+
path?: never;
|
|
75
|
+
cookie?: never;
|
|
76
|
+
};
|
|
77
|
+
/** Get defect by id */
|
|
78
|
+
get: {
|
|
79
|
+
parameters: {
|
|
80
|
+
query?: never;
|
|
81
|
+
header?: never;
|
|
82
|
+
path: {
|
|
83
|
+
id: string;
|
|
84
|
+
};
|
|
85
|
+
cookie?: never;
|
|
86
|
+
};
|
|
87
|
+
requestBody?: never;
|
|
88
|
+
responses: {
|
|
89
|
+
/** @description Defect */
|
|
90
|
+
200: {
|
|
91
|
+
headers: {
|
|
92
|
+
[name: string]: unknown;
|
|
93
|
+
};
|
|
94
|
+
content: {
|
|
95
|
+
"application/json": components["schemas"]["Defect"];
|
|
96
|
+
};
|
|
97
|
+
};
|
|
98
|
+
/** @description Missing or invalid API key */
|
|
99
|
+
401: {
|
|
100
|
+
headers: {
|
|
101
|
+
[name: string]: unknown;
|
|
102
|
+
};
|
|
103
|
+
content: {
|
|
104
|
+
"application/problem+json": components["schemas"]["Problem"];
|
|
105
|
+
};
|
|
106
|
+
};
|
|
107
|
+
/** @description Insufficient scope — requires `defects:read` */
|
|
108
|
+
403: {
|
|
109
|
+
headers: {
|
|
110
|
+
[name: string]: unknown;
|
|
111
|
+
};
|
|
112
|
+
content: {
|
|
113
|
+
"application/problem+json": components["schemas"]["Problem"];
|
|
114
|
+
};
|
|
115
|
+
};
|
|
116
|
+
/** @description Defect not found within the key's association */
|
|
117
|
+
404: {
|
|
118
|
+
headers: {
|
|
119
|
+
[name: string]: unknown;
|
|
120
|
+
};
|
|
121
|
+
content: {
|
|
122
|
+
"application/problem+json": components["schemas"]["Problem"];
|
|
123
|
+
};
|
|
124
|
+
};
|
|
125
|
+
};
|
|
126
|
+
};
|
|
127
|
+
put?: never;
|
|
128
|
+
post?: never;
|
|
129
|
+
delete?: never;
|
|
130
|
+
options?: never;
|
|
131
|
+
head?: never;
|
|
132
|
+
patch?: never;
|
|
133
|
+
trace?: never;
|
|
134
|
+
};
|
|
135
|
+
"/claims": {
|
|
136
|
+
parameters: {
|
|
137
|
+
query?: never;
|
|
138
|
+
header?: never;
|
|
139
|
+
path?: never;
|
|
140
|
+
cookie?: never;
|
|
141
|
+
};
|
|
142
|
+
/**
|
|
143
|
+
* List claims (reklamaatiot)
|
|
144
|
+
* @description Returns PII-safe reklamaatio claim records for the association bound to the API key. Requires scope `claims:read`.
|
|
145
|
+
*/
|
|
146
|
+
get: {
|
|
147
|
+
parameters: {
|
|
148
|
+
query?: {
|
|
149
|
+
limit?: string;
|
|
150
|
+
offset?: string;
|
|
151
|
+
};
|
|
152
|
+
header?: never;
|
|
153
|
+
path?: never;
|
|
154
|
+
cookie?: never;
|
|
155
|
+
};
|
|
156
|
+
requestBody?: never;
|
|
157
|
+
responses: {
|
|
158
|
+
/** @description Claim list */
|
|
159
|
+
200: {
|
|
160
|
+
headers: {
|
|
161
|
+
[name: string]: unknown;
|
|
162
|
+
};
|
|
163
|
+
content: {
|
|
164
|
+
"application/json": {
|
|
165
|
+
data: components["schemas"]["Claim"][];
|
|
166
|
+
limit: number;
|
|
167
|
+
offset: number;
|
|
168
|
+
};
|
|
169
|
+
};
|
|
170
|
+
};
|
|
171
|
+
/** @description Missing or invalid API key */
|
|
172
|
+
401: {
|
|
173
|
+
headers: {
|
|
174
|
+
[name: string]: unknown;
|
|
175
|
+
};
|
|
176
|
+
content: {
|
|
177
|
+
"application/problem+json": components["schemas"]["Problem"];
|
|
178
|
+
};
|
|
179
|
+
};
|
|
180
|
+
/** @description Insufficient scope — requires `claims:read` */
|
|
181
|
+
403: {
|
|
182
|
+
headers: {
|
|
183
|
+
[name: string]: unknown;
|
|
184
|
+
};
|
|
185
|
+
content: {
|
|
186
|
+
"application/problem+json": components["schemas"]["Problem"];
|
|
187
|
+
};
|
|
188
|
+
};
|
|
189
|
+
};
|
|
190
|
+
};
|
|
191
|
+
put?: never;
|
|
192
|
+
post?: never;
|
|
193
|
+
delete?: never;
|
|
194
|
+
options?: never;
|
|
195
|
+
head?: never;
|
|
196
|
+
patch?: never;
|
|
197
|
+
trace?: never;
|
|
198
|
+
};
|
|
199
|
+
"/claims/{id}": {
|
|
200
|
+
parameters: {
|
|
201
|
+
query?: never;
|
|
202
|
+
header?: never;
|
|
203
|
+
path?: never;
|
|
204
|
+
cookie?: never;
|
|
205
|
+
};
|
|
206
|
+
/** Get claim by id */
|
|
207
|
+
get: {
|
|
208
|
+
parameters: {
|
|
209
|
+
query?: never;
|
|
210
|
+
header?: never;
|
|
211
|
+
path: {
|
|
212
|
+
id: string;
|
|
213
|
+
};
|
|
214
|
+
cookie?: never;
|
|
215
|
+
};
|
|
216
|
+
requestBody?: never;
|
|
217
|
+
responses: {
|
|
218
|
+
/** @description Claim */
|
|
219
|
+
200: {
|
|
220
|
+
headers: {
|
|
221
|
+
[name: string]: unknown;
|
|
222
|
+
};
|
|
223
|
+
content: {
|
|
224
|
+
"application/json": components["schemas"]["Claim"];
|
|
225
|
+
};
|
|
226
|
+
};
|
|
227
|
+
/** @description Missing or invalid API key */
|
|
228
|
+
401: {
|
|
229
|
+
headers: {
|
|
230
|
+
[name: string]: unknown;
|
|
231
|
+
};
|
|
232
|
+
content: {
|
|
233
|
+
"application/problem+json": components["schemas"]["Problem"];
|
|
234
|
+
};
|
|
235
|
+
};
|
|
236
|
+
/** @description Insufficient scope — requires `claims:read` */
|
|
237
|
+
403: {
|
|
238
|
+
headers: {
|
|
239
|
+
[name: string]: unknown;
|
|
240
|
+
};
|
|
241
|
+
content: {
|
|
242
|
+
"application/problem+json": components["schemas"]["Problem"];
|
|
243
|
+
};
|
|
244
|
+
};
|
|
245
|
+
/** @description Claim not found within the key's association */
|
|
246
|
+
404: {
|
|
247
|
+
headers: {
|
|
248
|
+
[name: string]: unknown;
|
|
249
|
+
};
|
|
250
|
+
content: {
|
|
251
|
+
"application/problem+json": components["schemas"]["Problem"];
|
|
252
|
+
};
|
|
253
|
+
};
|
|
254
|
+
};
|
|
255
|
+
};
|
|
256
|
+
put?: never;
|
|
257
|
+
post?: never;
|
|
258
|
+
delete?: never;
|
|
259
|
+
options?: never;
|
|
260
|
+
head?: never;
|
|
261
|
+
patch?: never;
|
|
262
|
+
trace?: never;
|
|
263
|
+
};
|
|
264
|
+
}
|
|
265
|
+
export type webhooks = Record<string, never>;
|
|
266
|
+
export interface components {
|
|
267
|
+
schemas: {
|
|
268
|
+
Defect: {
|
|
269
|
+
id: string;
|
|
270
|
+
association_id: string;
|
|
271
|
+
title: string;
|
|
272
|
+
category: string | null;
|
|
273
|
+
subcategory: string | null;
|
|
274
|
+
severity: string | null;
|
|
275
|
+
status: string | null;
|
|
276
|
+
location: string | null;
|
|
277
|
+
repair_target_date: string | null;
|
|
278
|
+
created_at: string | null;
|
|
279
|
+
};
|
|
280
|
+
Problem: {
|
|
281
|
+
type: string;
|
|
282
|
+
title: string;
|
|
283
|
+
status: number;
|
|
284
|
+
detail?: string;
|
|
285
|
+
};
|
|
286
|
+
Claim: {
|
|
287
|
+
id: string;
|
|
288
|
+
association_id: string;
|
|
289
|
+
claim_number: string | null;
|
|
290
|
+
title: string;
|
|
291
|
+
status: string | null;
|
|
292
|
+
sent_date: string | null;
|
|
293
|
+
response_deadline: string | null;
|
|
294
|
+
parent_claim_id: string | null;
|
|
295
|
+
created_at: string | null;
|
|
296
|
+
};
|
|
297
|
+
};
|
|
298
|
+
responses: never;
|
|
299
|
+
parameters: never;
|
|
300
|
+
requestBodies: never;
|
|
301
|
+
headers: never;
|
|
302
|
+
pathItems: never;
|
|
303
|
+
}
|
|
304
|
+
export type $defs = Record<string, never>;
|
|
305
|
+
export type operations = Record<string, never>;
|
|
306
|
+
//# sourceMappingURL=openapi-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openapi-types.d.ts","sourceRoot":"","sources":["../src/openapi-types.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@varek/sdk",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Typed TypeScript client for the VAREK public API",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "dist/index.js",
|
|
7
|
+
"types": "dist/index.d.ts",
|
|
8
|
+
"files": ["dist", "README.md"],
|
|
9
|
+
"publishConfig": { "access": "public" },
|
|
10
|
+
"repository": {
|
|
11
|
+
"type": "git",
|
|
12
|
+
"url": "https://github.com/DeletedByAccident/takuuVahti.git",
|
|
13
|
+
"directory": "packages/sdk"
|
|
14
|
+
},
|
|
15
|
+
"homepage": "https://varek.fi/docs/api",
|
|
16
|
+
"exports": {
|
|
17
|
+
".": {
|
|
18
|
+
"import": "./dist/index.js",
|
|
19
|
+
"types": "./dist/index.d.ts"
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
"scripts": {
|
|
23
|
+
"build": "tsc -p tsconfig.json",
|
|
24
|
+
"typecheck": "tsc --noEmit",
|
|
25
|
+
"gen": "openapi-typescript ../../apps/api/openapi.json -o src/openapi-types.ts"
|
|
26
|
+
},
|
|
27
|
+
"devDependencies": {
|
|
28
|
+
"openapi-typescript": "^7.0.0",
|
|
29
|
+
"typescript": "^5.0.0"
|
|
30
|
+
}
|
|
31
|
+
}
|