@knpkv/clockify-api-client 1.0.0 → 1.0.1

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 CHANGED
@@ -1,5 +1,24 @@
1
1
  # @knpkv/clockify-api-client
2
2
 
3
+ ## 1.0.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [#249](https://github.com/knpkv/npm/pull/249) [`5a61061`](https://github.com/knpkv/npm/commit/5a610619cef7609148b396d9248924422138221b) Thanks [@konopkov](https://github.com/konopkov)! - Fix `jcf` commands failing to decode Clockify time-entry responses when optional
8
+ fields come back as explicit `null`:
9
+
10
+ - `jcf timer start` failed with `Expected string, got null at ["kioskId"]` —
11
+ Clockify returns `kioskId`, `projectId`, and `taskId` as `null` (not absent).
12
+ - `jcf sync reconcile` failed with `Expected array, got null at [0]["tagIds"]` —
13
+ Clockify returns `tagIds` as `null` for entries with no tags.
14
+
15
+ Patch the OpenAPI spec so those fields decode as nullable across the time-entry
16
+ response schemas (`TimeEntryDtoImplV1`, `TimeEntryDtoV1`,
17
+ `TimeEntryWithRatesDtoV1`) and regenerate the client.
18
+
19
+ Also stop `jcf timer start` from printing a misleading `Timer started` line
20
+ after the start actually failed.
21
+
3
22
  ## 1.0.0
4
23
 
5
24
  ### Major Changes
