@budgetbuddyde/types 1.0.1 → 1.0.3

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.
@@ -1,9 +1,68 @@
1
+ import { HTTPStatusCode } from './HttpStatusCode.type';
2
+ /**
3
+ * @deprecated Use ApiResponse and ApiResponseBuilder instead.
4
+ */
1
5
  export type TApiResponse<T> = {
2
- status: 200;
6
+ status: 200 | HTTPStatusCode.Ok;
3
7
  message: null;
4
8
  data: T | null;
5
9
  } & {
6
- status: number;
10
+ status: number | HTTPStatusCode;
7
11
  message: string | null;
8
12
  data: T | null;
9
13
  };
14
+ /**
15
+ * Represents an API response.
16
+ * @template T - The type of the data in the response.
17
+ *
18
+ * Usage
19
+ * ```typescript
20
+ * const response: ApiResponse<string> = ApiResponse
21
+ * .builder<string>()
22
+ * .withStatus(200)
23
+ * .withMessage('Hello World')
24
+ * .withData('Hello World')
25
+ * .build();
26
+ * ```
27
+ */
28
+ export declare class ApiResponse<T> {
29
+ status: number | HTTPStatusCode;
30
+ message: string | null;
31
+ data: T | null;
32
+ private constructor();
33
+ /**
34
+ * Creates a new instance of ApiResponseBuilder.
35
+ * @returns An instance of ApiResponseBuilder.
36
+ */
37
+ static builder<T>(): ApiResponseBuilder<T>;
38
+ }
39
+ /**
40
+ * Builder class for ApiResponse.
41
+ * @template T - The type of the data in the response.
42
+ */
43
+ export declare class ApiResponseBuilder<T> {
44
+ private response;
45
+ /**
46
+ * Sets the status of the API response.
47
+ * @param status - The status code.
48
+ * @returns The ApiResponseBuilder instance.
49
+ */
50
+ withStatus(status: number | HTTPStatusCode): ApiResponseBuilder<T>;
51
+ /**
52
+ * Sets the message of the API response.
53
+ * @param message - The message.
54
+ * @returns The ApiResponseBuilder instance.
55
+ */
56
+ withMessage(message: string | null): ApiResponseBuilder<T>;
57
+ /**
58
+ * Sets the data of the API response.
59
+ * @param data - The data.
60
+ * @returns The ApiResponseBuilder instance.
61
+ */
62
+ withData(data: T | null): ApiResponseBuilder<T>;
63
+ /**
64
+ * Builds the API response.
65
+ * @returns The built ApiResponse instance.
66
+ */
67
+ build(): ApiResponse<T>;
68
+ }
@@ -1,2 +1,77 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ApiResponseBuilder = exports.ApiResponse = void 0;
4
+ /**
5
+ * Represents an API response.
6
+ * @template T - The type of the data in the response.
7
+ *
8
+ * Usage
9
+ * ```typescript
10
+ * const response: ApiResponse<string> = ApiResponse
11
+ * .builder<string>()
12
+ * .withStatus(200)
13
+ * .withMessage('Hello World')
14
+ * .withData('Hello World')
15
+ * .build();
16
+ * ```
17
+ */
18
+ class ApiResponse {
19
+ constructor() {
20
+ this.status = 200;
21
+ this.message = null;
22
+ this.data = null;
23
+ }
24
+ /**
25
+ * Creates a new instance of ApiResponseBuilder.
26
+ * @returns An instance of ApiResponseBuilder.
27
+ */
28
+ static builder() {
29
+ return new ApiResponseBuilder();
30
+ }
31
+ }
32
+ exports.ApiResponse = ApiResponse;
33
+ /**
34
+ * Builder class for ApiResponse.
35
+ * @template T - The type of the data in the response.
36
+ */
37
+ class ApiResponseBuilder {
38
+ constructor() {
39
+ // @ts-expect-error can be private, because it can be accessed via the build method
40
+ this.response = new ApiResponse();
41
+ }
42
+ /**
43
+ * Sets the status of the API response.
44
+ * @param status - The status code.
45
+ * @returns The ApiResponseBuilder instance.
46
+ */
47
+ withStatus(status) {
48
+ this.response.status = status;
49
+ return this;
50
+ }
51
+ /**
52
+ * Sets the message of the API response.
53
+ * @param message - The message.
54
+ * @returns The ApiResponseBuilder instance.
55
+ */
56
+ withMessage(message) {
57
+ this.response.message = message;
58
+ return this;
59
+ }
60
+ /**
61
+ * Sets the data of the API response.
62
+ * @param data - The data.
63
+ * @returns The ApiResponseBuilder instance.
64
+ */
65
+ withData(data) {
66
+ this.response.data = data;
67
+ return this;
68
+ }
69
+ /**
70
+ * Builds the API response.
71
+ * @returns The built ApiResponse instance.
72
+ */
73
+ build() {
74
+ return this.response;
75
+ }
76
+ }
77
+ exports.ApiResponseBuilder = ApiResponseBuilder;
@@ -281,14 +281,371 @@ export declare const ZUpdateBudgetPayload: z.ZodObject<{
281
281
  budgetId: number;
282
282
  }>;
