@ikatec/digisac-api-sdk 4.1.0 → 4.3.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 +7 -4
- package/dist/apis/authHistory/AuthHistoryApi.cjs +12 -12
- package/dist/apis/authHistory/AuthHistoryApi.cjs.map +1 -1
- package/dist/apis/authHistory/AuthHistoryApi.d.ts +12 -19
- package/dist/apis/authHistory/AuthHistoryApi.d.ts.map +1 -1
- package/dist/apis/authHistory/AuthHistoryApi.mjs +12 -12
- package/dist/apis/authHistory/AuthHistoryApi.mjs.map +1 -1
- package/dist/apis/authHistory/types.d.ts +4 -3
- package/dist/apis/authHistory/types.d.ts.map +1 -1
- package/dist/apis/customFields/types.d.ts +21 -19
- package/dist/apis/customFields/types.d.ts.map +1 -1
- package/dist/apis/dashboard/DashboardApi.cjs +54 -0
- package/dist/apis/dashboard/DashboardApi.cjs.map +1 -0
- package/dist/apis/dashboard/DashboardApi.d.ts +65 -0
- package/dist/apis/dashboard/DashboardApi.d.ts.map +1 -0
- package/dist/apis/dashboard/DashboardApi.mjs +53 -0
- package/dist/apis/dashboard/DashboardApi.mjs.map +1 -0
- package/dist/apis/dashboard/index.cjs +4 -0
- package/dist/apis/dashboard/index.d.ts +3 -0
- package/dist/apis/dashboard/index.d.ts.map +1 -0
- package/dist/apis/dashboard/index.mjs +3 -0
- package/dist/apis/dashboard/types.cjs +0 -0
- package/dist/apis/dashboard/types.d.ts +124 -0
- package/dist/apis/dashboard/types.d.ts.map +1 -0
- package/dist/apis/dashboard/types.mjs +0 -0
- package/dist/apis/holiday/types.d.ts +34 -8
- package/dist/apis/holiday/types.d.ts.map +1 -1
- package/dist/apis/index.cjs +6 -0
- package/dist/apis/index.d.ts +2 -0
- package/dist/apis/index.d.ts.map +1 -1
- package/dist/apis/index.mjs +5 -1
- package/dist/apis/now/NowApi.cjs +37 -0
- package/dist/apis/now/NowApi.cjs.map +1 -0
- package/dist/apis/now/NowApi.d.ts +26 -0
- package/dist/apis/now/NowApi.d.ts.map +1 -0
- package/dist/apis/now/NowApi.mjs +36 -0
- package/dist/apis/now/NowApi.mjs.map +1 -0
- package/dist/apis/now/index.cjs +4 -0
- package/dist/apis/now/index.d.ts +3 -0
- package/dist/apis/now/index.d.ts.map +1 -0
- package/dist/apis/now/index.mjs +3 -0
- package/dist/apis/now/types.cjs +0 -0
- package/dist/apis/now/types.d.ts +45 -0
- package/dist/apis/now/types.d.ts.map +1 -0
- package/dist/apis/now/types.mjs +0 -0
- package/dist/apis/people/types.d.ts +7 -2
- package/dist/apis/people/types.d.ts.map +1 -1
- package/dist/apis/permissions/PermissionsApi.cjs +6 -2
- package/dist/apis/permissions/PermissionsApi.cjs.map +1 -1
- package/dist/apis/permissions/PermissionsApi.d.ts +7 -3
- package/dist/apis/permissions/PermissionsApi.d.ts.map +1 -1
- package/dist/apis/permissions/PermissionsApi.mjs +6 -2
- package/dist/apis/permissions/PermissionsApi.mjs.map +1 -1
- package/dist/apis/permissions/types.d.ts +4 -14
- package/dist/apis/permissions/types.d.ts.map +1 -1
- package/dist/apis/personalAccessTokens/PersonalAccessTokensApi.cjs +5 -0
- package/dist/apis/personalAccessTokens/PersonalAccessTokensApi.cjs.map +1 -1
- package/dist/apis/personalAccessTokens/PersonalAccessTokensApi.d.ts +5 -0
- package/dist/apis/personalAccessTokens/PersonalAccessTokensApi.d.ts.map +1 -1
- package/dist/apis/personalAccessTokens/PersonalAccessTokensApi.mjs +5 -0
- package/dist/apis/personalAccessTokens/PersonalAccessTokensApi.mjs.map +1 -1
- package/dist/apis/personalAccessTokens/types.d.ts +23 -4
- package/dist/apis/personalAccessTokens/types.d.ts.map +1 -1
- package/dist/apis/roles/RolesApi.cjs.map +1 -1
- package/dist/apis/roles/RolesApi.d.ts +2 -2
- package/dist/apis/roles/RolesApi.d.ts.map +1 -1
- package/dist/apis/roles/RolesApi.mjs.map +1 -1
- package/dist/apis/roles/types.d.ts +27 -4
- package/dist/apis/roles/types.d.ts.map +1 -1
- package/dist/apis/terms/TermsApi.cjs +4 -1
- package/dist/apis/terms/TermsApi.cjs.map +1 -1
- package/dist/apis/terms/TermsApi.d.ts +4 -1
- package/dist/apis/terms/TermsApi.d.ts.map +1 -1
- package/dist/apis/terms/TermsApi.mjs +4 -1
- package/dist/apis/terms/TermsApi.mjs.map +1 -1
- package/dist/apis/timetable/types.d.ts +12 -7
- package/dist/apis/timetable/types.d.ts.map +1 -1
- package/dist/core/BaseCrudApi.cjs +3 -30
- package/dist/core/BaseCrudApi.cjs.map +1 -1
- package/dist/core/BaseCrudApi.d.ts +4 -24
- package/dist/core/BaseCrudApi.d.ts.map +1 -1
- package/dist/core/BaseCrudApi.mjs +3 -30
- package/dist/core/BaseCrudApi.mjs.map +1 -1
- package/dist/core/BaseReadApi.cjs +44 -0
- package/dist/core/BaseReadApi.cjs.map +1 -0
- package/dist/core/BaseReadApi.d.ts +32 -0
- package/dist/core/BaseReadApi.d.ts.map +1 -0
- package/dist/core/BaseReadApi.mjs +43 -0
- package/dist/core/BaseReadApi.mjs.map +1 -0
- package/dist/core/index.cjs +2 -0
- package/dist/core/index.d.ts +1 -0
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.mjs +2 -1
- package/dist/index.cjs +2 -0
- package/dist/index.mjs +2 -1
- package/package.json +1 -1
- package/src/apis/authHistory/AuthHistoryApi.test.ts +10 -2
- package/src/apis/authHistory/AuthHistoryApi.ts +13 -39
- package/src/apis/authHistory/types.ts +4 -3
- package/src/apis/customFields/types.ts +21 -25
- package/src/apis/dashboard/DashboardApi.test-d.ts +49 -0
- package/src/apis/dashboard/DashboardApi.test.ts +270 -0
- package/src/apis/dashboard/DashboardApi.ts +146 -0
- package/src/apis/dashboard/index.ts +2 -0
- package/src/apis/dashboard/types.ts +131 -0
- package/src/apis/holiday/types.ts +36 -8
- package/src/apis/index.ts +2 -0
- package/src/apis/now/NowApi.test.ts +125 -0
- package/src/apis/now/NowApi.ts +59 -0
- package/src/apis/now/index.ts +2 -0
- package/src/apis/now/types.ts +47 -0
- package/src/apis/payloads.test-d.ts +39 -0
- package/src/apis/payloads.test.ts +81 -0
- package/src/apis/people/types.ts +7 -2
- package/src/apis/permissions/PermissionsApi.test.ts +93 -0
- package/src/apis/permissions/PermissionsApi.ts +7 -7
- package/src/apis/permissions/types.ts +4 -16
- package/src/apis/personalAccessTokens/PersonalAccessTokensApi.ts +5 -0
- package/src/apis/personalAccessTokens/types.ts +25 -4
- package/src/apis/queryFormat.test.ts +139 -0
- package/src/apis/roles/RolesApi.ts +7 -2
- package/src/apis/roles/types.ts +27 -4
- package/src/apis/terms/TermsApi.ts +4 -1
- package/src/apis/timetable/types.ts +13 -7
- package/src/core/BaseCrudApi.ts +4 -60
- package/src/core/BaseReadApi.ts +70 -0
- package/src/core/index.ts +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/apis/permissions/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/apis/permissions/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,11 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
2
2
|
const require_core_BaseCrudApi = require('../../core/BaseCrudApi.cjs');
|
|
3
3
|
|
|
4
4
|
//#region src/apis/personalAccessTokens/PersonalAccessTokensApi.ts
|
|
5
|
+
/**
|
|
6
|
+
* Personal access tokens of the authenticated user (`/me/tokens`, all routes guarded by
|
|
7
|
+
* `settingsApi.update`). The listing is scoped to the user; `getById` of a missing token answers
|
|
8
|
+
* 404 (`{ message: 'Not found' }`) instead of `null`.
|
|
9
|
+
*/
|
|
5
10
|
var PersonalAccessTokensApi = class extends require_core_BaseCrudApi.BaseCrudApi {
|
|
6
11
|
constructor(client) {
|
|
7
12
|
super(client, "/me/tokens");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PersonalAccessTokensApi.cjs","names":["BaseCrudApi"],"sources":["../../../src/apis/personalAccessTokens/PersonalAccessTokensApi.ts"],"sourcesContent":["import type { ApiClient } from '../../core/ApiClient'\nimport { BaseCrudApi } from '../../core/BaseCrudApi'\nimport type {\n PersonalAccessToken,\n CreatePersonalAccessTokenPayload,\n UpdatePersonalAccessTokenPayload,\n} from './types'\n\nexport class PersonalAccessTokensApi extends BaseCrudApi<\n PersonalAccessToken,\n CreatePersonalAccessTokenPayload,\n UpdatePersonalAccessTokenPayload\n> {\n constructor(client: ApiClient) {\n super(client, '/me/tokens')\n }\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"PersonalAccessTokensApi.cjs","names":["BaseCrudApi"],"sources":["../../../src/apis/personalAccessTokens/PersonalAccessTokensApi.ts"],"sourcesContent":["import type { ApiClient } from '../../core/ApiClient'\nimport { BaseCrudApi } from '../../core/BaseCrudApi'\nimport type {\n PersonalAccessToken,\n CreatePersonalAccessTokenPayload,\n UpdatePersonalAccessTokenPayload,\n} from './types'\n\n/**\n * Personal access tokens of the authenticated user (`/me/tokens`, all routes guarded by\n * `settingsApi.update`). The listing is scoped to the user; `getById` of a missing token answers\n * 404 (`{ message: 'Not found' }`) instead of `null`.\n */\nexport class PersonalAccessTokensApi extends BaseCrudApi<\n PersonalAccessToken,\n CreatePersonalAccessTokenPayload,\n UpdatePersonalAccessTokenPayload\n> {\n constructor(client: ApiClient) {\n super(client, '/me/tokens')\n }\n}\n"],"mappings":";;;;;;;;;AAaA,IAAa,0BAAb,cAA6CA,qCAI3C;CACA,YAAY,QAAmB;AAC7B,QAAM,QAAQ,aAAa"}
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import type { ApiClient } from '../../core/ApiClient';
|
|
2
2
|
import { BaseCrudApi } from '../../core/BaseCrudApi';
|
|
3
3
|
import type { PersonalAccessToken, CreatePersonalAccessTokenPayload, UpdatePersonalAccessTokenPayload } from './types';
|
|
4
|
+
/**
|
|
5
|
+
* Personal access tokens of the authenticated user (`/me/tokens`, all routes guarded by
|
|
6
|
+
* `settingsApi.update`). The listing is scoped to the user; `getById` of a missing token answers
|
|
7
|
+
* 404 (`{ message: 'Not found' }`) instead of `null`.
|
|
8
|
+
*/
|
|
4
9
|
export declare class PersonalAccessTokensApi extends BaseCrudApi<PersonalAccessToken, CreatePersonalAccessTokenPayload, UpdatePersonalAccessTokenPayload> {
|
|
5
10
|
constructor(client: ApiClient);
|
|
6
11
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PersonalAccessTokensApi.d.ts","sourceRoot":"","sources":["../../../src/apis/personalAccessTokens/PersonalAccessTokensApi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACpD,OAAO,KAAK,EACV,mBAAmB,EACnB,gCAAgC,EAChC,gCAAgC,EACjC,MAAM,SAAS,CAAA;AAEhB,qBAAa,uBAAwB,SAAQ,WAAW,CACtD,mBAAmB,EACnB,gCAAgC,EAChC,gCAAgC,CACjC;gBACa,MAAM,EAAE,SAAS;CAG9B"}
|
|
1
|
+
{"version":3,"file":"PersonalAccessTokensApi.d.ts","sourceRoot":"","sources":["../../../src/apis/personalAccessTokens/PersonalAccessTokensApi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACpD,OAAO,KAAK,EACV,mBAAmB,EACnB,gCAAgC,EAChC,gCAAgC,EACjC,MAAM,SAAS,CAAA;AAEhB;;;;GAIG;AACH,qBAAa,uBAAwB,SAAQ,WAAW,CACtD,mBAAmB,EACnB,gCAAgC,EAChC,gCAAgC,CACjC;gBACa,MAAM,EAAE,SAAS;CAG9B"}
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import { BaseCrudApi } from "../../core/BaseCrudApi.mjs";
|
|
2
2
|
|
|
3
3
|
//#region src/apis/personalAccessTokens/PersonalAccessTokensApi.ts
|
|
4
|
+
/**
|
|
5
|
+
* Personal access tokens of the authenticated user (`/me/tokens`, all routes guarded by
|
|
6
|
+
* `settingsApi.update`). The listing is scoped to the user; `getById` of a missing token answers
|
|
7
|
+
* 404 (`{ message: 'Not found' }`) instead of `null`.
|
|
8
|
+
*/
|
|
4
9
|
var PersonalAccessTokensApi = class extends BaseCrudApi {
|
|
5
10
|
constructor(client) {
|
|
6
11
|
super(client, "/me/tokens");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PersonalAccessTokensApi.mjs","names":[],"sources":["../../../src/apis/personalAccessTokens/PersonalAccessTokensApi.ts"],"sourcesContent":["import type { ApiClient } from '../../core/ApiClient'\nimport { BaseCrudApi } from '../../core/BaseCrudApi'\nimport type {\n PersonalAccessToken,\n CreatePersonalAccessTokenPayload,\n UpdatePersonalAccessTokenPayload,\n} from './types'\n\nexport class PersonalAccessTokensApi extends BaseCrudApi<\n PersonalAccessToken,\n CreatePersonalAccessTokenPayload,\n UpdatePersonalAccessTokenPayload\n> {\n constructor(client: ApiClient) {\n super(client, '/me/tokens')\n }\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"PersonalAccessTokensApi.mjs","names":[],"sources":["../../../src/apis/personalAccessTokens/PersonalAccessTokensApi.ts"],"sourcesContent":["import type { ApiClient } from '../../core/ApiClient'\nimport { BaseCrudApi } from '../../core/BaseCrudApi'\nimport type {\n PersonalAccessToken,\n CreatePersonalAccessTokenPayload,\n UpdatePersonalAccessTokenPayload,\n} from './types'\n\n/**\n * Personal access tokens of the authenticated user (`/me/tokens`, all routes guarded by\n * `settingsApi.update`). The listing is scoped to the user; `getById` of a missing token answers\n * 404 (`{ message: 'Not found' }`) instead of `null`.\n */\nexport class PersonalAccessTokensApi extends BaseCrudApi<\n PersonalAccessToken,\n CreatePersonalAccessTokenPayload,\n UpdatePersonalAccessTokenPayload\n> {\n constructor(client: ApiClient) {\n super(client, '/me/tokens')\n }\n}\n"],"mappings":";;;;;;;;AAaA,IAAa,0BAAb,cAA6C,YAI3C;CACA,YAAY,QAAmB;AAC7B,QAAM,QAAQ,aAAa"}
|
|
@@ -1,24 +1,43 @@
|
|
|
1
1
|
import type { User } from '../users/types';
|
|
2
|
+
export type PersonalAccessTokenStatus = 'active' | 'revoked' | 'expired';
|
|
3
|
+
/** Accepted lifetimes of a token (`No expiration` keeps `accessTokenExpiresAt` null). */
|
|
4
|
+
export type PersonalAccessTokenExpiresIn = '30d' | '90d' | '180d' | '1y' | 'No expiration';
|
|
5
|
+
/**
|
|
6
|
+
* A personal access token of the authenticated user.
|
|
7
|
+
*
|
|
8
|
+
* `accessToken` comes in full only in the `create` answer; every other route masks it
|
|
9
|
+
* (`abcde***vwxyz`). `status` and `user` (only `{ name }`) come on `getMany`/`getById`.
|
|
10
|
+
* `deleteById` revokes the token (soft delete): it keeps being listed with `status: 'revoked'`.
|
|
11
|
+
*/
|
|
2
12
|
export type PersonalAccessToken = {
|
|
3
13
|
id: string;
|
|
4
14
|
name: string;
|
|
15
|
+
/** `*` when created without a scope. */
|
|
5
16
|
scope: string | null;
|
|
6
17
|
accessToken: string;
|
|
7
18
|
accessTokenExpiresAt: string | null;
|
|
8
19
|
userId: string;
|
|
20
|
+
clientId: string | null;
|
|
21
|
+
impersonate?: boolean | null;
|
|
9
22
|
createdAt: string;
|
|
10
23
|
updatedAt: string;
|
|
11
24
|
deletedAt: string | null;
|
|
12
|
-
|
|
25
|
+
/** Only on `getMany`/`getById` answers. */
|
|
26
|
+
status?: PersonalAccessTokenStatus;
|
|
27
|
+
/** Only on `getMany`/`getById` answers, with just the name. */
|
|
28
|
+
user?: Pick<User, 'name'>;
|
|
13
29
|
};
|
|
14
30
|
export type PersonalAccessTokenRelationships = 'user';
|
|
15
31
|
export type CreatePersonalAccessTokenPayload = {
|
|
32
|
+
/** Up to 255 characters. */
|
|
16
33
|
name: string;
|
|
34
|
+
/** Up to 255 characters (`*` by default). */
|
|
17
35
|
scope?: string;
|
|
18
|
-
|
|
36
|
+
expiresIn?: PersonalAccessTokenExpiresIn;
|
|
19
37
|
};
|
|
20
38
|
export type UpdatePersonalAccessTokenPayload = {
|
|
21
|
-
|
|
22
|
-
|
|
39
|
+
/** Required by the backend on every update (400 `required` otherwise). */
|
|
40
|
+
name: string;
|
|
41
|
+
scope?: string;
|
|
23
42
|
};
|
|
24
43
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/apis/personalAccessTokens/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AAE1C,MAAM,MAAM,mBAAmB,GAAG;IAChC,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;IACnB,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAA;IACnC,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/apis/personalAccessTokens/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AAE1C,MAAM,MAAM,yBAAyB,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAA;AAExE,yFAAyF;AACzF,MAAM,MAAM,4BAA4B,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,IAAI,GAAG,eAAe,CAAA;AAE1F;;;;;;GAMG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,wCAAwC;IACxC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;IACnB,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAA;IACnC,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,WAAW,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;IAC5B,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,2CAA2C;IAC3C,MAAM,CAAC,EAAE,yBAAyB,CAAA;IAElC,+DAA+D;IAC/D,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,gCAAgC,GAAG,MAAM,CAAA;AAErD,MAAM,MAAM,gCAAgC,GAAG;IAC7C,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,4BAA4B,CAAA;CACzC,CAAA;AAED,MAAM,MAAM,gCAAgC,GAAG;IAC7C,0EAA0E;IAC1E,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RolesApi.cjs","names":["BaseCrudApi"],"sources":["../../../src/apis/roles/RolesApi.ts"],"sourcesContent":["import type { ApiClient } from '../../core/ApiClient'\nimport { BaseCrudApi } from '../../core/BaseCrudApi'\nimport type { Role, CreateRolePayload, UpdateRolePayload } from './types'\n\nexport class RolesApi extends BaseCrudApi
|
|
1
|
+
{"version":3,"file":"RolesApi.cjs","names":["BaseCrudApi"],"sources":["../../../src/apis/roles/RolesApi.ts"],"sourcesContent":["import type { ApiClient } from '../../core/ApiClient'\nimport { BaseCrudApi } from '../../core/BaseCrudApi'\nimport type { Role, CreateRolePayload, UpdateRolePayload, RolesListQuery } from './types'\n\nexport class RolesApi extends BaseCrudApi<\n Role,\n CreateRolePayload,\n UpdateRolePayload,\n RolesListQuery\n> {\n constructor(client: ApiClient) {\n super(client, '/roles')\n }\n}\n"],"mappings":";;;;AAIA,IAAa,WAAb,cAA8BA,qCAK5B;CACA,YAAY,QAAmB;AAC7B,QAAM,QAAQ,SAAS"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ApiClient } from '../../core/ApiClient';
|
|
2
2
|
import { BaseCrudApi } from '../../core/BaseCrudApi';
|
|
3
|
-
import type { Role, CreateRolePayload, UpdateRolePayload } from './types';
|
|
4
|
-
export declare class RolesApi extends BaseCrudApi<Role, CreateRolePayload, UpdateRolePayload> {
|
|
3
|
+
import type { Role, CreateRolePayload, UpdateRolePayload, RolesListQuery } from './types';
|
|
4
|
+
export declare class RolesApi extends BaseCrudApi<Role, CreateRolePayload, UpdateRolePayload, RolesListQuery> {
|
|
5
5
|
constructor(client: ApiClient);
|
|
6
6
|
}
|
|
7
7
|
//# sourceMappingURL=RolesApi.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RolesApi.d.ts","sourceRoot":"","sources":["../../../src/apis/roles/RolesApi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACpD,OAAO,KAAK,EAAE,IAAI,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"RolesApi.d.ts","sourceRoot":"","sources":["../../../src/apis/roles/RolesApi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACpD,OAAO,KAAK,EAAE,IAAI,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAEzF,qBAAa,QAAS,SAAQ,WAAW,CACvC,IAAI,EACJ,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,CACf;gBACa,MAAM,EAAE,SAAS;CAG9B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RolesApi.mjs","names":[],"sources":["../../../src/apis/roles/RolesApi.ts"],"sourcesContent":["import type { ApiClient } from '../../core/ApiClient'\nimport { BaseCrudApi } from '../../core/BaseCrudApi'\nimport type { Role, CreateRolePayload, UpdateRolePayload } from './types'\n\nexport class RolesApi extends BaseCrudApi
|
|
1
|
+
{"version":3,"file":"RolesApi.mjs","names":[],"sources":["../../../src/apis/roles/RolesApi.ts"],"sourcesContent":["import type { ApiClient } from '../../core/ApiClient'\nimport { BaseCrudApi } from '../../core/BaseCrudApi'\nimport type { Role, CreateRolePayload, UpdateRolePayload, RolesListQuery } from './types'\n\nexport class RolesApi extends BaseCrudApi<\n Role,\n CreateRolePayload,\n UpdateRolePayload,\n RolesListQuery\n> {\n constructor(client: ApiClient) {\n super(client, '/roles')\n }\n}\n"],"mappings":";;;AAIA,IAAa,WAAb,cAA8B,YAK5B;CACA,YAAY,QAAmB;AAC7B,QAAM,QAAQ,SAAS"}
|
|
@@ -1,4 +1,8 @@
|
|
|
1
|
+
import type { ListQuery } from '../../core/types';
|
|
1
2
|
import type { Permission } from '../permissions/types';
|
|
3
|
+
/**
|
|
4
|
+
* A role (cargo). Roles are not soft-deleted, so there is no `deletedAt`.
|
|
5
|
+
*/
|
|
2
6
|
export type Role = {
|
|
3
7
|
id: string;
|
|
4
8
|
displayName: string;
|
|
@@ -6,18 +10,37 @@ export type Role = {
|
|
|
6
10
|
accountId: string;
|
|
7
11
|
createdAt: string;
|
|
8
12
|
updatedAt: string;
|
|
9
|
-
|
|
13
|
+
/** Only when listed with `customInclude: ['usersCount']`. */
|
|
14
|
+
usersCount?: number;
|
|
10
15
|
permissions?: Permission[];
|
|
11
16
|
};
|
|
12
17
|
export type RoleRelationships = 'permissions';
|
|
18
|
+
/**
|
|
19
|
+
* The permissions of a role, by id or `{ id }`. The backend reads the `permissions` key (also
|
|
20
|
+
* `permissionsId`/`permissionsIds`) — any other key is silently ignored and the role ends up with
|
|
21
|
+
* no permissions.
|
|
22
|
+
*/
|
|
23
|
+
export type RolePermissionRef = string | {
|
|
24
|
+
id: string;
|
|
25
|
+
};
|
|
13
26
|
export type CreateRolePayload = {
|
|
27
|
+
/** Up to 255 characters; must be unique in the account. */
|
|
14
28
|
displayName: string;
|
|
15
29
|
isAdmin?: boolean;
|
|
16
|
-
|
|
30
|
+
permissions?: RolePermissionRef[];
|
|
17
31
|
};
|
|
18
32
|
export type UpdateRolePayload = {
|
|
19
|
-
|
|
33
|
+
/** Required by the backend on every update (400 `required` otherwise). */
|
|
34
|
+
displayName: string;
|
|
20
35
|
isAdmin?: boolean | null;
|
|
21
|
-
|
|
36
|
+
/** Replaces the role permissions. An empty array leaves them unchanged. */
|
|
37
|
+
permissions?: RolePermissionRef[];
|
|
38
|
+
};
|
|
39
|
+
/** List query of `/roles`, with the backend extras to count the users of each role. */
|
|
40
|
+
export type RolesListQuery = ListQuery<Role> & {
|
|
41
|
+
/** `['usersCount']` adds `usersCount` to each role. */
|
|
42
|
+
customInclude?: 'usersCount'[];
|
|
43
|
+
/** Which users `usersCount` counts (default `all`). */
|
|
44
|
+
usersCountFilter?: 'all' | 'active' | 'archived';
|
|
22
45
|
};
|
|
23
46
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/apis/roles/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEtD,MAAM,MAAM,IAAI,GAAG;IACjB,EAAE,EAAE,MAAM,CAAA;IACV,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;IACvB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/apis/roles/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEtD;;GAEG;AACH,MAAM,MAAM,IAAI,GAAG;IACjB,EAAE,EAAE,MAAM,CAAA;IACV,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;IACvB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,6DAA6D;IAC7D,UAAU,CAAC,EAAE,MAAM,CAAA;IAEnB,WAAW,CAAC,EAAE,UAAU,EAAE,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG,aAAa,CAAA;AAE7C;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAAA;AAEvD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,2DAA2D;IAC3D,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,WAAW,CAAC,EAAE,iBAAiB,EAAE,CAAA;CAClC,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,0EAA0E;IAC1E,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;IACxB,2EAA2E;IAC3E,WAAW,CAAC,EAAE,iBAAiB,EAAE,CAAA;CAClC,CAAA;AAED,uFAAuF;AACvF,MAAM,MAAM,cAAc,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG;IAC7C,uDAAuD;IACvD,aAAa,CAAC,EAAE,YAAY,EAAE,CAAA;IAC9B,uDAAuD;IACvD,gBAAgB,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,UAAU,CAAA;CACjD,CAAA"}
|
|
@@ -11,7 +11,10 @@ const require_core_BaseApi = require('../../core/BaseApi.cjs');
|
|
|
11
11
|
*/
|
|
12
12
|
var TermsApi = class extends require_core_BaseApi.BaseApi {
|
|
13
13
|
basePath = "/terms";
|
|
14
|
-
/**
|
|
14
|
+
/**
|
|
15
|
+
* Returns a single term by its ID, scoped to the current account. When it does not exist the
|
|
16
|
+
* backend answers 200 with an empty body, which resolves to `undefined`.
|
|
17
|
+
*/
|
|
15
18
|
getById(id, query, headers) {
|
|
16
19
|
const queryString = this.toQueryString(query);
|
|
17
20
|
return this.client.get(`${this.basePath}/${id}${queryString}`, headers);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TermsApi.cjs","names":["BaseApi"],"sources":["../../../src/apis/terms/TermsApi.ts"],"sourcesContent":["import { BaseApi } from '../../core/BaseApi'\nimport type { GetByIdQuery, HasGetById } from '../../core/types'\nimport type { Term } from './types'\n\n/**\n * Platform terms of use. Terms are published by Agnus (billing) and accepted by the account users,\n * so the `/terms` route has no create/list/update/delete — only the routes below.\n *\n * `GET /terms/:id/export-pdf` is not exposed: it answers a binary PDF, and `ApiClient` only\n * handles JSON/text bodies.\n */\nexport class TermsApi extends BaseApi implements HasGetById<Term> {\n public readonly basePath = '/terms'\n\n
|
|
1
|
+
{"version":3,"file":"TermsApi.cjs","names":["BaseApi"],"sources":["../../../src/apis/terms/TermsApi.ts"],"sourcesContent":["import { BaseApi } from '../../core/BaseApi'\nimport type { GetByIdQuery, HasGetById } from '../../core/types'\nimport type { Term } from './types'\n\n/**\n * Platform terms of use. Terms are published by Agnus (billing) and accepted by the account users,\n * so the `/terms` route has no create/list/update/delete — only the routes below.\n *\n * `GET /terms/:id/export-pdf` is not exposed: it answers a binary PDF, and `ApiClient` only\n * handles JSON/text bodies.\n */\nexport class TermsApi extends BaseApi implements HasGetById<Term> {\n public readonly basePath = '/terms'\n\n /**\n * Returns a single term by its ID, scoped to the current account. When it does not exist the\n * backend answers 200 with an empty body, which resolves to `undefined`.\n */\n getById(id: string, query?: GetByIdQuery<Term>, headers?: Record<string, string>): Promise<Term> {\n const queryString = this.toQueryString(query)\n return this.client.get<Term>(`${this.basePath}/${id}${queryString}`, headers)\n }\n\n /**\n * Returns the terms of the current account that were not agreed to yet (`agreementDate` null).\n * The backend answers a plain array (not paginated) and ignores query parameters.\n */\n getNotAgreed(headers?: Record<string, string>): Promise<Term[]> {\n return this.client.get<Term[]>(`${this.basePath}/terms-not-agreed`, headers)\n }\n\n /**\n * Agrees to the given terms on behalf of the authenticated user. IRREVERSIBLE: the acceptance is\n * registered on Agnus, the terms get `agreementDate`/`userId`, and the signed PDFs are e-mailed\n * to the user. Only terms of the current account are affected.\n *\n * The response is passed through from Agnus as-is, so it is not typed.\n */\n agree(termIds: string[], headers?: Record<string, string>): Promise<unknown> {\n return this.client.patch<unknown, { terms: string[] }>(\n `${this.basePath}/agree`,\n { terms: termIds },\n headers,\n )\n }\n}\n"],"mappings":";;;;;;;;;;;AAWA,IAAa,WAAb,cAA8BA,6BAAoC;CAChE,AAAgB,WAAW;;;;;CAM3B,QAAQ,IAAY,OAA4B,SAAiD;EAC/F,MAAM,cAAc,KAAK,cAAc,MAAM;AAC7C,SAAO,KAAK,OAAO,IAAU,GAAG,KAAK,SAAS,GAAG,KAAK,eAAe,QAAQ;;;;;;CAO/E,aAAa,SAAmD;AAC9D,SAAO,KAAK,OAAO,IAAY,GAAG,KAAK,SAAS,oBAAoB,QAAQ;;;;;;;;;CAU9E,MAAM,SAAmB,SAAoD;AAC3E,SAAO,KAAK,OAAO,MACjB,GAAG,KAAK,SAAS,SACjB,EAAE,OAAO,SAAS,EAClB,QACD"}
|
|
@@ -10,7 +10,10 @@ import type { Term } from './types';
|
|
|
10
10
|
*/
|
|
11
11
|
export declare class TermsApi extends BaseApi implements HasGetById<Term> {
|
|
12
12
|
readonly basePath = "/terms";
|
|
13
|
-
/**
|
|
13
|
+
/**
|
|
14
|
+
* Returns a single term by its ID, scoped to the current account. When it does not exist the
|
|
15
|
+
* backend answers 200 with an empty body, which resolves to `undefined`.
|
|
16
|
+
*/
|
|
14
17
|
getById(id: string, query?: GetByIdQuery<Term>, headers?: Record<string, string>): Promise<Term>;
|
|
15
18
|
/**
|
|
16
19
|
* Returns the terms of the current account that were not agreed to yet (`agreementDate` null).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TermsApi.d.ts","sourceRoot":"","sources":["../../../src/apis/terms/TermsApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAC5C,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAChE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAEnC;;;;;;GAMG;AACH,qBAAa,QAAS,SAAQ,OAAQ,YAAW,UAAU,CAAC,IAAI,CAAC;IAC/D,SAAgB,QAAQ,YAAW;IAEnC
|
|
1
|
+
{"version":3,"file":"TermsApi.d.ts","sourceRoot":"","sources":["../../../src/apis/terms/TermsApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAC5C,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAChE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAEnC;;;;;;GAMG;AACH,qBAAa,QAAS,SAAQ,OAAQ,YAAW,UAAU,CAAC,IAAI,CAAC;IAC/D,SAAgB,QAAQ,YAAW;IAEnC;;;OAGG;IACH,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAKhG;;;OAGG;IACH,YAAY,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAI/D;;;;;;OAMG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;CAO7E"}
|
|
@@ -10,7 +10,10 @@ import { BaseApi } from "../../core/BaseApi.mjs";
|
|
|
10
10
|
*/
|
|
11
11
|
var TermsApi = class extends BaseApi {
|
|
12
12
|
basePath = "/terms";
|
|
13
|
-
/**
|
|
13
|
+
/**
|
|
14
|
+
* Returns a single term by its ID, scoped to the current account. When it does not exist the
|
|
15
|
+
* backend answers 200 with an empty body, which resolves to `undefined`.
|
|
16
|
+
*/
|
|
14
17
|
getById(id, query, headers) {
|
|
15
18
|
const queryString = this.toQueryString(query);
|
|
16
19
|
return this.client.get(`${this.basePath}/${id}${queryString}`, headers);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TermsApi.mjs","names":[],"sources":["../../../src/apis/terms/TermsApi.ts"],"sourcesContent":["import { BaseApi } from '../../core/BaseApi'\nimport type { GetByIdQuery, HasGetById } from '../../core/types'\nimport type { Term } from './types'\n\n/**\n * Platform terms of use. Terms are published by Agnus (billing) and accepted by the account users,\n * so the `/terms` route has no create/list/update/delete — only the routes below.\n *\n * `GET /terms/:id/export-pdf` is not exposed: it answers a binary PDF, and `ApiClient` only\n * handles JSON/text bodies.\n */\nexport class TermsApi extends BaseApi implements HasGetById<Term> {\n public readonly basePath = '/terms'\n\n
|
|
1
|
+
{"version":3,"file":"TermsApi.mjs","names":[],"sources":["../../../src/apis/terms/TermsApi.ts"],"sourcesContent":["import { BaseApi } from '../../core/BaseApi'\nimport type { GetByIdQuery, HasGetById } from '../../core/types'\nimport type { Term } from './types'\n\n/**\n * Platform terms of use. Terms are published by Agnus (billing) and accepted by the account users,\n * so the `/terms` route has no create/list/update/delete — only the routes below.\n *\n * `GET /terms/:id/export-pdf` is not exposed: it answers a binary PDF, and `ApiClient` only\n * handles JSON/text bodies.\n */\nexport class TermsApi extends BaseApi implements HasGetById<Term> {\n public readonly basePath = '/terms'\n\n /**\n * Returns a single term by its ID, scoped to the current account. When it does not exist the\n * backend answers 200 with an empty body, which resolves to `undefined`.\n */\n getById(id: string, query?: GetByIdQuery<Term>, headers?: Record<string, string>): Promise<Term> {\n const queryString = this.toQueryString(query)\n return this.client.get<Term>(`${this.basePath}/${id}${queryString}`, headers)\n }\n\n /**\n * Returns the terms of the current account that were not agreed to yet (`agreementDate` null).\n * The backend answers a plain array (not paginated) and ignores query parameters.\n */\n getNotAgreed(headers?: Record<string, string>): Promise<Term[]> {\n return this.client.get<Term[]>(`${this.basePath}/terms-not-agreed`, headers)\n }\n\n /**\n * Agrees to the given terms on behalf of the authenticated user. IRREVERSIBLE: the acceptance is\n * registered on Agnus, the terms get `agreementDate`/`userId`, and the signed PDFs are e-mailed\n * to the user. Only terms of the current account are affected.\n *\n * The response is passed through from Agnus as-is, so it is not typed.\n */\n agree(termIds: string[], headers?: Record<string, string>): Promise<unknown> {\n return this.client.patch<unknown, { terms: string[] }>(\n `${this.basePath}/agree`,\n { terms: termIds },\n headers,\n )\n }\n}\n"],"mappings":";;;;;;;;;;AAWA,IAAa,WAAb,cAA8B,QAAoC;CAChE,AAAgB,WAAW;;;;;CAM3B,QAAQ,IAAY,OAA4B,SAAiD;EAC/F,MAAM,cAAc,KAAK,cAAc,MAAM;AAC7C,SAAO,KAAK,OAAO,IAAU,GAAG,KAAK,SAAS,GAAG,KAAK,eAAe,QAAQ;;;;;;CAO/E,aAAa,SAAmD;AAC9D,SAAO,KAAK,OAAO,IAAY,GAAG,KAAK,SAAS,oBAAoB,QAAQ;;;;;;;;;CAU9E,MAAM,SAAmB,SAAoD;AAC3E,SAAO,KAAK,OAAO,MACjB,GAAG,KAAK,SAAS,SACjB,EAAE,OAAO,SAAS,EAClB,QACD"}
|
|
@@ -1,8 +1,14 @@
|
|
|
1
|
+
export type TimetableWeekDay = 'sun' | 'mon' | 'tue' | 'wed' | 'thu' | 'fri' | 'sat';
|
|
2
|
+
/**
|
|
3
|
+
* A working period of the timetable. `start`/`end` are `HH:MM` and `end` must be later than
|
|
4
|
+
* `start`; the period applies to every day in `weekDays`.
|
|
5
|
+
*/
|
|
1
6
|
export type TimetableWorkSlot = {
|
|
2
|
-
|
|
7
|
+
/** `HH:MM` */
|
|
3
8
|
start: string;
|
|
9
|
+
/** `HH:MM`, later than `start`. */
|
|
4
10
|
end: string;
|
|
5
|
-
|
|
11
|
+
weekDays: TimetableWeekDay[];
|
|
6
12
|
};
|
|
7
13
|
export type Timetable = {
|
|
8
14
|
id: string;
|
|
@@ -14,13 +20,12 @@ export type Timetable = {
|
|
|
14
20
|
updatedAt: string;
|
|
15
21
|
};
|
|
16
22
|
export type CreateTimetablePayload = {
|
|
23
|
+
/** Must be unique in the account (409 otherwise, unless the account allows duplicate names). */
|
|
17
24
|
name: string;
|
|
25
|
+
/** Minutes before the end of the period to notify. Must be truthy: `0` answers 400 `required`. */
|
|
18
26
|
previousTimeToNotification: number;
|
|
19
27
|
workPlan: TimetableWorkSlot[];
|
|
20
28
|
};
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
previousTimeToNotification?: number;
|
|
24
|
-
workPlan?: TimetableWorkSlot[];
|
|
25
|
-
};
|
|
29
|
+
/** The backend requires the three fields on every update (400 `required` otherwise). */
|
|
30
|
+
export type UpdateTimetablePayload = CreateTimetablePayload;
|
|
26
31
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/apis/timetable/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/apis/timetable/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAA;AAEpF;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,cAAc;IACd,KAAK,EAAE,MAAM,CAAA;IACb,mCAAmC;IACnC,GAAG,EAAE,MAAM,CAAA;IACX,QAAQ,EAAE,gBAAgB,EAAE,CAAA;CAC7B,CAAA;AAED,MAAM,MAAM,SAAS,GAAG;IACtB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,0BAA0B,EAAE,MAAM,CAAA;IAClC,QAAQ,EAAE,iBAAiB,EAAE,CAAA;IAC7B,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,gGAAgG;IAChG,IAAI,EAAE,MAAM,CAAA;IACZ,kGAAkG;IAClG,0BAA0B,EAAE,MAAM,CAAA;IAClC,QAAQ,EAAE,iBAAiB,EAAE,CAAA;CAC9B,CAAA;AAED,wFAAwF;AACxF,MAAM,MAAM,sBAAsB,GAAG,sBAAsB,CAAA"}
|
|
@@ -1,36 +1,9 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
2
|
-
const
|
|
2
|
+
const require_core_BaseReadApi = require('./BaseReadApi.cjs');
|
|
3
3
|
|
|
4
4
|
//#region src/core/BaseCrudApi.ts
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
constructor(client, basePath) {
|
|
8
|
-
super(client);
|
|
9
|
-
this.basePath = basePath.replace(/\/$/, "");
|
|
10
|
-
}
|
|
11
|
-
getMany(query, headers) {
|
|
12
|
-
const queryString = this.toQueryString(query);
|
|
13
|
-
return this.client.get(`${this.basePath}${queryString}`, headers);
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Returns the first resource matching the query, or `null` when none match.
|
|
17
|
-
* Convenience over `getMany` with `limit: 1`.
|
|
18
|
-
* @permissions $resourceName.view
|
|
19
|
-
*/
|
|
20
|
-
async getOne(query, headers) {
|
|
21
|
-
return (await this.getMany({
|
|
22
|
-
...query,
|
|
23
|
-
limit: 1,
|
|
24
|
-
paginate: false
|
|
25
|
-
}, headers))?.[0] ?? null;
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Returns a single resource by ID.
|
|
29
|
-
* @permissions $resourceName.view
|
|
30
|
-
*/
|
|
31
|
-
getById(id, query, headers) {
|
|
32
|
-
return this.client.get(`${this.basePath}/${id}${this.toQueryString(query)}`, headers);
|
|
33
|
-
}
|
|
5
|
+
/** Generic CRUD resource: the reads of `BaseReadApi` plus `create`, `updateById` and `deleteById`. */
|
|
6
|
+
var BaseCrudApi = class extends require_core_BaseReadApi.BaseReadApi {
|
|
34
7
|
/**
|
|
35
8
|
* Creates a new resource.
|
|
36
9
|
* @permissions $resourceName.create
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseCrudApi.cjs","names":["
|
|
1
|
+
{"version":3,"file":"BaseCrudApi.cjs","names":["BaseReadApi"],"sources":["../../src/core/BaseCrudApi.ts"],"sourcesContent":["import { BaseReadApi } from './BaseReadApi'\nimport type { CrudApi, ListQuery } from './types'\nexport type {\n WhereClause,\n IncludeItem,\n ListQuery,\n GetByIdQuery,\n Paginated,\n HasGetMany,\n HasGetById,\n HasCreate,\n HasUpdateById,\n HasDeleteById,\n CrudApi,\n} from './types'\n\n/** Generic CRUD resource: the reads of `BaseReadApi` plus `create`, `updateById` and `deleteById`. */\nexport class BaseCrudApi<\n TResponse,\n TCreate,\n TUpdate = TCreate,\n TQuery extends ListQuery<TResponse> = ListQuery<TResponse>,\n>\n extends BaseReadApi<TResponse, TQuery>\n implements CrudApi<TResponse, TCreate, TUpdate, TQuery>\n{\n /**\n * Creates a new resource.\n * @permissions $resourceName.create\n */\n create(body: TCreate, headers?: Record<string, string>): Promise<TResponse> {\n return this.client.post<TResponse, TCreate>(this.basePath, body, headers)\n }\n\n /**\n * Updates an existing resource by ID.\n * @permissions $resourceName.update\n */\n updateById(id: string, body: TUpdate, headers?: Record<string, string>): Promise<TResponse> {\n return this.client.put<TResponse, TUpdate>(`${this.basePath}/${id}`, body, headers)\n }\n\n /**\n * Deletes a resource by ID.\n * @permissions $resourceName.delete\n */\n deleteById(id: string, headers?: Record<string, string>): Promise<TResponse> {\n return this.client.delete<TResponse>(`${this.basePath}/${id}`, headers)\n }\n}\n"],"mappings":";;;;;AAiBA,IAAa,cAAb,cAMUA,qCAEV;;;;;CAKE,OAAO,MAAe,SAAsD;AAC1E,SAAO,KAAK,OAAO,KAAyB,KAAK,UAAU,MAAM,QAAQ;;;;;;CAO3E,WAAW,IAAY,MAAe,SAAsD;AAC1F,SAAO,KAAK,OAAO,IAAwB,GAAG,KAAK,SAAS,GAAG,MAAM,MAAM,QAAQ;;;;;;CAOrF,WAAW,IAAY,SAAsD;AAC3E,SAAO,KAAK,OAAO,OAAkB,GAAG,KAAK,SAAS,GAAG,MAAM,QAAQ"}
|
|
@@ -1,28 +1,8 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
import type { CrudApi, GetByIdQuery, ListQuery, Paginated } from './types';
|
|
1
|
+
import { BaseReadApi } from './BaseReadApi';
|
|
2
|
+
import type { CrudApi, ListQuery } from './types';
|
|
4
3
|
export type { WhereClause, IncludeItem, ListQuery, GetByIdQuery, Paginated, HasGetMany, HasGetById, HasCreate, HasUpdateById, HasDeleteById, CrudApi, } from './types';
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
constructor(client: ApiClient, basePath: string);
|
|
8
|
-
getMany(query: TQuery & {
|
|
9
|
-
paginate: false;
|
|
10
|
-
}, headers?: Record<string, string>): Promise<TResponse[]>;
|
|
11
|
-
getMany(query?: TQuery & {
|
|
12
|
-
paginate?: true;
|
|
13
|
-
}, headers?: Record<string, string>): Promise<Paginated<TResponse>>;
|
|
14
|
-
getMany(query?: TQuery, headers?: Record<string, string>): Promise<Paginated<TResponse> | TResponse[]>;
|
|
15
|
-
/**
|
|
16
|
-
* Returns the first resource matching the query, or `null` when none match.
|
|
17
|
-
* Convenience over `getMany` with `limit: 1`.
|
|
18
|
-
* @permissions $resourceName.view
|
|
19
|
-
*/
|
|
20
|
-
getOne(query?: TQuery, headers?: Record<string, string>): Promise<TResponse | null>;
|
|
21
|
-
/**
|
|
22
|
-
* Returns a single resource by ID.
|
|
23
|
-
* @permissions $resourceName.view
|
|
24
|
-
*/
|
|
25
|
-
getById(id: string, query?: GetByIdQuery<TResponse>, headers?: Record<string, string>): Promise<TResponse>;
|
|
4
|
+
/** Generic CRUD resource: the reads of `BaseReadApi` plus `create`, `updateById` and `deleteById`. */
|
|
5
|
+
export declare class BaseCrudApi<TResponse, TCreate, TUpdate = TCreate, TQuery extends ListQuery<TResponse> = ListQuery<TResponse>> extends BaseReadApi<TResponse, TQuery> implements CrudApi<TResponse, TCreate, TUpdate, TQuery> {
|
|
26
6
|
/**
|
|
27
7
|
* Creates a new resource.
|
|
28
8
|
* @permissions $resourceName.create
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseCrudApi.d.ts","sourceRoot":"","sources":["../../src/core/BaseCrudApi.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"BaseCrudApi.d.ts","sourceRoot":"","sources":["../../src/core/BaseCrudApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AACjD,YAAY,EACV,WAAW,EACX,WAAW,EACX,SAAS,EACT,YAAY,EACZ,SAAS,EACT,UAAU,EACV,UAAU,EACV,SAAS,EACT,aAAa,EACb,aAAa,EACb,OAAO,GACR,MAAM,SAAS,CAAA;AAEhB,sGAAsG;AACtG,qBAAa,WAAW,CACtB,SAAS,EACT,OAAO,EACP,OAAO,GAAG,OAAO,EACjB,MAAM,SAAS,SAAS,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,SAAS,CAAC,CAE1D,SAAQ,WAAW,CAAC,SAAS,EAAE,MAAM,CACrC,YAAW,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC;IAEvD;;;OAGG;IACH,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC;IAI3E;;;OAGG;IACH,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC;IAI3F;;;OAGG;IACH,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC;CAG7E"}
|
|
@@ -1,35 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BaseReadApi } from "./BaseReadApi.mjs";
|
|
2
2
|
|
|
3
3
|
//#region src/core/BaseCrudApi.ts
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
constructor(client, basePath) {
|
|
7
|
-
super(client);
|
|
8
|
-
this.basePath = basePath.replace(/\/$/, "");
|
|
9
|
-
}
|
|
10
|
-
getMany(query, headers) {
|
|
11
|
-
const queryString = this.toQueryString(query);
|
|
12
|
-
return this.client.get(`${this.basePath}${queryString}`, headers);
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* Returns the first resource matching the query, or `null` when none match.
|
|
16
|
-
* Convenience over `getMany` with `limit: 1`.
|
|
17
|
-
* @permissions $resourceName.view
|
|
18
|
-
*/
|
|
19
|
-
async getOne(query, headers) {
|
|
20
|
-
return (await this.getMany({
|
|
21
|
-
...query,
|
|
22
|
-
limit: 1,
|
|
23
|
-
paginate: false
|
|
24
|
-
}, headers))?.[0] ?? null;
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Returns a single resource by ID.
|
|
28
|
-
* @permissions $resourceName.view
|
|
29
|
-
*/
|
|
30
|
-
getById(id, query, headers) {
|
|
31
|
-
return this.client.get(`${this.basePath}/${id}${this.toQueryString(query)}`, headers);
|
|
32
|
-
}
|
|
4
|
+
/** Generic CRUD resource: the reads of `BaseReadApi` plus `create`, `updateById` and `deleteById`. */
|
|
5
|
+
var BaseCrudApi = class extends BaseReadApi {
|
|
33
6
|
/**
|
|
34
7
|
* Creates a new resource.
|
|
35
8
|
* @permissions $resourceName.create
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseCrudApi.mjs","names":[],"sources":["../../src/core/BaseCrudApi.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"BaseCrudApi.mjs","names":[],"sources":["../../src/core/BaseCrudApi.ts"],"sourcesContent":["import { BaseReadApi } from './BaseReadApi'\nimport type { CrudApi, ListQuery } from './types'\nexport type {\n WhereClause,\n IncludeItem,\n ListQuery,\n GetByIdQuery,\n Paginated,\n HasGetMany,\n HasGetById,\n HasCreate,\n HasUpdateById,\n HasDeleteById,\n CrudApi,\n} from './types'\n\n/** Generic CRUD resource: the reads of `BaseReadApi` plus `create`, `updateById` and `deleteById`. */\nexport class BaseCrudApi<\n TResponse,\n TCreate,\n TUpdate = TCreate,\n TQuery extends ListQuery<TResponse> = ListQuery<TResponse>,\n>\n extends BaseReadApi<TResponse, TQuery>\n implements CrudApi<TResponse, TCreate, TUpdate, TQuery>\n{\n /**\n * Creates a new resource.\n * @permissions $resourceName.create\n */\n create(body: TCreate, headers?: Record<string, string>): Promise<TResponse> {\n return this.client.post<TResponse, TCreate>(this.basePath, body, headers)\n }\n\n /**\n * Updates an existing resource by ID.\n * @permissions $resourceName.update\n */\n updateById(id: string, body: TUpdate, headers?: Record<string, string>): Promise<TResponse> {\n return this.client.put<TResponse, TUpdate>(`${this.basePath}/${id}`, body, headers)\n }\n\n /**\n * Deletes a resource by ID.\n * @permissions $resourceName.delete\n */\n deleteById(id: string, headers?: Record<string, string>): Promise<TResponse> {\n return this.client.delete<TResponse>(`${this.basePath}/${id}`, headers)\n }\n}\n"],"mappings":";;;;AAiBA,IAAa,cAAb,cAMU,YAEV;;;;;CAKE,OAAO,MAAe,SAAsD;AAC1E,SAAO,KAAK,OAAO,KAAyB,KAAK,UAAU,MAAM,QAAQ;;;;;;CAO3E,WAAW,IAAY,MAAe,SAAsD;AAC1F,SAAO,KAAK,OAAO,IAAwB,GAAG,KAAK,SAAS,GAAG,MAAM,MAAM,QAAQ;;;;;;CAOrF,WAAW,IAAY,SAAsD;AAC3E,SAAO,KAAK,OAAO,OAAkB,GAAG,KAAK,SAAS,GAAG,MAAM,QAAQ"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
2
|
+
const require_core_BaseApi = require('./BaseApi.cjs');
|
|
3
|
+
|
|
4
|
+
//#region src/core/BaseReadApi.ts
|
|
5
|
+
/**
|
|
6
|
+
* Generic read-only resource: `getMany`, `getOne` and `getById` under `basePath`. Base of
|
|
7
|
+
* `BaseCrudApi`, and of the resources the backend only serves for reading (e.g. permissions,
|
|
8
|
+
* auth history).
|
|
9
|
+
*/
|
|
10
|
+
var BaseReadApi = class extends require_core_BaseApi.BaseApi {
|
|
11
|
+
basePath;
|
|
12
|
+
constructor(client, basePath) {
|
|
13
|
+
super(client);
|
|
14
|
+
this.basePath = basePath.replace(/\/$/, "");
|
|
15
|
+
}
|
|
16
|
+
getMany(query, headers) {
|
|
17
|
+
const queryString = this.toQueryString(query);
|
|
18
|
+
return this.client.get(`${this.basePath}${queryString}`, headers);
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Returns the first resource matching the query, or `null` when none match.
|
|
22
|
+
* Convenience over `getMany` with `limit: 1`.
|
|
23
|
+
* @permissions $resourceName.view
|
|
24
|
+
*/
|
|
25
|
+
async getOne(query, headers) {
|
|
26
|
+
return (await this.getMany({
|
|
27
|
+
...query,
|
|
28
|
+
limit: 1,
|
|
29
|
+
paginate: false
|
|
30
|
+
}, headers))?.[0] ?? null;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Returns a single resource by ID. When it does not exist most routes answer 200 with an empty
|
|
34
|
+
* body, which resolves to `undefined`.
|
|
35
|
+
* @permissions $resourceName.view
|
|
36
|
+
*/
|
|
37
|
+
getById(id, query, headers) {
|
|
38
|
+
return this.client.get(`${this.basePath}/${id}${this.toQueryString(query)}`, headers);
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
//#endregion
|
|
43
|
+
exports.BaseReadApi = BaseReadApi;
|
|
44
|
+
//# sourceMappingURL=BaseReadApi.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseReadApi.cjs","names":["BaseApi"],"sources":["../../src/core/BaseReadApi.ts"],"sourcesContent":["import type { ApiClient } from './ApiClient'\nimport { BaseApi } from './BaseApi'\nimport type { GetByIdQuery, HasGetById, HasGetMany, ListQuery, Paginated } from './types'\n\n/**\n * Generic read-only resource: `getMany`, `getOne` and `getById` under `basePath`. Base of\n * `BaseCrudApi`, and of the resources the backend only serves for reading (e.g. permissions,\n * auth history).\n */\nexport class BaseReadApi<TResponse, TQuery extends ListQuery<TResponse> = ListQuery<TResponse>>\n extends BaseApi\n implements HasGetMany<TResponse, TQuery>, HasGetById<TResponse>\n{\n public readonly basePath: string\n\n constructor(client: ApiClient, basePath: string) {\n super(client)\n this.basePath = basePath.replace(/\\/$/, '')\n }\n\n getMany(\n query: TQuery & { paginate: false },\n headers?: Record<string, string>,\n ): Promise<TResponse[]>\n getMany(\n query?: TQuery & { paginate?: true },\n headers?: Record<string, string>,\n ): Promise<Paginated<TResponse>>\n getMany(\n query?: TQuery,\n headers?: Record<string, string>,\n ): Promise<Paginated<TResponse> | TResponse[]>\n getMany(\n query?: TQuery,\n headers?: Record<string, string>,\n ): Promise<Paginated<TResponse> | TResponse[]> {\n const queryString = this.toQueryString(query)\n return this.client.get<Paginated<TResponse> | TResponse[]>(\n `${this.basePath}${queryString}`,\n headers,\n )\n }\n\n /**\n * Returns the first resource matching the query, or `null` when none match.\n * Convenience over `getMany` with `limit: 1`.\n * @permissions $resourceName.view\n */\n async getOne(query?: TQuery, headers?: Record<string, string>): Promise<TResponse | null> {\n const results = await this.getMany(\n { ...query, limit: 1, paginate: false } as TQuery & { paginate: false },\n headers,\n )\n // An empty response body resolves to `undefined`.\n return results?.[0] ?? null\n }\n\n /**\n * Returns a single resource by ID. When it does not exist most routes answer 200 with an empty\n * body, which resolves to `undefined`.\n * @permissions $resourceName.view\n */\n getById(\n id: string,\n query?: GetByIdQuery<TResponse>,\n headers?: Record<string, string>,\n ): Promise<TResponse> {\n return this.client.get<TResponse>(`${this.basePath}/${id}${this.toQueryString(query)}`, headers)\n }\n}\n"],"mappings":";;;;;;;;;AASA,IAAa,cAAb,cACUA,6BAEV;CACE,AAAgB;CAEhB,YAAY,QAAmB,UAAkB;AAC/C,QAAM,OAAO;AACb,OAAK,WAAW,SAAS,QAAQ,OAAO,GAAG;;CAe7C,QACE,OACA,SAC6C;EAC7C,MAAM,cAAc,KAAK,cAAc,MAAM;AAC7C,SAAO,KAAK,OAAO,IACjB,GAAG,KAAK,WAAW,eACnB,QACD;;;;;;;CAQH,MAAM,OAAO,OAAgB,SAA6D;AAMxF,UALgB,MAAM,KAAK,QACzB;GAAE,GAAG;GAAO,OAAO;GAAG,UAAU;GAAO,EACvC,QACD,IAEgB,MAAM;;;;;;;CAQzB,QACE,IACA,OACA,SACoB;AACpB,SAAO,KAAK,OAAO,IAAe,GAAG,KAAK,SAAS,GAAG,KAAK,KAAK,cAAc,MAAM,IAAI,QAAQ"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { ApiClient } from './ApiClient';
|
|
2
|
+
import { BaseApi } from './BaseApi';
|
|
3
|
+
import type { GetByIdQuery, HasGetById, HasGetMany, ListQuery, Paginated } from './types';
|
|
4
|
+
/**
|
|
5
|
+
* Generic read-only resource: `getMany`, `getOne` and `getById` under `basePath`. Base of
|
|
6
|
+
* `BaseCrudApi`, and of the resources the backend only serves for reading (e.g. permissions,
|
|
7
|
+
* auth history).
|
|
8
|
+
*/
|
|
9
|
+
export declare class BaseReadApi<TResponse, TQuery extends ListQuery<TResponse> = ListQuery<TResponse>> extends BaseApi implements HasGetMany<TResponse, TQuery>, HasGetById<TResponse> {
|
|
10
|
+
readonly basePath: string;
|
|
11
|
+
constructor(client: ApiClient, basePath: string);
|
|
12
|
+
getMany(query: TQuery & {
|
|
13
|
+
paginate: false;
|
|
14
|
+
}, headers?: Record<string, string>): Promise<TResponse[]>;
|
|
15
|
+
getMany(query?: TQuery & {
|
|
16
|
+
paginate?: true;
|
|
17
|
+
}, headers?: Record<string, string>): Promise<Paginated<TResponse>>;
|
|
18
|
+
getMany(query?: TQuery, headers?: Record<string, string>): Promise<Paginated<TResponse> | TResponse[]>;
|
|
19
|
+
/**
|
|
20
|
+
* Returns the first resource matching the query, or `null` when none match.
|
|
21
|
+
* Convenience over `getMany` with `limit: 1`.
|
|
22
|
+
* @permissions $resourceName.view
|
|
23
|
+
*/
|
|
24
|
+
getOne(query?: TQuery, headers?: Record<string, string>): Promise<TResponse | null>;
|
|
25
|
+
/**
|
|
26
|
+
* Returns a single resource by ID. When it does not exist most routes answer 200 with an empty
|
|
27
|
+
* body, which resolves to `undefined`.
|
|
28
|
+
* @permissions $resourceName.view
|
|
29
|
+
*/
|
|
30
|
+
getById(id: string, query?: GetByIdQuery<TResponse>, headers?: Record<string, string>): Promise<TResponse>;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=BaseReadApi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseReadApi.d.ts","sourceRoot":"","sources":["../../src/core/BaseReadApi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAEzF;;;;GAIG;AACH,qBAAa,WAAW,CAAC,SAAS,EAAE,MAAM,SAAS,SAAS,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,SAAS,CAAC,CAC5F,SAAQ,OACR,YAAW,UAAU,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC;IAE/D,SAAgB,QAAQ,EAAE,MAAM,CAAA;gBAEpB,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM;IAK/C,OAAO,CACL,KAAK,EAAE,MAAM,GAAG;QAAE,QAAQ,EAAE,KAAK,CAAA;KAAE,EACnC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,OAAO,CAAC,SAAS,EAAE,CAAC;IACvB,OAAO,CACL,KAAK,CAAC,EAAE,MAAM,GAAG;QAAE,QAAQ,CAAC,EAAE,IAAI,CAAA;KAAE,EACpC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAChC,OAAO,CACL,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,SAAS,EAAE,CAAC;IAY9C;;;;OAIG;IACG,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IASzF;;;;OAIG;IACH,OAAO,CACL,EAAE,EAAE,MAAM,EACV,KAAK,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC,EAC/B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,OAAO,CAAC,SAAS,CAAC;CAGtB"}
|