@@ -3170,10 +3170,10 @@ export type TimeEntryDtoImplV1 = {
3170
3170
  readonly "description": string;
3171
3171
  readonly "id": string;
3172
3172
  readonly "isLocked"?: boolean;
3173
- readonly "kioskId"?: string;
3174
- readonly "projectId"?: string;
3175
- readonly "tagIds"?: ReadonlyArray<string>;
3176
- readonly "taskId"?: string;
3173
+ readonly "kioskId"?: string | null;
3174
+ readonly "projectId"?: string | null;
3175
+ readonly "tagIds"?: ReadonlyArray<string> | null;
3176
+ readonly "taskId"?: string | null;
3177
3177
  readonly "timeInterval": TimeIntervalDtoV1;
3178
3178
  readonly "type"?: "REGULAR" | "BREAK" | "HOLIDAY" | "TIME_OFF";
3179
3179
  readonly "userId": string;
@@ -3191,10 +3191,10 @@ export declare const TimeEntryDtoImplV1: Schema.Struct<{
3191
3191
  readonly description: Schema.String;
3192
3192
  readonly id: Schema.String;
3193
3193
  readonly isLocked: Schema.optionalKey<Schema.Boolean>;
3194
- readonly kioskId: Schema.optionalKey<Schema.String>;
3195
- readonly projectId: Schema.optionalKey<Schema.String>;
3196
- readonly tagIds: Schema.optionalKey<Schema.$Array<Schema.String>>;
3197
- readonly taskId: Schema.optionalKey<Schema.String>;
3194
+ readonly kioskId: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
3195
+ readonly projectId: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
3196
+ readonly tagIds: Schema.optionalKey<Schema.Union<readonly [Schema.$Array<Schema.String>, Schema.Null]>>;
3197
+ readonly taskId: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
3198
3198
  readonly timeInterval: Schema.Struct<{
3199
3199
  readonly duration: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
3200
3200
  readonly end: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
@@ -3210,10 +3210,10 @@ export type TimeEntryDtoV1 = {
3210
3210
  readonly "description"?: string;
3211
3211
  readonly "id"?: string;
3212
3212
  readonly "isLocked"?: boolean;
3213
- readonly "kioskId"?: string;
3214
- readonly "projectId"?: string;
3215
- readonly "tagIds"?: ReadonlyArray<string>;
3216
- readonly "taskId"?: string;
3213
+ readonly "kioskId"?: string | null;
3214
+ readonly "projectId"?: string | null;
3215
+ readonly "tagIds"?: ReadonlyArray<string> | null;
3216
+ readonly "taskId"?: string | null;
3217
3217
  readonly "timeInterval"?: TimeIntervalDtoV1;
3218
3218
  readonly "type"?: "REGULAR" | "BREAK" | "HOLIDAY" | "TIME_OFF";
3219
3219
  readonly "userId"?: string;
@@ -3231,10 +3231,10 @@ export declare const TimeEntryDtoV1: Schema.Struct<{
3231
3231
  readonly description: Schema.optionalKey<Schema.String>;
3232
3232
  readonly id: Schema.optionalKey<Schema.String>;
3233
3233
  readonly isLocked: Schema.optionalKey<Schema.Boolean>;
3234
- readonly kioskId: Schema.optionalKey<Schema.String>;
3235
- readonly projectId: Schema.optionalKey<Schema.String>;
3236
- readonly tagIds: Schema.optionalKey<Schema.$Array<Schema.String>>;
3237
- readonly taskId: Schema.optionalKey<Schema.String>;
3234
+ readonly kioskId: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
3235
+ readonly projectId: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
3236
+ readonly tagIds: Schema.optionalKey<Schema.Union<readonly [Schema.$Array<Schema.String>, Schema.Null]>>;
3237
+ readonly taskId: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
3238
3238
  readonly timeInterval: Schema.optionalKey<Schema.Struct<{
3239
3239
  readonly duration: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
3240
3240
  readonly end: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
@@ -3252,10 +3252,10 @@ export type TimeEntryWithRatesDtoV1 = {
3252
3252
  readonly "hourlyRate"?: RateDtoV1;
3253
3253
  readonly "id": string;
3254
3254
  readonly "isLocked"?: boolean;
3255
- readonly "kioskId"?: string;
3256
- readonly "projectId"?: string;
3257
- readonly "tagIds"?: ReadonlyArray<string>;
3258
- readonly "taskId"?: string;
3255
+ readonly "kioskId"?: string | null;
3256
+ readonly "projectId"?: string | null;
3257
+ readonly "tagIds"?: ReadonlyArray<string> | null;
3258
+ readonly "taskId"?: string | null;
3259
3259
  readonly "timeInterval": TimeIntervalDtoV1;
3260
3260
  readonly "type"?: "REGULAR" | "BREAK" | "HOLIDAY" | "TIME_OFF";
3261
3261
  readonly "userId": string;
@@ -3281,10 +3281,10 @@ export declare const TimeEntryWithRatesDtoV1: Schema.Struct<{
3281
3281
  }>>;
3282
3282
  readonly id: Schema.String;
3283
3283
  readonly isLocked: Schema.optionalKey<Schema.Boolean>;
3284
- readonly kioskId: Schema.optionalKey<Schema.String>;
3285
- readonly projectId: Schema.optionalKey<Schema.String>;
3286
- readonly tagIds: Schema.optionalKey<Schema.$Array<Schema.String>>;
3287
- readonly taskId: Schema.optionalKey<Schema.String>;
3284
+ readonly kioskId: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
3285
+ readonly projectId: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
3286
+ readonly tagIds: Schema.optionalKey<Schema.Union<readonly [Schema.$Array<Schema.String>, Schema.Null]>>;
3287
+ readonly taskId: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
3288
3288
  readonly timeInterval: Schema.Struct<{
3289
3289
  readonly duration: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
3290
3290
  readonly end: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
@@ -10476,10 +10476,10 @@ export declare const CreateTimeEntry201: Schema.Struct<{
10476
10476
  readonly description: Schema.String;
10477
10477
  readonly id: Schema.String;
10478
10478
  readonly isLocked: Schema.optionalKey<Schema.Boolean>;
10479
- readonly kioskId: Schema.optionalKey<Schema.String>;
10480
- readonly projectId: Schema.optionalKey<Schema.String>;
10481
- readonly tagIds: Schema.optionalKey<Schema.$Array<Schema.String>>;
10482
- readonly taskId: Schema.optionalKey<Schema.String>;
10479
+ readonly kioskId: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
10480
+ readonly projectId: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
10481
+ readonly tagIds: Schema.optionalKey<Schema.Union<readonly [Schema.$Array<Schema.String>, Schema.Null]>>;
10482
+ readonly taskId: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
10483
10483
  readonly timeInterval: Schema.Struct<{
10484
10484
  readonly duration: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
10485
10485
  readonly end: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
@@ -10531,10 +10531,10 @@ export declare const GetTimeEntry200: Schema.Struct<{
10531
10531
  }>>;
10532
10532
  readonly id: Schema.String;
10533
10533
  readonly isLocked: Schema.optionalKey<Schema.Boolean>;
10534
- readonly kioskId: Schema.optionalKey<Schema.String>;
10535
- readonly projectId: Schema.optionalKey<Schema.String>;
10536
- readonly tagIds: Schema.optionalKey<Schema.$Array<Schema.String>>;
10537
- readonly taskId: Schema.optionalKey<Schema.String>;
10534
+ readonly kioskId: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
10535
+ readonly projectId: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
10536
+ readonly tagIds: Schema.optionalKey<Schema.Union<readonly [Schema.$Array<Schema.String>, Schema.Null]>>;
10537
+ readonly taskId: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
10538
10538
  readonly timeInterval: Schema.Struct<{
10539
10539
  readonly duration: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
10540
10540
  readonly end: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
@@ -10573,10 +10573,10 @@ export declare const UpdateTimeEntry200: Schema.Struct<{
10573
10573
  readonly description: Schema.String;
10574
10574
  readonly id: Schema.String;
10575
10575
  readonly isLocked: Schema.optionalKey<Schema.Boolean>;
10576
- readonly kioskId: Schema.optionalKey<Schema.String>;
10577
- readonly projectId: Schema.optionalKey<Schema.String>;
10578
- readonly tagIds: Schema.optionalKey<Schema.$Array<Schema.String>>;
10579
- readonly taskId: Schema.optionalKey<Schema.String>;
10576
+ readonly kioskId: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
10577
+ readonly projectId: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
10578
+ readonly tagIds: Schema.optionalKey<Schema.Union<readonly [Schema.$Array<Schema.String>, Schema.Null]>>;
10579
+ readonly taskId: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
10580
10580
  readonly timeInterval: Schema.Struct<{
10581
10581
  readonly duration: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
10582
10582
  readonly end: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
@@ -11282,10 +11282,10 @@ export declare const GetTimeEntries200: Schema.$Array<Schema.Struct<{
11282
11282
  }>>;
11283
11283
  readonly id: Schema.String;
11284
11284
  readonly isLocked: Schema.optionalKey<Schema.Boolean>;
11285
- readonly kioskId: Schema.optionalKey<Schema.String>;
11286
- readonly projectId: Schema.optionalKey<Schema.String>;
11287
- readonly tagIds: Schema.optionalKey<Schema.$Array<Schema.String>>;
11288
- readonly taskId: Schema.optionalKey<Schema.String>;
11285
+ readonly kioskId: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
11286
+ readonly projectId: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
11287
+ readonly tagIds: Schema.optionalKey<Schema.Union<readonly [Schema.$Array<Schema.String>, Schema.Null]>>;
11288
+ readonly taskId: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
11289
11289
  readonly timeInterval: Schema.Struct<{
11290
11290
  readonly duration: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
11291
11291
  readonly end: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
@@ -11331,10 +11331,10 @@ export declare const ReplaceMany200: Schema.$Array<Schema.Struct<{
11331
11331
  readonly description: Schema.optionalKey<Schema.String>;
11332
11332
  readonly id: Schema.optionalKey<Schema.String>;
11333
11333
  readonly isLocked: Schema.optionalKey<Schema.Boolean>;
11334
- readonly kioskId: Schema.optionalKey<Schema.String>;
11335
- readonly projectId: Schema.optionalKey<Schema.String>;
11336
- readonly tagIds: Schema.optionalKey<Schema.$Array<Schema.String>>;
11337
- readonly taskId: Schema.optionalKey<Schema.String>;
11334
+ readonly kioskId: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
11335
+ readonly projectId: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
11336
+ readonly tagIds: Schema.optionalKey<Schema.Union<readonly [Schema.$Array<Schema.String>, Schema.Null]>>;
11337
+ readonly taskId: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
11338
11338
  readonly timeInterval: Schema.optionalKey<Schema.Struct<{
11339
11339
  readonly duration: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
11340
11340
  readonly end: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
@@ -11384,10 +11384,10 @@ export declare const CreateForOthers201: Schema.Struct<{
11384
11384
  readonly description: Schema.String;
11385
11385
  readonly id: Schema.String;
11386
11386
  readonly isLocked: Schema.optionalKey<Schema.Boolean>;
11387
- readonly kioskId: Schema.optionalKey<Schema.String>;
11388
- readonly projectId: Schema.optionalKey<Schema.String>;
11389
- readonly tagIds: Schema.optionalKey<Schema.$Array<Schema.String>>;
11390
- readonly taskId: Schema.optionalKey<Schema.String>;
11387
+ readonly kioskId: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
11388
+ readonly projectId: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
11389
+ readonly tagIds: Schema.optionalKey<Schema.Union<readonly [Schema.$Array<Schema.String>, Schema.Null]>>;
11390
+ readonly taskId: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
11391
11391
  readonly timeInterval: Schema.Struct<{
11392
11392
  readonly duration: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
11393
11393
  readonly end: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
@@ -11416,10 +11416,10 @@ export declare const DeleteMany200: Schema.$Array<Schema.Struct<{
11416
11416
  readonly description: Schema.String;
11417
11417
  readonly id: Schema.String;
11418
11418
  readonly isLocked: Schema.optionalKey<Schema.Boolean>;
11419
- readonly kioskId: Schema.optionalKey<Schema.String>;
11420
- readonly projectId: Schema.optionalKey<Schema.String>;
11421
- readonly tagIds: Schema.optionalKey<Schema.$Array<Schema.String>>;
11422
- readonly taskId: Schema.optionalKey<Schema.String>;
11419
+ readonly kioskId: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
11420
+ readonly projectId: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
11421
+ readonly tagIds: Schema.optionalKey<Schema.Union<readonly [Schema.$Array<Schema.String>, Schema.Null]>>;
11422
+ readonly taskId: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
11423
11423
  readonly timeInterval: Schema.Struct<{
11424
11424
  readonly duration: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
11425
11425
  readonly end: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
@@ -11446,10 +11446,10 @@ export declare const StopRunningTimeEntry200: Schema.Struct<{
11446
11446
  readonly description: Schema.String;
11447
11447
  readonly id: Schema.String;
11448
11448
  readonly isLocked: Schema.optionalKey<Schema.Boolean>;
11449
- readonly kioskId: Schema.optionalKey<Schema.String>;
11450
- readonly projectId: Schema.optionalKey<Schema.String>;
11451
- readonly tagIds: Schema.optionalKey<Schema.$Array<Schema.String>>;
11452
- readonly taskId: Schema.optionalKey<Schema.String>;
11449
+ readonly kioskId: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
11450
+ readonly projectId: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
11451
+ readonly tagIds: Schema.optionalKey<Schema.Union<readonly [Schema.$Array<Schema.String>, Schema.Null]>>;
11452
+ readonly taskId: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
11453
11453
  readonly timeInterval: Schema.Struct<{
11454
11454
  readonly duration: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
11455
11455
  readonly end: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
@@ -11472,10 +11472,10 @@ export declare const DuplicateTimeEntry201: Schema.Struct<{
11472
11472
  readonly description: Schema.String;
11473
11473
  readonly id: Schema.String;
11474
11474
  readonly isLocked: Schema.optionalKey<Schema.Boolean>;
11475
- readonly kioskId: Schema.optionalKey<Schema.String>;
11476
- readonly projectId: Schema.optionalKey<Schema.String>;
11477
- readonly tagIds: Schema.optionalKey<Schema.$Array<Schema.String>>;
11478
- readonly taskId: Schema.optionalKey<Schema.String>;
11475
+ readonly kioskId: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
11476
+ readonly projectId: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
11477
+ readonly tagIds: Schema.optionalKey<Schema.Union<readonly [Schema.$Array<Schema.String>, Schema.Null]>>;
11478
+ readonly taskId: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
11479
11479
  readonly timeInterval: Schema.Struct<{
11480
11480
  readonly duration: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
11481
11481
  readonly end: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;