283
283
  export type TUpdateBudgetPayload = z.infer<typeof ZUpdateBudgetPayload>;
284
- export declare const ZDeleteBudgetPayload: z.ZodObject<{
284
+ export declare const ZDeleteBudgetPayload: z.ZodArray<z.ZodObject<{
285
285
  budgetId: z.ZodNumber;
286
286
  }, "strip", z.ZodTypeAny, {
287
287
  budgetId: number;
288
288
  }, {
289
289
  budgetId: number;
290
- }>;
290
+ }>, "many">;
291
291
  export type TDeleteBudgetPayload = z.infer<typeof ZDeleteBudgetPayload>;
292
+ export declare const ZDeleteBudgetResponsePayload: z.ZodObject<{
293
+ success: z.ZodArray<z.ZodObject<{
294
+ id: z.ZodNumber;
295
+ category: z.ZodObject<{
296
+ id: z.ZodNumber;
297
+ owner: z.ZodObject<{
298
+ uuid: z.ZodString;
299
+ isVerified: z.ZodDefault<z.ZodBoolean>;
300
+ role: z.ZodObject<{
301
+ id: z.ZodNumber;
302
+ name: z.ZodString;
303
+ description: z.ZodDefault<z.ZodEffects<z.ZodNullable<z.ZodString>, string | null, string | null>>;
304
+ permissions: z.ZodNumber;
305
+ createdAt: z.ZodEffects<z.ZodUnion<[z.ZodDate, z.ZodNumber]>, Date, number | Date>;
306
+ }, "strip", z.ZodTypeAny, {
307
+ id: number;
308
+ name: string;
309
+ description: string | null;
310
+ permissions: number;
311
+ createdAt: Date;
312
+ }, {
313
+ id: number;
314
+ name: string;
315
+ permissions: number;
316
+ createdAt: (number | Date) & (number | Date | undefined);
317
+ description?: string | null | undefined;
318
+ }>;
319
+ email: z.ZodString;
320
+ name: z.ZodString;
321
+ surname: z.ZodString;
322
+ password: z.ZodString;
323
+ createdAt: z.ZodEffects<z.ZodUnion<[z.ZodDate, z.ZodNumber]>, Date, number | Date>;
324
+ }, "strip", z.ZodTypeAny, {
325
+ name: string;
326
+ role: {
327
+ id: number;
328
+ name: string;
329
+ description: string | null;
330
+ permissions: number;
331
+ createdAt: Date;
332
+ };
333
+ email: string;
334
+ uuid: string;
335
+ createdAt: Date;
336
+ isVerified: boolean;
337
+ surname: string;
338
+ password: string;
339
+ }, {
340
+ name: string;
341
+ role: {
342
+ id: number;
343
+ name: string;
344
+ permissions: number;
345
+ createdAt: (number | Date) & (number | Date | undefined);
346
+ description?: string | null | undefined;
347
+ };
348
+ email: string;
349
+ uuid: string;
350
+ createdAt: (number | Date) & (number | Date | undefined);
351
+ surname: string;
352
+ password: string;
353
+ isVerified?: boolean | undefined;
354
+ }>;
355
+ name: z.ZodString;
356
+ description: z.ZodDefault<z.ZodEffects<z.ZodNullable<z.ZodString>, string | null, string | null>>;
357
+ createdAt: z.ZodEffects<z.ZodUnion<[z.ZodDate, z.ZodNumber]>, Date, number | Date>;
358
+ }, "strip", z.ZodTypeAny, {
359
+ id: number;
360
+ name: string;
361
+ description: string | null;
362
+ createdAt: Date;
363
+ owner: {
364
+ name: string;
365
+ role: {
366
+ id: number;
367
+ name: string;
368
+ description: string | null;
369
+ permissions: number;
370
+ createdAt: Date;
371
+ };
372
+ email: string;
373
+ uuid: string;
374
+ createdAt: Date;
375
+ isVerified: boolean;
376
+ surname: string;
377
+ password: string;
378
+ };
379
+ }, {
380
+ id: number;
381
+ name: string;
382
+ createdAt: (number | Date) & (number | Date | undefined);
383
+ owner: {
384
+ name: string;
385
+ role: {
386
+ id: number;
387
+ name: string;
388
+ permissions: number;
389
+ createdAt: (number | Date) & (number | Date | undefined);
390
+ description?: string | null | undefined;
391
+ };
392
+ email: string;
393
+ uuid: string;
394
+ createdAt: (number | Date) & (number | Date | undefined);
395
+ surname: string;
396
+ password: string;
397
+ isVerified?: boolean | undefined;
398
+ };
399
+ description?: string | null | undefined;
400
+ }>;
401
+ owner: z.ZodObject<{
402
+ uuid: z.ZodString;
403
+ isVerified: z.ZodDefault<z.ZodBoolean>;
404
+ role: z.ZodObject<{
405
+ id: z.ZodNumber;
406
+ name: z.ZodString;
407
+ description: z.ZodDefault<z.ZodEffects<z.ZodNullable<z.ZodString>, string | null, string | null>>;
408
+ permissions: z.ZodNumber;
409
+ createdAt: z.ZodEffects<z.ZodUnion<[z.ZodDate, z.ZodNumber]>, Date, number | Date>;
410
+ }, "strip", z.ZodTypeAny, {
411
+ id: number;
412
+ name: string;
413
+ description: string | null;
414
+ permissions: number;
415
+ createdAt: Date;
416
+ }, {
417
+ id: number;
418
+ name: string;
419
+ permissions: number;
420
+ createdAt: (number | Date) & (number | Date | undefined);
421
+ description?: string | null | undefined;
422
+ }>;
423
+ email: z.ZodString;
424
+ name: z.ZodString;
425
+ surname: z.ZodString;
426
+ password: z.ZodString;
427
+ createdAt: z.ZodEffects<z.ZodUnion<[z.ZodDate, z.ZodNumber]>, Date, number | Date>;
428
+ }, "strip", z.ZodTypeAny, {
429
+ name: string;
430
+ role: {
431
+ id: number;
432
+ name: string;
433
+ description: string | null;
434
+ permissions: number;
435
+ createdAt: Date;
436
+ };
437
+ email: string;
438
+ uuid: string;
439
+ createdAt: Date;
440
+ isVerified: boolean;
441
+ surname: string;
442
+ password: string;
443
+ }, {
444
+ name: string;
445
+ role: {
446
+ id: number;
447
+ name: string;
448
+ permissions: number;
449
+ createdAt: (number | Date) & (number | Date | undefined);
450
+ description?: string | null | undefined;
451
+ };
452
+ email: string;
453
+ uuid: string;
454
+ createdAt: (number | Date) & (number | Date | undefined);
455
+ surname: string;
456
+ password: string;
457
+ isVerified?: boolean | undefined;
458
+ }>;
459
+ budget: z.ZodNumber;
460
+ createdAt: z.ZodEffects<z.ZodUnion<[z.ZodDate, z.ZodNumber]>, Date, number | Date>;
461
+ }, "strip", z.ZodTypeAny, {
462
+ id: number;
463
+ createdAt: Date;
464
+ owner: {
465
+ name: string;
466
+ role: {
467
+ id: number;
468
+ name: string;
469
+ description: string | null;
470
+ permissions: number;
471
+ createdAt: Date;
472
+ };
473
+ email: string;
474
+ uuid: string;
475
+ createdAt: Date;
476
+ isVerified: boolean;
477
+ surname: string;
478
+ password: string;
479
+ };
480
+ category: {
481
+ id: number;
482
+ name: string;
483
+ description: string | null;
484
+ createdAt: Date;
485
+ owner: {
486
+ name: string;
487
+ role: {
488
+ id: number;
489
+ name: string;
490
+ description: string | null;
491
+ permissions: number;
492
+ createdAt: Date;
493
+ };
494
+ email: string;
495
+ uuid: string;
496
+ createdAt: Date;
497
+ isVerified: boolean;
498
+ surname: string;
499
+ password: string;
500
+ };
501
+ };
502
+ budget: number;
503
+ }, {
504
+ id: number;
505
+ createdAt: (number | Date) & (number | Date | undefined);
506
+ owner: {
507
+ name: string;
508
+ role: {
509
+ id: number;
510
+ name: string;
511
+ permissions: number;
512
+ createdAt: (number | Date) & (number | Date | undefined);
513
+ description?: string | null | undefined;
514
+ };
515
+ email: string;
516
+ uuid: string;
517
+ createdAt: (number | Date) & (number | Date | undefined);
518
+ surname: string;
519
+ password: string;
520
+ isVerified?: boolean | undefined;
521
+ };
522
+ category: {
523
+ id: number;
524
+ name: string;
525
+ createdAt: (number | Date) & (number | Date | undefined);
526
+ owner: {
527
+ name: string;
528
+ role: {
529
+ id: number;
530
+ name: string;
531
+ permissions: number;
532
+ createdAt: (number | Date) & (number | Date | undefined);
533
+ description?: string | null | undefined;
534
+ };
535
+ email: string;
536
+ uuid: string;
537
+ createdAt: (number | Date) & (number | Date | undefined);
538
+ surname: string;
539
+ password: string;
540
+ isVerified?: boolean | undefined;
541
+ };
542
+ description?: string | null | undefined;
543
+ };
544
+ budget: number;
545
+ }>, "many">;
546
+ failed: z.ZodArray<z.ZodArray<z.ZodObject<{
547
+ budgetId: z.ZodNumber;
548
+ }, "strip", z.ZodTypeAny, {
549
+ budgetId: number;
550
+ }, {
551
+ budgetId: number;
552
+ }>, "many">, "many">;
553
+ }, "strip", z.ZodTypeAny, {
554
+ failed: {
555
+ budgetId: number;
556
+ }[][];
557
+ success: {
558
+ id: number;
559
+ createdAt: Date;
560
+ owner: {
561
+ name: string;
562
+ role: {
563
+ id: number;
564
+ name: string;
565
+ description: string | null;
566
+ permissions: number;
567
+ createdAt: Date;
568
+ };
569
+ email: string;
570
+ uuid: string;
571
+ createdAt: Date;
572
+ isVerified: boolean;
573
+ surname: string;
574
+ password: string;
575
+ };
576
+ category: {
577
+ id: number;
578
+ name: string;
579
+ description: string | null;
580
+ createdAt: Date;
581
+ owner: {
582
+ name: string;
583
+ role: {
584
+ id: number;
585
+ name: string;
586
+ description: string | null;
587
+ permissions: number;
588
+ createdAt: Date;
589
+ };
590
+ email: string;
591
+ uuid: string;
592
+ createdAt: Date;
593
+ isVerified: boolean;
594
+ surname: string;
595
+ password: string;
596
+ };
597
+ };
598
+ budget: number;
599
+ }[];
600
+ }, {
601
+ failed: {
602
+ budgetId: number;
603
+ }[][];
604
+ success: {
605
+ id: number;
606
+ createdAt: (number | Date) & (number | Date | undefined);
607
+ owner: {
608
+ name: string;
609
+ role: {
610
+ id: number;
611
+ name: string;
612
+ permissions: number;
613
+ createdAt: (number | Date) & (number | Date | undefined);
614
+ description?: string | null | undefined;
615
+ };
616
+ email: string;
617
+ uuid: string;
618
+ createdAt: (number | Date) & (number | Date | undefined);
619
+ surname: string;
620
+ password: string;
621
+ isVerified?: boolean | undefined;
622
+ };
623
+ category: {
624
+ id: number;
625
+ name: string;
626
+ createdAt: (number | Date) & (number | Date | undefined);
627
+ owner: {
628
+ name: string;
629
+ role: {
630
+ id: number;
631
+ name: string;
632
+ permissions: number;
633
+ createdAt: (number | Date) & (number | Date | undefined);
634
+ description?: string | null | undefined;
635
+ };
636
+ email: string;
637
+ uuid: string;
638
+ createdAt: (number | Date) & (number | Date | undefined);
639
+ surname: string;
640
+ password: string;
641
+ isVerified?: boolean | undefined;
642
+ };
643
+ description?: string | null | undefined;
644
+ };
645
+ budget: number;
646
+ }[];
647
+ }>;
648
+ export type TDeleteBudgetResponsePayload = z.infer<typeof ZDeleteBudgetResponsePayload>;
292
649
  export declare const ZBudgetProgress: z.ZodObject<{
293
650
  id: z.ZodNumber;
294
651
  createdAt: z.ZodEffects<z.ZodUnion<[z.ZodDate, z.ZodNumber]>, Date, number | Date>;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ZBudgetProgress = exports.ZDeleteBudgetPayload = exports.ZUpdateBudgetPayload = exports.ZCreateBudgetPayload = exports.ZBudget = void 0;
3
+ exports.ZBudgetProgress = exports.ZDeleteBudgetResponsePayload = exports.ZDeleteBudgetPayload = exports.ZUpdateBudgetPayload = exports.ZCreateBudgetPayload = exports.ZBudget = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const Category_type_1 = require("./Category.type");
6
6
  const User_type_1 = require("./User.type");
@@ -23,8 +23,12 @@ exports.ZUpdateBudgetPayload = zod_1.z.object({
23
23
  categoryId: zod_1.z.number(),
24
24
  budget: ZBudgetAmount,
25
25
  });
26
- exports.ZDeleteBudgetPayload = zod_1.z.object({
26
+ exports.ZDeleteBudgetPayload = zod_1.z.array(zod_1.z.object({
27
27
  budgetId: zod_1.z.number(),
28
+ }));
29
+ exports.ZDeleteBudgetResponsePayload = zod_1.z.object({
30
+ success: zod_1.z.array(exports.ZBudget),
31
+ failed: zod_1.z.array(exports.ZDeleteBudgetPayload),
28
32
  });
29
33
  exports.ZBudgetProgress = exports.ZBudget.extend({
30
34
  amount_spent: zod_1.z.number(),