@joymerrevent/porters-connect 0.19.1 → 0.20.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/CHANGELOG.md +70 -1
- package/README.md +2 -2
- package/dist/index.d.cts +164 -92
- package/dist/index.d.ts +164 -92
- package/dist/index.js +134 -10
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,72 @@
|
|
|
5
5
|
|
|
6
6
|
## [Unreleased]
|
|
7
7
|
|
|
8
|
+
## [0.20.0] - 2026-09-21
|
|
9
|
+
|
|
10
|
+
**PORTERS ヘルプセンターを再取得して見つかった、追いついていなかった変更 2 つを埋めた版**です。
|
|
11
|
+
破壊的変更はありません。
|
|
12
|
+
|
|
13
|
+
2026-06 以来はじめて出典を取り直したところ、**Department - Read API**(2025/03・Connect API 8.2.1)が
|
|
14
|
+
reference にも実装にも無く、**時分型**(2026/08・PORTERS 9.3.0)はライブラリが型として知らない
|
|
15
|
+
状態でした。前者はマスタ 5 種目として実装し、後者は型を増やさず変換関数で扱います([ADR-0086][adr86])。
|
|
16
|
+
|
|
17
|
+
### Added
|
|
18
|
+
|
|
19
|
+
- **Department マスタの Read(`t.department`)**。ユーザー部署型(Link)項目や `User.P_Department` が
|
|
20
|
+
指す部署を、Partition 単位で一覧できます([reference][ref-department])。
|
|
21
|
+
|
|
22
|
+
```ts
|
|
23
|
+
const t = porters.tenant(123);
|
|
24
|
+
const page = await t.department.search(); // { total, count, start, items }
|
|
25
|
+
for await (const d of t.department.searchAll()) {
|
|
26
|
+
d.P_Id;
|
|
27
|
+
d.P_Name;
|
|
28
|
+
d.P_Hidden;
|
|
29
|
+
d.P_SortNo;
|
|
30
|
+
d.P_RegistrationDate;
|
|
31
|
+
d.P_UpdateDate;
|
|
32
|
+
}
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
- **読み取り専用**。PORTERS に Write API はありません(お知らせ記事が「read のみ」と明記)。
|
|
36
|
+
- クエリは `field` / `count` / `start` だけ。`condition` / `get(id)` / `request_type` はありません
|
|
37
|
+
(出典が挙げないものは公開しない — 他のマスタと同じ)。
|
|
38
|
+
- **スコープは `user_r`** です。PORTERS は `department_r` を定義していません。
|
|
39
|
+
- `field` 省略時は 6 項目すべてを要求します(省略すると PORTERS は `P_Id` しか返さないため)。
|
|
40
|
+
Link 参照からは読めない `P_Hidden` / `P_SortNo` / 登録日 / 更新日も、ここでは読めます。
|
|
41
|
+
- 型は `Department` / `DepartmentPage` / `DepartmentSearchQuery` / `DepartmentResource` を公開します。
|
|
42
|
+
|
|
43
|
+
- **時分型(PORTERS 9.3.0)の項目を扱う変換関数 `decodeTimeOfDay` / `encodeTimeOfDay`**([ADR-0086][adr86])。
|
|
44
|
+
時分型は時刻だけ(`00:00`〜`47:59`)を持つカスタム項目ですが、API 上は年月日時分型と同じ
|
|
45
|
+
`DateTime`(Field Type 12)で、`1970/01/01` を基準日にした日時として運ばれます(`26:00` は
|
|
46
|
+
`1970/01/02 02:00:00`)。Field Read からも区別できないため、ライブラリは**型を増やさず**、時分型の
|
|
47
|
+
項目も `f.dateTime()` のまま宣言して ISO で読み書きします。基準日の規則は、その項目が時分型だと
|
|
48
|
+
知っているところで変換関数に任せます。
|
|
49
|
+
|
|
50
|
+
```ts
|
|
51
|
+
const job = await t.job.get(1);
|
|
52
|
+
const start =
|
|
53
|
+
job?.U_startTime == null ? null : decodeTimeOfDay(job.U_startTime); // "09:00"
|
|
54
|
+
await t.job.update(1, { U_startTime: encodeTimeOfDay("26:00") }); // → 1970/01/02 02:00:00
|
|
55
|
+
await t.job.search({
|
|
56
|
+
condition: { U_startTime: { ge: encodeTimeOfDay("15:00") } },
|
|
57
|
+
});
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
- `encodeTimeOfDay` は `"HH:mm"` / `"HH:mm:ss"`(00:00〜47:59)以外を `PortersConfigError`
|
|
61
|
+
(`category: "validation"`)で**送る前に**止めます(PORTERS の Code 103 / Code 100 を手前で)。
|
|
62
|
+
- `decodeTimeOfDay` は基準日以外の ISO を同じエラーで止めます(その項目はたぶん時分型ではない、
|
|
63
|
+
というヒント付き)。秒が `00` でなければ `"HH:mm:ss"` で保持します。
|
|
64
|
+
- 既存の型・宣言・読み書きは変わりません。変換を呼ぶかどうかは利用者の責務です。
|
|
65
|
+
|
|
66
|
+
### Changed
|
|
67
|
+
|
|
68
|
+
- **`generateFieldDecls` が Field Type 12 の行に注記を出すようになりました**
|
|
69
|
+
(`f.dateTime(), // FT-12: …`)。時分型は年月日時分型と同じ `12` で Field Read からは区別できないため、
|
|
70
|
+
宣言が生まれる場所で「時刻だけの項目なら変換関数を」と伝えます。
|
|
71
|
+
- 開発用のフェイクサーバー(npm には同梱しません)に `departments` オプションと `/v1/department` を
|
|
72
|
+
足しました。
|
|
73
|
+
|
|
8
74
|
## [0.19.1] - 2026-09-20
|
|
9
75
|
|
|
10
76
|
**定期レビューで見つけた 7 件を塞いだ版**です。破壊的変更はありません。公開 API の形は変わらず、
|
|
@@ -1129,7 +1195,8 @@ Attachment)あるのに、受け口の形が 3 つとも違っていました
|
|
|
1129
1195
|
[ref]: docs/usage/reference/README.md
|
|
1130
1196
|
[kac]: https://keepachangelog.com/en/1.1.0/
|
|
1131
1197
|
[semver]: https://semver.org/
|
|
1132
|
-
[unreleased]: https://github.com/Joymerrevent/porters-connect/compare/v0.
|
|
1198
|
+
[unreleased]: https://github.com/Joymerrevent/porters-connect/compare/v0.20.0...HEAD
|
|
1199
|
+
[0.20.0]: https://github.com/Joymerrevent/porters-connect/compare/v0.19.1...v0.20.0
|
|
1133
1200
|
[0.19.1]: https://github.com/Joymerrevent/porters-connect/compare/v0.19.0...v0.19.1
|
|
1134
1201
|
[0.19.0]: https://github.com/Joymerrevent/porters-connect/compare/v0.18.0...v0.19.0
|
|
1135
1202
|
[0.18.0]: https://github.com/Joymerrevent/porters-connect/compare/v0.17.0...v0.18.0
|
|
@@ -1162,3 +1229,5 @@ Attachment)あるのに、受け口の形が 3 つとも違っていました
|
|
|
1162
1229
|
[gh4]: https://github.com/advisories/GHSA-4mjr-xmp4-gh2g
|
|
1163
1230
|
[gh5]: https://github.com/advisories/GHSA-7w5x-hrqm-74c2
|
|
1164
1231
|
[fastcheck]: https://github.com/dubzzz/fast-check
|
|
1232
|
+
[adr86]: docs/adr/0086-time-of-day-fields.md
|
|
1233
|
+
[ref-department]: docs/usage/reference/resource-api/resources/department.md
|
package/README.md
CHANGED
|
@@ -21,7 +21,7 @@ XML レスポンスを型付きオブジェクトに変換し、独自仕様の
|
|
|
21
21
|
- **独自 OAuth を透過**:`code_direct` によるトークン取得・キャッシュ・更新を自動化。
|
|
22
22
|
- **上限内に自制する**:スロットリング・リトライ(指数バックオフ)・リクエストサイズガード内蔵。
|
|
23
23
|
- **日時は ISO 8601(UTC)に正規化**。業務タイムゾーン変換はしません(利用側の責務)。
|
|
24
|
-
- **PORTERS の全リソースに対応**:データ系 13 種 + Phase + マスタ Read
|
|
24
|
+
- **PORTERS の全リソースに対応**:データ系 13 種 + Phase + マスタ Read 5 種。
|
|
25
25
|
|
|
26
26
|
## 前提
|
|
27
27
|
|
|
@@ -87,7 +87,7 @@ console.log(page.total, page.items[0]?.P_Name);
|
|
|
87
87
|
| `t.opportunity` | 商談管理 | `t.phase` | フェーズ履歴 |
|
|
88
88
|
| `t.activity` | アクティビティ | | |
|
|
89
89
|
|
|
90
|
-
マスタ Read は `porters.partition` / `t.user` / `t.field` / `t.option` の
|
|
90
|
+
マスタ Read は `porters.partition` / `t.user` / `t.department` / `t.field` / `t.option` の 5 種(読み取り専用)。
|
|
91
91
|
|
|
92
92
|
**どのメソッドが呼べるかはリソースごとに違います**(`searchAll` が無いもの、先に `of()` で
|
|
93
93
|
束ねるものがあります)。一覧は[リソースと操作][docs-resources]、引数・戻り値・項目の一覧は
|
package/dist/index.d.cts
CHANGED
|
@@ -746,7 +746,7 @@ Bound extends WritableKeys<F> = never> = {
|
|
|
746
746
|
}[]): Promise<BulkWriteResult>;
|
|
747
747
|
};
|
|
748
748
|
|
|
749
|
-
declare const FIELDS$
|
|
749
|
+
declare const FIELDS$g: {
|
|
750
750
|
readonly P_Id: "System[Id]";
|
|
751
751
|
readonly P_Owner: "User";
|
|
752
752
|
readonly P_RegistrationDate: "System[DateTime]";
|
|
@@ -773,17 +773,17 @@ declare const FIELDS$f: {
|
|
|
773
773
|
};
|
|
774
774
|
declare const REQUIRED_ON_CREATE$b: readonly ["P_Owner"];
|
|
775
775
|
/** A decoded Candidate: known `P_` fields, each requested field `value | null`. */
|
|
776
|
-
type Candidate = ReadRecord<typeof FIELDS$
|
|
777
|
-
type CandidatePage = ResourcePage<typeof FIELDS$
|
|
778
|
-
type CandidateSearchQuery = SearchQuery<typeof FIELDS$
|
|
776
|
+
type Candidate = ReadRecord<typeof FIELDS$g>;
|
|
777
|
+
type CandidatePage = ResourcePage<typeof FIELDS$g>;
|
|
778
|
+
type CandidateSearchQuery = SearchQuery<typeof FIELDS$g>;
|
|
779
779
|
/** Fields for `create`: `P_Owner` is required; `P_Id` / system timestamps are not settable. */
|
|
780
|
-
type CandidateCreateInput = CreateInput<typeof FIELDS$
|
|
780
|
+
type CandidateCreateInput = CreateInput<typeof FIELDS$g, (typeof REQUIRED_ON_CREATE$b)[number]>;
|
|
781
781
|
/** Fields for `update`: all optional (`null` omits, `""` clears a text field). */
|
|
782
|
-
type CandidateUpdateInput = UpdateInput<typeof FIELDS$
|
|
782
|
+
type CandidateUpdateInput = UpdateInput<typeof FIELDS$g>;
|
|
783
783
|
/** The Candidate accessor; `C` is the declared custom-field catalog merged on (ADR-0023). */
|
|
784
|
-
type CandidateResource<C extends FieldCatalog = EmptyCatalog> = Resource<typeof FIELDS$
|
|
784
|
+
type CandidateResource<C extends FieldCatalog = EmptyCatalog> = Resource<typeof FIELDS$g & C, (typeof REQUIRED_ON_CREATE$b)[number]>;
|
|
785
785
|
|
|
786
|
-
declare const FIELDS$
|
|
786
|
+
declare const FIELDS$f: {
|
|
787
787
|
readonly P_Id: "System[Id]";
|
|
788
788
|
readonly P_Owner: "User";
|
|
789
789
|
readonly P_Client: "System[Reference]";
|
|
@@ -911,17 +911,17 @@ declare const REFERENCES$7: {
|
|
|
911
911
|
};
|
|
912
912
|
};
|
|
913
913
|
/** A decoded Job: known `P_` fields, each requested field `value | null`. */
|
|
914
|
-
type Job = ReadRecord<typeof FIELDS$
|
|
915
|
-
type JobPage = ResourcePage<typeof FIELDS$
|
|
916
|
-
type JobSearchQuery = SearchQuery<typeof FIELDS$
|
|
914
|
+
type Job = ReadRecord<typeof FIELDS$f>;
|
|
915
|
+
type JobPage = ResourcePage<typeof FIELDS$f>;
|
|
916
|
+
type JobSearchQuery = SearchQuery<typeof FIELDS$f, typeof REFERENCES$7>;
|
|
917
917
|
/** Fields for `create`: `P_Owner` required; `P_Id` / system timestamps are not settable. */
|
|
918
|
-
type JobCreateInput = CreateInput<typeof FIELDS$
|
|
918
|
+
type JobCreateInput = CreateInput<typeof FIELDS$f, (typeof REQUIRED_ON_CREATE$a)[number]>;
|
|
919
919
|
/** Fields for `update`: all optional (`null` omits, `""` clears a text field). */
|
|
920
|
-
type JobUpdateInput = UpdateInput<typeof FIELDS$
|
|
920
|
+
type JobUpdateInput = UpdateInput<typeof FIELDS$f>;
|
|
921
921
|
/** The Job accessor; `C` is the declared custom-field catalog merged on (ADR-0023). */
|
|
922
|
-
type JobResource<C extends FieldCatalog = EmptyCatalog> = Resource<typeof FIELDS$
|
|
922
|
+
type JobResource<C extends FieldCatalog = EmptyCatalog> = Resource<typeof FIELDS$f & C, (typeof REQUIRED_ON_CREATE$a)[number], typeof REFERENCES$7>;
|
|
923
923
|
|
|
924
|
-
declare const FIELDS$
|
|
924
|
+
declare const FIELDS$e: {
|
|
925
925
|
readonly P_Id: "System[Id]";
|
|
926
926
|
readonly P_Owner: "User";
|
|
927
927
|
readonly P_RegistrationDate: "System[DateTime]";
|
|
@@ -944,17 +944,17 @@ declare const FIELDS$d: {
|
|
|
944
944
|
};
|
|
945
945
|
declare const REQUIRED_ON_CREATE$9: readonly ["P_Owner"];
|
|
946
946
|
/** A decoded Client (company): known `P_` fields, each requested field `value | null`. */
|
|
947
|
-
type Client = ReadRecord<typeof FIELDS$
|
|
948
|
-
type ClientPage = ResourcePage<typeof FIELDS$
|
|
949
|
-
type ClientSearchQuery = SearchQuery<typeof FIELDS$
|
|
947
|
+
type Client = ReadRecord<typeof FIELDS$e>;
|
|
948
|
+
type ClientPage = ResourcePage<typeof FIELDS$e>;
|
|
949
|
+
type ClientSearchQuery = SearchQuery<typeof FIELDS$e>;
|
|
950
950
|
/** Fields for `create`: `P_Owner` required; `P_Id` / system timestamps are not settable. */
|
|
951
|
-
type ClientCreateInput = CreateInput<typeof FIELDS$
|
|
951
|
+
type ClientCreateInput = CreateInput<typeof FIELDS$e, (typeof REQUIRED_ON_CREATE$9)[number]>;
|
|
952
952
|
/** Fields for `update`: all optional (`null` omits, `""` clears a text field). */
|
|
953
|
-
type ClientUpdateInput = UpdateInput<typeof FIELDS$
|
|
953
|
+
type ClientUpdateInput = UpdateInput<typeof FIELDS$e>;
|
|
954
954
|
/** The Client accessor; `C` is the declared custom-field catalog merged on (ADR-0023). */
|
|
955
|
-
type ClientResource<C extends FieldCatalog = EmptyCatalog> = Resource<typeof FIELDS$
|
|
955
|
+
type ClientResource<C extends FieldCatalog = EmptyCatalog> = Resource<typeof FIELDS$e & C, (typeof REQUIRED_ON_CREATE$9)[number]>;
|
|
956
956
|
|
|
957
|
-
declare const FIELDS$
|
|
957
|
+
declare const FIELDS$d: {
|
|
958
958
|
readonly P_Id: "System[Id]";
|
|
959
959
|
readonly P_Owner: "User";
|
|
960
960
|
readonly P_Client: "System[Reference]";
|
|
@@ -1012,17 +1012,17 @@ declare const REFERENCES$6: {
|
|
|
1012
1012
|
};
|
|
1013
1013
|
};
|
|
1014
1014
|
/** A decoded Recruiter (a person at a client company): known `P_` fields, each `value | null`. */
|
|
1015
|
-
type Recruiter = ReadRecord<typeof FIELDS$
|
|
1016
|
-
type RecruiterPage = ResourcePage<typeof FIELDS$
|
|
1017
|
-
type RecruiterSearchQuery = SearchQuery<typeof FIELDS$
|
|
1015
|
+
type Recruiter = ReadRecord<typeof FIELDS$d>;
|
|
1016
|
+
type RecruiterPage = ResourcePage<typeof FIELDS$d>;
|
|
1017
|
+
type RecruiterSearchQuery = SearchQuery<typeof FIELDS$d, typeof REFERENCES$6>;
|
|
1018
1018
|
/** Fields for `create`: `P_Owner` / `P_Client` required; `P_Id` / system timestamps are not settable. */
|
|
1019
|
-
type RecruiterCreateInput = CreateInput<typeof FIELDS$
|
|
1019
|
+
type RecruiterCreateInput = CreateInput<typeof FIELDS$d, (typeof REQUIRED_ON_CREATE$8)[number]>;
|
|
1020
1020
|
/** Fields for `update`: all optional (`null` omits, `""` clears a text field). */
|
|
1021
|
-
type RecruiterUpdateInput = UpdateInput<typeof FIELDS$
|
|
1021
|
+
type RecruiterUpdateInput = UpdateInput<typeof FIELDS$d>;
|
|
1022
1022
|
/** The Recruiter accessor; `C` is the declared custom-field catalog merged on (ADR-0023). */
|
|
1023
|
-
type RecruiterResource<C extends FieldCatalog = EmptyCatalog> = Resource<typeof FIELDS$
|
|
1023
|
+
type RecruiterResource<C extends FieldCatalog = EmptyCatalog> = Resource<typeof FIELDS$d & C, (typeof REQUIRED_ON_CREATE$8)[number], typeof REFERENCES$6>;
|
|
1024
1024
|
|
|
1025
|
-
declare const FIELDS$
|
|
1025
|
+
declare const FIELDS$c: {
|
|
1026
1026
|
readonly P_Id: "System[Id]";
|
|
1027
1027
|
readonly P_Owner: "User";
|
|
1028
1028
|
readonly P_Client: "System[Reference]";
|
|
@@ -1080,17 +1080,17 @@ declare const REFERENCES$5: {
|
|
|
1080
1080
|
};
|
|
1081
1081
|
};
|
|
1082
1082
|
/** A decoded Contact (a contact person at a client company): known `P_` fields, each `value | null`. */
|
|
1083
|
-
type Contact = ReadRecord<typeof FIELDS$
|
|
1084
|
-
type ContactPage = ResourcePage<typeof FIELDS$
|
|
1085
|
-
type ContactSearchQuery = SearchQuery<typeof FIELDS$
|
|
1083
|
+
type Contact = ReadRecord<typeof FIELDS$c>;
|
|
1084
|
+
type ContactPage = ResourcePage<typeof FIELDS$c>;
|
|
1085
|
+
type ContactSearchQuery = SearchQuery<typeof FIELDS$c, typeof REFERENCES$5>;
|
|
1086
1086
|
/** Fields for `create`: `P_Owner` / `P_Client` required; `P_Id` / system timestamps are not settable. */
|
|
1087
|
-
type ContactCreateInput = CreateInput<typeof FIELDS$
|
|
1087
|
+
type ContactCreateInput = CreateInput<typeof FIELDS$c, (typeof REQUIRED_ON_CREATE$7)[number]>;
|
|
1088
1088
|
/** Fields for `update`: all optional (`null` omits, `""` clears a text field). */
|
|
1089
|
-
type ContactUpdateInput = UpdateInput<typeof FIELDS$
|
|
1089
|
+
type ContactUpdateInput = UpdateInput<typeof FIELDS$c>;
|
|
1090
1090
|
/** The Contact accessor; `C` is the declared custom-field catalog merged on (ADR-0023). */
|
|
1091
|
-
type ContactResource<C extends FieldCatalog = EmptyCatalog> = Resource<typeof FIELDS$
|
|
1091
|
+
type ContactResource<C extends FieldCatalog = EmptyCatalog> = Resource<typeof FIELDS$c & C, (typeof REQUIRED_ON_CREATE$7)[number], typeof REFERENCES$5>;
|
|
1092
1092
|
|
|
1093
|
-
declare const FIELDS$
|
|
1093
|
+
declare const FIELDS$b: {
|
|
1094
1094
|
readonly P_Id: "System[Id]";
|
|
1095
1095
|
readonly P_Owner: "User";
|
|
1096
1096
|
readonly P_Client: "System[Reference]";
|
|
@@ -1195,17 +1195,17 @@ declare const REFERENCES$4: {
|
|
|
1195
1195
|
};
|
|
1196
1196
|
};
|
|
1197
1197
|
/** A decoded Opportunity (a sales opportunity): known `P_` fields, each `value | null`. */
|
|
1198
|
-
type Opportunity = ReadRecord<typeof FIELDS$
|
|
1199
|
-
type OpportunityPage = ResourcePage<typeof FIELDS$
|
|
1200
|
-
type OpportunitySearchQuery = SearchQuery<typeof FIELDS$
|
|
1198
|
+
type Opportunity = ReadRecord<typeof FIELDS$b>;
|
|
1199
|
+
type OpportunityPage = ResourcePage<typeof FIELDS$b>;
|
|
1200
|
+
type OpportunitySearchQuery = SearchQuery<typeof FIELDS$b, typeof REFERENCES$4>;
|
|
1201
1201
|
/** Fields for `create`: owner and both references required; `P_Id` / timestamps are not settable. */
|
|
1202
|
-
type OpportunityCreateInput = CreateInput<typeof FIELDS$
|
|
1202
|
+
type OpportunityCreateInput = CreateInput<typeof FIELDS$b, (typeof REQUIRED_ON_CREATE$6)[number]>;
|
|
1203
1203
|
/** Fields for `update`: all optional (`null` omits, `""` clears a text field). */
|
|
1204
|
-
type OpportunityUpdateInput = UpdateInput<typeof FIELDS$
|
|
1204
|
+
type OpportunityUpdateInput = UpdateInput<typeof FIELDS$b>;
|
|
1205
1205
|
/** The Opportunity accessor; `C` is the declared custom-field catalog merged on (ADR-0023). */
|
|
1206
|
-
type OpportunityResource<C extends FieldCatalog = EmptyCatalog> = Resource<typeof FIELDS$
|
|
1206
|
+
type OpportunityResource<C extends FieldCatalog = EmptyCatalog> = Resource<typeof FIELDS$b & C, (typeof REQUIRED_ON_CREATE$6)[number], typeof REFERENCES$4>;
|
|
1207
1207
|
|
|
1208
|
-
declare const FIELDS$
|
|
1208
|
+
declare const FIELDS$a: {
|
|
1209
1209
|
readonly P_Id: "System[Id]";
|
|
1210
1210
|
readonly P_Owner: "User";
|
|
1211
1211
|
readonly P_Title: "SinglelineText";
|
|
@@ -1227,17 +1227,17 @@ declare const FIELDS$9: {
|
|
|
1227
1227
|
};
|
|
1228
1228
|
declare const REQUIRED_ON_CREATE$5: readonly ["P_Owner", "P_Title"];
|
|
1229
1229
|
/** A decoded Activity (an action logged against another record): known `P_` fields, each `value | null`. */
|
|
1230
|
-
type Activity = ReadRecord<typeof FIELDS$
|
|
1231
|
-
type ActivityPage = ResourcePage<typeof FIELDS$
|
|
1232
|
-
type ActivitySearchQuery = SearchQuery<typeof FIELDS$
|
|
1230
|
+
type Activity = ReadRecord<typeof FIELDS$a>;
|
|
1231
|
+
type ActivityPage = ResourcePage<typeof FIELDS$a>;
|
|
1232
|
+
type ActivitySearchQuery = SearchQuery<typeof FIELDS$a>;
|
|
1233
1233
|
/** Fields for `create`: `P_Owner` / `P_Title` required; `P_Id` / timestamps are not settable. */
|
|
1234
|
-
type ActivityCreateInput = CreateInput<typeof FIELDS$
|
|
1234
|
+
type ActivityCreateInput = CreateInput<typeof FIELDS$a, (typeof REQUIRED_ON_CREATE$5)[number]>;
|
|
1235
1235
|
/** Fields for `update`: all optional (`null` omits, `""` clears a text field). */
|
|
1236
|
-
type ActivityUpdateInput = UpdateInput<typeof FIELDS$
|
|
1236
|
+
type ActivityUpdateInput = UpdateInput<typeof FIELDS$a>;
|
|
1237
1237
|
/** The Activity accessor; `C` is the declared custom-field catalog merged on (ADR-0023). */
|
|
1238
|
-
type ActivityResource<C extends FieldCatalog = EmptyCatalog> = Resource<typeof FIELDS$
|
|
1238
|
+
type ActivityResource<C extends FieldCatalog = EmptyCatalog> = Resource<typeof FIELDS$a & C, (typeof REQUIRED_ON_CREATE$5)[number]>;
|
|
1239
1239
|
|
|
1240
|
-
declare const FIELDS$
|
|
1240
|
+
declare const FIELDS$9: {
|
|
1241
1241
|
readonly P_Id: "System[Id]";
|
|
1242
1242
|
readonly P_Client: "System[Reference]";
|
|
1243
1243
|
readonly P_RegistrationDate: "System[DateTime]";
|
|
@@ -1308,17 +1308,17 @@ declare const REFERENCES$3: {
|
|
|
1308
1308
|
};
|
|
1309
1309
|
};
|
|
1310
1310
|
/** A decoded Contract (an agreement with a client): known `P_` fields, each `value | null`. */
|
|
1311
|
-
type Contract = ReadRecord<typeof FIELDS$
|
|
1312
|
-
type ContractPage = ResourcePage<typeof FIELDS$
|
|
1313
|
-
type ContractSearchQuery = SearchQuery<typeof FIELDS$
|
|
1311
|
+
type Contract = ReadRecord<typeof FIELDS$9>;
|
|
1312
|
+
type ContractPage = ResourcePage<typeof FIELDS$9>;
|
|
1313
|
+
type ContractSearchQuery = SearchQuery<typeof FIELDS$9, typeof REFERENCES$3>;
|
|
1314
1314
|
/** Fields for `create`: only `P_Client` required (Contract has no owner field). */
|
|
1315
|
-
type ContractCreateInput = CreateInput<typeof FIELDS$
|
|
1315
|
+
type ContractCreateInput = CreateInput<typeof FIELDS$9, (typeof REQUIRED_ON_CREATE$4)[number]>;
|
|
1316
1316
|
/** Fields for `update`: all optional (`null` omits, `""` clears a text field). */
|
|
1317
|
-
type ContractUpdateInput = UpdateInput<typeof FIELDS$
|
|
1317
|
+
type ContractUpdateInput = UpdateInput<typeof FIELDS$9>;
|
|
1318
1318
|
/** The Contract accessor; `C` is the declared custom-field catalog merged on (ADR-0023). */
|
|
1319
|
-
type ContractResource<C extends FieldCatalog = EmptyCatalog> = Resource<typeof FIELDS$
|
|
1319
|
+
type ContractResource<C extends FieldCatalog = EmptyCatalog> = Resource<typeof FIELDS$9 & C, (typeof REQUIRED_ON_CREATE$4)[number], typeof REFERENCES$3>;
|
|
1320
1320
|
|
|
1321
|
-
declare const FIELDS$
|
|
1321
|
+
declare const FIELDS$8: {
|
|
1322
1322
|
readonly P_Id: "System[Id]";
|
|
1323
1323
|
readonly P_Owner: "User";
|
|
1324
1324
|
readonly P_Client: "System[Reference]";
|
|
@@ -1744,19 +1744,19 @@ declare const REFERENCES$2: {
|
|
|
1744
1744
|
};
|
|
1745
1745
|
};
|
|
1746
1746
|
/** A decoded Sales (a placement / revenue record): known `P_` fields, each `value | null`. */
|
|
1747
|
-
type Sales = ReadRecord<typeof FIELDS$
|
|
1748
|
-
type SalesPage = ResourcePage<typeof FIELDS$
|
|
1749
|
-
type SalesSearchQuery = SearchQuery<typeof FIELDS$
|
|
1747
|
+
type Sales = ReadRecord<typeof FIELDS$8>;
|
|
1748
|
+
type SalesPage = ResourcePage<typeof FIELDS$8>;
|
|
1749
|
+
type SalesSearchQuery = SearchQuery<typeof FIELDS$8, typeof REFERENCES$2>;
|
|
1750
1750
|
/**
|
|
1751
1751
|
* Fields for `create`: only `P_Owner` is unconditionally required. The six references are
|
|
1752
1752
|
* required *conditionally* (a dependency chain PORTERS validates server-side), so they stay
|
|
1753
1753
|
* optional here (ADR-0083) — see the module comment and docs/usage/concepts/limits.md.
|
|
1754
1754
|
*/
|
|
1755
|
-
type SalesCreateInput = CreateInput<typeof FIELDS$
|
|
1755
|
+
type SalesCreateInput = CreateInput<typeof FIELDS$8, (typeof REQUIRED_ON_CREATE$3)[number]>;
|
|
1756
1756
|
/** Fields for `update`: all optional (`null` omits, `""` clears a text field). */
|
|
1757
|
-
type SalesUpdateInput = UpdateInput<typeof FIELDS$
|
|
1757
|
+
type SalesUpdateInput = UpdateInput<typeof FIELDS$8>;
|
|
1758
1758
|
/** The Sales accessor; `C` is the declared custom-field catalog merged on (ADR-0023). */
|
|
1759
|
-
type SalesResource<C extends FieldCatalog = EmptyCatalog> = Resource<typeof FIELDS$
|
|
1759
|
+
type SalesResource<C extends FieldCatalog = EmptyCatalog> = Resource<typeof FIELDS$8 & C, (typeof REQUIRED_ON_CREATE$3)[number], typeof REFERENCES$2>;
|
|
1760
1760
|
|
|
1761
1761
|
/** Resource name -> the numeric id PORTERS uses for it (docs/usage/reference resources-list.md). */
|
|
1762
1762
|
declare const RESOURCE_VALUES: {
|
|
@@ -1809,7 +1809,7 @@ declare const resourceValueOf: (name: ResourceName) => number;
|
|
|
1809
1809
|
*/
|
|
1810
1810
|
declare const resourceNameOf: (value: number) => ResourceName | number;
|
|
1811
1811
|
|
|
1812
|
-
declare const FIELDS$
|
|
1812
|
+
declare const FIELDS$7: {
|
|
1813
1813
|
readonly Id: "System[Id]";
|
|
1814
1814
|
readonly Resource: "Number";
|
|
1815
1815
|
readonly ResourceId: "Number";
|
|
@@ -1830,27 +1830,27 @@ declare const FIELDS$6: {
|
|
|
1830
1830
|
};
|
|
1831
1831
|
declare const REQUIRED_ON_CREATE$2: readonly ["ResourceId"];
|
|
1832
1832
|
/** A decoded Phase entry: known aliases, each requested field `value | null`. */
|
|
1833
|
-
type Phase = ReadRecord<typeof FIELDS$
|
|
1834
|
-
type PhasePage = ResourcePage<typeof FIELDS$
|
|
1833
|
+
type Phase = ReadRecord<typeof FIELDS$7>;
|
|
1834
|
+
type PhasePage = ResourcePage<typeof FIELDS$7>;
|
|
1835
1835
|
type PhaseUnsupportedQuery = "keywords" | "itemstate";
|
|
1836
1836
|
/**
|
|
1837
1837
|
* Phase's Read query: the common vocabulary **minus `keywords` / `itemstate`**, which
|
|
1838
1838
|
* `Phase - Read` does not list (ADR-0076).
|
|
1839
1839
|
*/
|
|
1840
|
-
type PhaseSearchQuery = Omit<SearchQuery<typeof FIELDS$
|
|
1840
|
+
type PhaseSearchQuery = Omit<SearchQuery<typeof FIELDS$7>, PhaseUnsupportedQuery> & {
|
|
1841
1841
|
[K in PhaseUnsupportedQuery]?: never;
|
|
1842
1842
|
};
|
|
1843
1843
|
/** Fields for `create`: `ResourceId` required (`Id` and `Resource` are supplied for you). */
|
|
1844
|
-
type PhaseCreateInput = CreateInput<typeof FIELDS$
|
|
1844
|
+
type PhaseCreateInput = CreateInput<typeof FIELDS$7, (typeof REQUIRED_ON_CREATE$2)[number]>;
|
|
1845
1845
|
/** Fields for `update`: all optional (`null` omits, `""` clears a text field). */
|
|
1846
|
-
type PhaseUpdateInput = UpdateInput<typeof FIELDS$
|
|
1846
|
+
type PhaseUpdateInput = UpdateInput<typeof FIELDS$7>;
|
|
1847
1847
|
/**
|
|
1848
1848
|
* The Phase accessor for one bound resource — the same shape as every other resource, except that
|
|
1849
1849
|
* `search` / `searchAll` do not take `keywords` / `itemstate` (ADR-0076) and the write inputs do
|
|
1850
1850
|
* not take `Resource`: `of()` binds it, and supplying it again could only contradict the binding
|
|
1851
1851
|
* (RV-47).
|
|
1852
1852
|
*/
|
|
1853
|
-
type PhaseResource = Resource<typeof FIELDS$
|
|
1853
|
+
type PhaseResource = Resource<typeof FIELDS$7, (typeof REQUIRED_ON_CREATE$2)[number], EmptyReferences, PhaseUnsupportedQuery, "Resource">;
|
|
1854
1854
|
/**
|
|
1855
1855
|
* Phase is reached through the resource whose history you want (ADR-0061 案2a):
|
|
1856
1856
|
*
|
|
@@ -1866,7 +1866,7 @@ type PhaseAccessor = {
|
|
|
1866
1866
|
of(resource: ResourceName): PhaseResource;
|
|
1867
1867
|
};
|
|
1868
1868
|
|
|
1869
|
-
declare const FIELDS$
|
|
1869
|
+
declare const FIELDS$6: {
|
|
1870
1870
|
readonly P_Id: "System[Id]";
|
|
1871
1871
|
readonly P_Owner: "User";
|
|
1872
1872
|
readonly P_Client: "System[Reference]";
|
|
@@ -2210,17 +2210,17 @@ declare const REFERENCES$1: {
|
|
|
2210
2210
|
};
|
|
2211
2211
|
/** A decoded Process (a Candidate's progress through a Job): known `P_` fields, each
|
|
2212
2212
|
* requested field `value | null`. */
|
|
2213
|
-
type Process = ReadRecord<typeof FIELDS$
|
|
2214
|
-
type ProcessPage = ResourcePage<typeof FIELDS$
|
|
2215
|
-
type ProcessSearchQuery = SearchQuery<typeof FIELDS$
|
|
2213
|
+
type Process = ReadRecord<typeof FIELDS$6>;
|
|
2214
|
+
type ProcessPage = ResourcePage<typeof FIELDS$6>;
|
|
2215
|
+
type ProcessSearchQuery = SearchQuery<typeof FIELDS$6, typeof REFERENCES$1>;
|
|
2216
2216
|
/** Fields for `create`: `P_Owner` required; `P_Id` / system timestamps are not settable. */
|
|
2217
|
-
type ProcessCreateInput = CreateInput<typeof FIELDS$
|
|
2217
|
+
type ProcessCreateInput = CreateInput<typeof FIELDS$6, (typeof REQUIRED_ON_CREATE$1)[number]>;
|
|
2218
2218
|
/** Fields for `update`: all optional (`null` omits, `""` clears a text field). */
|
|
2219
|
-
type ProcessUpdateInput = UpdateInput<typeof FIELDS$
|
|
2219
|
+
type ProcessUpdateInput = UpdateInput<typeof FIELDS$6>;
|
|
2220
2220
|
/** The Process accessor; `C` is the declared custom-field catalog merged on (ADR-0023). */
|
|
2221
|
-
type ProcessResource<C extends FieldCatalog = EmptyCatalog> = Resource<typeof FIELDS$
|
|
2221
|
+
type ProcessResource<C extends FieldCatalog = EmptyCatalog> = Resource<typeof FIELDS$6 & C, (typeof REQUIRED_ON_CREATE$1)[number], typeof REFERENCES$1>;
|
|
2222
2222
|
|
|
2223
|
-
declare const FIELDS$
|
|
2223
|
+
declare const FIELDS$5: {
|
|
2224
2224
|
readonly P_Id: "System[Id]";
|
|
2225
2225
|
readonly P_Owner: "User";
|
|
2226
2226
|
readonly P_Candidate: "System[Reference]";
|
|
@@ -2288,15 +2288,15 @@ declare const REFERENCES: {
|
|
|
2288
2288
|
};
|
|
2289
2289
|
/** A decoded Resume (a Candidate's CV / profile): known `P_` fields, each requested field
|
|
2290
2290
|
* `value | null`. */
|
|
2291
|
-
type Resume = ReadRecord<typeof FIELDS$
|
|
2292
|
-
type ResumePage = ResourcePage<typeof FIELDS$
|
|
2293
|
-
type ResumeSearchQuery = SearchQuery<typeof FIELDS$
|
|
2291
|
+
type Resume = ReadRecord<typeof FIELDS$5>;
|
|
2292
|
+
type ResumePage = ResourcePage<typeof FIELDS$5>;
|
|
2293
|
+
type ResumeSearchQuery = SearchQuery<typeof FIELDS$5, typeof REFERENCES>;
|
|
2294
2294
|
/** Fields for `create`: `P_Owner` required; `P_Id` / system timestamps are not settable. */
|
|
2295
|
-
type ResumeCreateInput = CreateInput<typeof FIELDS$
|
|
2295
|
+
type ResumeCreateInput = CreateInput<typeof FIELDS$5, (typeof REQUIRED_ON_CREATE)[number]>;
|
|
2296
2296
|
/** Fields for `update`: all optional (`null` omits, `""` clears a text field). */
|
|
2297
|
-
type ResumeUpdateInput = UpdateInput<typeof FIELDS$
|
|
2297
|
+
type ResumeUpdateInput = UpdateInput<typeof FIELDS$5>;
|
|
2298
2298
|
/** The Resume accessor; `C` is the declared custom-field catalog merged on (ADR-0023). */
|
|
2299
|
-
type ResumeResource<C extends FieldCatalog = EmptyCatalog> = Resource<typeof FIELDS$
|
|
2299
|
+
type ResumeResource<C extends FieldCatalog = EmptyCatalog> = Resource<typeof FIELDS$5 & C, (typeof REQUIRED_ON_CREATE)[number], typeof REFERENCES>;
|
|
2300
2300
|
|
|
2301
2301
|
/** A decoded Attachment. A field is `null` unless it was returned (see `field`). */
|
|
2302
2302
|
type Attachment = {
|
|
@@ -2379,14 +2379,14 @@ type AttachmentResource = {
|
|
|
2379
2379
|
update(id: number, input: AttachmentUpdate): Promise<number>;
|
|
2380
2380
|
};
|
|
2381
2381
|
|
|
2382
|
-
declare const FIELDS$
|
|
2382
|
+
declare const FIELDS$4: {
|
|
2383
2383
|
readonly P_Id: "System[Id]";
|
|
2384
2384
|
readonly P_Name: "SinglelineText";
|
|
2385
2385
|
readonly P_CompanyId: "SinglelineText";
|
|
2386
2386
|
};
|
|
2387
2387
|
/** A decoded Partition (a PORTERS contract company / Company DB). */
|
|
2388
|
-
type Partition = ReadRecord<typeof FIELDS$
|
|
2389
|
-
type PartitionPage = ResourcePage<typeof FIELDS$
|
|
2388
|
+
type Partition = ReadRecord<typeof FIELDS$4>;
|
|
2389
|
+
type PartitionPage = ResourcePage<typeof FIELDS$4>;
|
|
2390
2390
|
/** Partition Read query. `requestType` 1 = partitions this App can access (default). */
|
|
2391
2391
|
type PartitionSearchQuery = {
|
|
2392
2392
|
/** 1 = accessible partitions (default). 0 = login partition (browser `code` grant only). */
|
|
@@ -2400,7 +2400,7 @@ type PartitionResource = {
|
|
|
2400
2400
|
searchAll(query?: Omit<PartitionSearchQuery, "count" | "start">): AsyncIterable<Partition>;
|
|
2401
2401
|
};
|
|
2402
2402
|
|
|
2403
|
-
declare const FIELDS$
|
|
2403
|
+
declare const FIELDS$3: {
|
|
2404
2404
|
readonly P_Id: "System[Id]";
|
|
2405
2405
|
readonly P_Type: "Number";
|
|
2406
2406
|
readonly P_Name: "SinglelineText";
|
|
@@ -2420,8 +2420,8 @@ declare const FIELDS$2: {
|
|
|
2420
2420
|
readonly P_UpdatedBy: "User";
|
|
2421
2421
|
};
|
|
2422
2422
|
/** A decoded User (PORTERS operator). `P_Type`: 0 = standard user, 1 = system admin. */
|
|
2423
|
-
type User = ReadRecord<typeof FIELDS$
|
|
2424
|
-
type UserPage = ResourcePage<typeof FIELDS$
|
|
2423
|
+
type User = ReadRecord<typeof FIELDS$3>;
|
|
2424
|
+
type UserPage = ResourcePage<typeof FIELDS$3>;
|
|
2425
2425
|
/** User Read query. `requestType` 1 = all users (default); `userType` -1 = any (default). */
|
|
2426
2426
|
type UserSearchQuery = {
|
|
2427
2427
|
/** 1 = all users (default). 0 = the current user (code_direct → the App's own user). */
|
|
@@ -2434,7 +2434,7 @@ type UserSearchQuery = {
|
|
|
2434
2434
|
* (department / telephone / dates) are not interesting. Pass `[]` for PORTERS' own default —
|
|
2435
2435
|
* the 4 core fields it returns for a fieldless read.
|
|
2436
2436
|
*/
|
|
2437
|
-
field?: ReadFieldAlias<typeof FIELDS$
|
|
2437
|
+
field?: ReadFieldAlias<typeof FIELDS$3>[];
|
|
2438
2438
|
count?: number;
|
|
2439
2439
|
start?: number;
|
|
2440
2440
|
};
|
|
@@ -2450,6 +2450,34 @@ type UserResource = {
|
|
|
2450
2450
|
current(): Promise<User | undefined>;
|
|
2451
2451
|
};
|
|
2452
2452
|
|
|
2453
|
+
declare const FIELDS$2: {
|
|
2454
|
+
readonly P_Id: "System[Id]";
|
|
2455
|
+
readonly P_Name: "SinglelineText";
|
|
2456
|
+
readonly P_Hidden: "Number";
|
|
2457
|
+
readonly P_SortNo: "Number";
|
|
2458
|
+
readonly P_RegistrationDate: "System[DateTime]";
|
|
2459
|
+
readonly P_UpdateDate: "System[DateTime]";
|
|
2460
|
+
};
|
|
2461
|
+
/** A decoded Department (a PORTERS user department). `P_Hidden`: 0 = shown, 1 = hidden. */
|
|
2462
|
+
type Department = ReadRecord<typeof FIELDS$2>;
|
|
2463
|
+
type DepartmentPage = ResourcePage<typeof FIELDS$2>;
|
|
2464
|
+
/** Department Read query. The API takes no filter: every department of the partition is listed. */
|
|
2465
|
+
type DepartmentSearchQuery = {
|
|
2466
|
+
/**
|
|
2467
|
+
* Output fields as **bare aliases** (`P_Name`); the library adds the `Department.` prefix
|
|
2468
|
+
* (ADR-0059). **Omit** to fetch every catalogued field (ADR-0020). Pass `[]` for PORTERS' own
|
|
2469
|
+
* default — `P_Id` alone, which is what a fieldless read returns.
|
|
2470
|
+
*/
|
|
2471
|
+
field?: ReadFieldAlias<typeof FIELDS$2>[];
|
|
2472
|
+
count?: number;
|
|
2473
|
+
start?: number;
|
|
2474
|
+
};
|
|
2475
|
+
type DepartmentResource = {
|
|
2476
|
+
search(query?: DepartmentSearchQuery): Promise<DepartmentPage>;
|
|
2477
|
+
/** Auto-paginating search: yields every department of the partition. */
|
|
2478
|
+
searchAll(query?: Omit<DepartmentSearchQuery, "count" | "start">): AsyncIterable<Department>;
|
|
2479
|
+
};
|
|
2480
|
+
|
|
2453
2481
|
/**
|
|
2454
2482
|
* A resource whose field catalog can be read (Field Read `resource` selector).
|
|
2455
2483
|
*
|
|
@@ -2890,6 +2918,12 @@ type TenantScope<C extends DeclaredCatalogs = EmptyCatalog> = {
|
|
|
2890
2918
|
*/
|
|
2891
2919
|
readonly attachment: AttachmentAccessor;
|
|
2892
2920
|
readonly user: UserResource;
|
|
2921
|
+
/**
|
|
2922
|
+
* Department master Read (Connect API 8.2.1+): the user departments a department-typed Link field
|
|
2923
|
+
* or `User.P_Department` points at. Read-only, listed whole — no filter, no `get(id)`. Covered
|
|
2924
|
+
* by the `user_r` scope (PORTERS defines no `department_r`).
|
|
2925
|
+
*/
|
|
2926
|
+
readonly department: DepartmentResource;
|
|
2893
2927
|
/**
|
|
2894
2928
|
* Field master Read, reached through the resource whose catalog you want:
|
|
2895
2929
|
* `t.field.of("candidate")`. PORTERS requires `resource=` on every Field Read, so it is bound
|
|
@@ -3003,4 +3037,42 @@ declare const bytesToBase64: (bytes: Uint8Array) => string;
|
|
|
3003
3037
|
/** Decode a Base64 string back to raw bytes. */
|
|
3004
3038
|
declare const base64ToBytes: (b64: string) => Uint8Array;
|
|
3005
3039
|
|
|
3006
|
-
|
|
3040
|
+
/**
|
|
3041
|
+
* Read a **time-of-day** (時分型) field's value as a clock time.
|
|
3042
|
+
*
|
|
3043
|
+
* PORTERS stores a time-of-day field as a DateTime anchored to 1970/01/01 (`24:00`–`47:59` land on
|
|
3044
|
+
* 1970/01/02) and Field Read cannot tell it from a date-time field (ADR-0086). Read the field as
|
|
3045
|
+
* usual — it decodes to ISO — and pass that ISO string here to get the clock time back:
|
|
3046
|
+
* `"1970-01-01T09:00:00Z"` → `"09:00"`, `"1970-01-02T02:00:00Z"` → `"26:00"`.
|
|
3047
|
+
*
|
|
3048
|
+
* Seconds are kept when they are not `00` (`"09:00:30"`) — PORTERS' UI takes hours and minutes
|
|
3049
|
+
* only, but the wire format carries seconds, and dropping them would lose data silently.
|
|
3050
|
+
*
|
|
3051
|
+
* @throws PortersConfigError (`category: "validation"`) when the value is not an ISO date-time on
|
|
3052
|
+
* 1970-01-01 / 1970-01-02 — which usually means the field is a date-time, not a time-of-day.
|
|
3053
|
+
* @example
|
|
3054
|
+
* // doccheck: fields
|
|
3055
|
+
* const job = await t.job.get(1);
|
|
3056
|
+
* const start = job?.U_startTime == null ? null : decodeTimeOfDay(job.U_startTime); // "09:00"
|
|
3057
|
+
*/
|
|
3058
|
+
declare const decodeTimeOfDay: (iso: string) => string;
|
|
3059
|
+
/**
|
|
3060
|
+
* Write (or search on) a **time-of-day** (時分型) field from a clock time.
|
|
3061
|
+
*
|
|
3062
|
+
* Turns `"HH:mm"` / `"HH:mm:ss"` (`00:00`–`47:59`, PORTERS' own range) into the anchored ISO
|
|
3063
|
+
* date-time the field takes — `"09:00"` → `"1970-01-01T09:00:00Z"`, `"26:00"` →
|
|
3064
|
+
* `"1970-01-02T02:00:00Z"` — so the value goes through `update` / `create` / `condition` like any
|
|
3065
|
+
* DateTime (ADR-0086). PORTERS answers any other date with Code 103 on write and Code 100 on
|
|
3066
|
+
* condition (the search is not run), so an out-of-range or malformed clock time is refused here,
|
|
3067
|
+
* before anything is sent.
|
|
3068
|
+
*
|
|
3069
|
+
* @throws PortersConfigError (`category: "validation"`) unless the value is `HH:mm` or `HH:mm:ss`
|
|
3070
|
+
* with hours 00–47 and minutes / seconds 00–59.
|
|
3071
|
+
* @example
|
|
3072
|
+
* // doccheck: fields
|
|
3073
|
+
* await t.job.update(1, { U_startTime: encodeTimeOfDay("26:00") });
|
|
3074
|
+
* await t.job.search({ condition: { U_startTime: { ge: encodeTimeOfDay("15:00") } } });
|
|
3075
|
+
*/
|
|
3076
|
+
declare const encodeTimeOfDay: (time: string) => string;
|
|
3077
|
+
|
|
3078
|
+
export { type Activity, type ActivityCreateInput, type ActivityPage, type ActivityResource, type ActivitySearchQuery, type ActivityUpdateInput, type Attachment, type AttachmentAccessor, type AttachmentCreate, type AttachmentPage, type AttachmentResource, type AttachmentSearchQuery, type AttachmentUpdate, type AttachmentWalkQuery, type AuthApi, type AuthorizationUrlOptions, type BulkWriteResult, type BulkWriteResultItem, type Candidate, type CandidateCreateInput, type CandidatePage, type CandidateResource, type CandidateSearchQuery, type CandidateUpdateInput, type Client, type ClientCreateInput, type ClientPage, type ClientResource, type ClientSearchQuery, type ClientUpdateInput, type Condition, type Contact, type ContactCreateInput, type ContactPage, type ContactResource, type ContactSearchQuery, type ContactUpdateInput, type Contract, type ContractCreateInput, type ContractPage, type ContractResource, type ContractSearchQuery, type ContractUpdateInput, type CustomDataType, type CustomFieldResource, type CustomFor, type DeclaredCatalogs, type DefinedFields, type Department, type DepartmentPage, type DepartmentRef, type DepartmentResource, type DepartmentSearchQuery, type ErrorCategory, type Expand, type ExpandedReadRecord, type FetchTransportOptions, type Field, type FieldAccessor, type FieldBuilder, type FieldCatalogSource, type FieldDecls, type FieldDef, type FieldPage, type FieldResource, type FieldSearchQuery, type FieldTypeMismatch, type FieldValue, type FieldVerification, type GenerateFieldDeclsOptions, type GetAccessTokenOptions, type ImageContentType, type ImageOption, type ImageReadRecord, type ImageSelectedValue, type ImageSubField, type ImageValue, type ImageWriteValue, type ItemState, type Job, type JobCreateInput, type JobPage, type JobResource, type JobSearchQuery, type JobUpdateInput, type LinkValue, type MissingField, type MockHandler, type MockReply, type MockTransportOptions, type Opportunity, type OpportunityCreateInput, type OpportunityPage, type OpportunityResource, type OpportunitySearchQuery, type OpportunityUpdateInput, type Option, type OptionResource, type OptionSearchQuery, type Order, type Partition, type PartitionId, type PartitionPage, type PartitionResource, type PartitionSearchQuery, type Phase, type PhaseAccessor, type PhaseCreateInput, type PhasePage, type PhaseResource, type PhaseSearchQuery, type PhaseUpdateInput, PortersAuthError, PortersClient, type PortersClientOptions, PortersConfigError, PortersError, type PortersErrorContext, type PortersErrorOptions, PortersNetworkError, PortersResourceError, type Process, type ProcessCreateInput, type ProcessPage, type ProcessResource, type ProcessSearchQuery, type ProcessUpdateInput, type ReadCustomCatalogOptions, type ReadFieldAlias, type Recruiter, type RecruiterCreateInput, type RecruiterPage, type RecruiterResource, type RecruiterSearchQuery, type RecruiterUpdateInput, type ReferenceMap, type ReferenceRecord, type ResourceName, type ResourcePageOf, type ResourceType, type Resume, type ResumeCreateInput, type ResumePage, type ResumeResource, type ResumeSearchQuery, type ResumeUpdateInput, type RevokeUrlOptions, type Sales, type SalesCreateInput, type SalesPage, type SalesResource, type SalesSearchQuery, type SalesUpdateInput, type Scheme, type Scope, type SearchQuery, type StoredTokens, type TenantCustomCatalog, type TenantScope, type Throttle, type ThrottleOptions, type TokenProvider, type TokenStore, type Transport, type TransportRequest, type TransportResponse, type UndeclarableField, type UndeclarableReason, type UndeclarableTenantField, type UndeclaredField, type UnverifiableResource, type User, type UserPage, type UserRef, type UserResource, type UserSearchQuery, type VerifyFieldsOptions, assertFieldsMatch, base64ToBytes, bytesToBase64, createFetchTransport, createMockTransport, createThrottle, decodeTimeOfDay, defineFields, encodeTimeOfDay, generateFieldDecls, rawValue, readCustomCatalog, resourceNameOf, resourceValueOf, verifyFields };
|