@opencrvs/toolkit 1.8.1-rc.45a3ec4 → 1.8.1-rc.4c1434e

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.
@@ -1161,6 +1161,9 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
1161
1161
  start: string;
1162
1162
  end: string;
1163
1163
  } | null | undefined>;
1164
+ content?: {
1165
+ templateId?: string | undefined;
1166
+ } | null | undefined;
1164
1167
  createdBySignature?: string | null | undefined;
1165
1168
  createdAtLocation?: (string & import("zod").BRAND<"UUID">) | null | undefined;
1166
1169
  annotation?: Record<string, string | number | boolean | {
@@ -2731,6 +2734,9 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
2731
2734
  start: string;
2732
2735
  end: string;
2733
2736
  } | null | undefined>;
2737
+ content?: {
2738
+ templateId?: string | undefined;
2739
+ } | null | undefined;
2734
2740
  createdBySignature?: string | null | undefined;
2735
2741
  createdAtLocation?: (string & import("zod").BRAND<"UUID">) | null | undefined;
2736
2742
  annotation?: Record<string, string | number | boolean | {
@@ -5093,6 +5099,9 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
5093
5099
  start: string;
5094
5100
  end: string;
5095
5101
  } | null | undefined>;
5102
+ content?: {
5103
+ templateId?: string | undefined;
5104
+ } | null | undefined;
5096
5105
  createdBySignature?: string | null | undefined;
5097
5106
  createdAtLocation?: (string & import("zod").BRAND<"UUID">) | null | undefined;
5098
5107
  annotation?: Record<string, string | number | boolean | {
@@ -6760,6 +6769,9 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
6760
6769
  start: string;
6761
6770
  end: string;
6762
6771
  } | null | undefined>;
6772
+ content?: {
6773
+ templateId?: string | undefined;
6774
+ } | null | undefined;
6763
6775
  createdBySignature?: string | null | undefined;
6764
6776
  createdAtLocation?: (string & import("zod").BRAND<"UUID">) | null | undefined;
6765
6777
  annotation?: Record<string, string | number | boolean | {
@@ -7481,6 +7493,7 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
7481
7493
  dateOfEvent?: string | null | undefined;
7482
7494
  updatedAtLocation?: (string & import("zod").BRAND<"UUID">) | null | undefined;
7483
7495
  updatedBy?: string | null | undefined;
7496
+ modifiedAt?: string | undefined;
7484
7497
  }[];
7485
7498
  meta: import("trpc-to-openapi").OpenApiMeta;
7486
7499
  }>;
@@ -7576,6 +7589,7 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
7576
7589
  dateOfEvent?: string | null | undefined;
7577
7590
  updatedAtLocation?: (string & import("zod").BRAND<"UUID">) | null | undefined;
7578
7591
  updatedBy?: string | null | undefined;
7592
+ modifiedAt?: string | undefined;
7579
7593
  }[];
7580
7594
  meta: import("trpc-to-openapi").OpenApiMeta;
7581
7595
  }>;
@@ -8669,6 +8683,9 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
8669
8683
  start: string;
8670
8684
  end: string;
8671
8685
  } | null | undefined>;
8686
+ content?: {
8687
+ templateId?: string | undefined;
8688
+ } | null | undefined;
8672
8689
  createdBySignature?: string | null | undefined;
8673
8690
  createdAtLocation?: string | null | undefined;
8674
8691
  annotation?: Record<string, string | number | boolean | {
@@ -10235,6 +10252,9 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
10235
10252
  start: string;
10236
10253
  end: string;
10237
10254
  } | null | undefined>;
10255
+ content?: {
10256
+ templateId?: string | undefined;
10257
+ } | null | undefined;
10238
10258
  createdBySignature?: string | null | undefined;
10239
10259
  createdAtLocation?: (string & import("zod").BRAND<"UUID">) | null | undefined;
10240
10260
  annotation?: Record<string, string | number | boolean | {
@@ -1,9 +1,9 @@
1
1
  import { ConditionalParameters, JSONSchema } from './conditionals';
2
- import { EventState, ActionUpdate } from '../events/ActionDocument';
2
+ import { ActionUpdate, EventState } from '../events/ActionDocument';
3
+ import { FieldConditional } from '../events/Conditional';
3
4
  import { FieldConfig } from '../events/FieldConfig';
4
5
  import { FieldUpdateValue } from '../events/FieldValue';
5
6
  import { TranslationConfig } from '../events/TranslationConfig';
6
- import { FieldConditional } from '../events/Conditional';
7
7
  export declare function validate(schema: JSONSchema, data: ConditionalParameters): boolean;
8
8
  export declare function isConditionMet(conditional: JSONSchema, values: Record<string, unknown>): boolean;
9
9
  export declare function areConditionsMet(conditions: FieldConditional[], values: Record<string, unknown>): boolean;
@@ -77,4 +77,5 @@ export declare function runFieldValidations({ field, values }: {
77
77
  }[];
78
78
  };
79
79
  export declare function getValidatorsForField(fieldId: FieldConfig['id'], validations: NonNullable<FieldConfig['validation']>): NonNullable<FieldConfig['validation']>;
80
+ export declare function areCertificateConditionsMet(conditions: FieldConditional[], values: Record<string, unknown>): boolean;
80
81
  //# sourceMappingURL=validate.d.ts.map
@@ -1770,6 +1770,516 @@ declare const CreatedAction: z.ZodObject<z.objectUtil.extendShape<{
1770
1770
  } | null | undefined> | null | undefined;
1771
1771
  originalActionId?: string | null | undefined;
1772
1772
  }>;
1773
+ export declare const PrintContent: z.ZodObject<{
1774
+ templateId: z.ZodOptional<z.ZodString>;
1775
+ }, "strip", z.ZodTypeAny, {
1776
+ templateId?: string | undefined;
1777
+ }, {
1778
+ templateId?: string | undefined;
1779
+ }>;
1780
+ export type PrintContent = z.infer<typeof PrintContent>;
1781
+ declare const PrintCertificateAction: z.ZodObject<z.objectUtil.extendShape<{
1782
+ id: z.ZodBranded<z.ZodString, "UUID">;
1783
+ transactionId: z.ZodString;
1784
+ createdByUserType: z.ZodEnum<["user", "system"]>;
1785
+ createdAt: z.ZodString;
1786
+ createdBy: z.ZodString;
1787
+ createdByRole: z.ZodString;
1788
+ createdBySignature: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1789
+ createdAtLocation: z.ZodOptional<z.ZodNullable<z.ZodBranded<z.ZodString, "UUID">>>;
1790
+ declaration: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodString, z.ZodString, z.ZodUnion<[z.ZodObject<{
1791
+ start: z.ZodString;
1792
+ end: z.ZodString;
1793
+ }, "strip", z.ZodTypeAny, {
1794
+ start: string;
1795
+ end: string;
1796
+ }, {
1797
+ start: string;
1798
+ end: string;
1799
+ }>, z.ZodString]>, z.ZodEnum<["last7Days", "last30Days", "last90Days", "last365Days"]>, z.ZodBoolean, z.ZodNumber, z.ZodObject<{
1800
+ path: z.ZodEffects<z.ZodString, string, string>;
1801
+ originalFilename: z.ZodString;
1802
+ type: z.ZodString;
1803
+ }, "strip", z.ZodTypeAny, {
1804
+ type: string;
1805
+ path: string;
1806
+ originalFilename: string;
1807
+ }, {
1808
+ type: string;
1809
+ path: string;
1810
+ originalFilename: string;
1811
+ }>, z.ZodArray<z.ZodObject<{
1812
+ path: z.ZodEffects<z.ZodString, string, string>;
1813
+ originalFilename: z.ZodString;
1814
+ type: z.ZodString;
1815
+ option: z.ZodString;
1816
+ }, "strip", z.ZodTypeAny, {
1817
+ type: string;
1818
+ option: string;
1819
+ path: string;
1820
+ originalFilename: string;
1821
+ }, {
1822
+ type: string;
1823
+ option: string;
1824
+ path: string;
1825
+ originalFilename: string;
1826
+ }>, "many">, z.ZodObject<z.objectUtil.extendShape<{
1827
+ country: z.ZodString;
1828
+ addressType: z.ZodLiteral<"DOMESTIC">;
1829
+ province: z.ZodString;
1830
+ district: z.ZodString;
1831
+ }, {
1832
+ urbanOrRural: z.ZodLiteral<"URBAN">;
1833
+ town: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1834
+ residentialArea: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1835
+ street: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1836
+ number: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1837
+ zipCode: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1838
+ }>, "strip", z.ZodTypeAny, {
1839
+ country: string;
1840
+ district: string;
1841
+ addressType: "DOMESTIC";
1842
+ province: string;
1843
+ urbanOrRural: "URBAN";
1844
+ number?: string | null | undefined;
1845
+ town?: string | null | undefined;
1846
+ residentialArea?: string | null | undefined;
1847
+ street?: string | null | undefined;
1848
+ zipCode?: string | null | undefined;
1849
+ }, {
1850
+ country: string;
1851
+ district: string;
1852
+ addressType: "DOMESTIC";
1853
+ province: string;
1854
+ urbanOrRural: "URBAN";
1855
+ number?: string | null | undefined;
1856
+ town?: string | null | undefined;
1857
+ residentialArea?: string | null | undefined;
1858
+ street?: string | null | undefined;
1859
+ zipCode?: string | null | undefined;
1860
+ }>, z.ZodObject<z.objectUtil.extendShape<{
1861
+ country: z.ZodString;
1862
+ addressType: z.ZodLiteral<"DOMESTIC">;
1863
+ province: z.ZodString;
1864
+ district: z.ZodString;
1865
+ }, {
1866
+ urbanOrRural: z.ZodLiteral<"RURAL">;
1867
+ village: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1868
+ }>, "strip", z.ZodTypeAny, {
1869
+ country: string;
1870
+ district: string;
1871
+ addressType: "DOMESTIC";
1872
+ province: string;
1873
+ urbanOrRural: "RURAL";
1874
+ village?: string | null | undefined;
1875
+ }, {
1876
+ country: string;
1877
+ district: string;
1878
+ addressType: "DOMESTIC";
1879
+ province: string;
1880
+ urbanOrRural: "RURAL";
1881
+ village?: string | null | undefined;
1882
+ }>, z.ZodUndefined, z.ZodObject<{
1883
+ country: z.ZodString;
1884
+ addressType: z.ZodLiteral<"INTERNATIONAL">;
1885
+ state: z.ZodString;
1886
+ district2: z.ZodString;
1887
+ cityOrTown: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1888
+ addressLine1: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1889
+ addressLine2: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1890
+ addressLine3: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1891
+ postcodeOrZip: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1892
+ }, "strip", z.ZodTypeAny, {
1893
+ country: string;
1894
+ state: string;
1895
+ addressType: "INTERNATIONAL";
1896
+ district2: string;
1897
+ cityOrTown?: string | null | undefined;
1898
+ addressLine1?: string | null | undefined;
1899
+ addressLine2?: string | null | undefined;
1900
+ addressLine3?: string | null | undefined;
1901
+ postcodeOrZip?: string | null | undefined;
1902
+ }, {
1903
+ country: string;
1904
+ state: string;
1905
+ addressType: "INTERNATIONAL";
1906
+ district2: string;
1907
+ cityOrTown?: string | null | undefined;
1908
+ addressLine1?: string | null | undefined;
1909
+ addressLine2?: string | null | undefined;
1910
+ addressLine3?: string | null | undefined;
1911
+ postcodeOrZip?: string | null | undefined;
1912
+ }>, z.ZodUnion<[z.ZodUnion<[z.ZodObject<{
1913
+ firstname: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1914
+ surname: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1915
+ middlename: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1916
+ }, "strip", z.ZodTypeAny, {
1917
+ firstname?: string | null | undefined;
1918
+ surname?: string | null | undefined;
1919
+ middlename?: string | null | undefined;
1920
+ }, {
1921
+ firstname?: string | null | undefined;
1922
+ surname?: string | null | undefined;
1923
+ middlename?: string | null | undefined;
1924
+ }>, z.ZodNull]>, z.ZodUndefined]>]>>;
1925
+ annotation: z.ZodNullable<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodString, z.ZodString, z.ZodUnion<[z.ZodObject<{
1926
+ start: z.ZodString;
1927
+ end: z.ZodString;
1928
+ }, "strip", z.ZodTypeAny, {
1929
+ start: string;
1930
+ end: string;
1931
+ }, {
1932
+ start: string;
1933
+ end: string;
1934
+ }>, z.ZodString]>, z.ZodEnum<["last7Days", "last30Days", "last90Days", "last365Days"]>, z.ZodBoolean, z.ZodNumber, z.ZodObject<{
1935
+ path: z.ZodEffects<z.ZodString, string, string>;
1936
+ originalFilename: z.ZodString;
1937
+ type: z.ZodString;
1938
+ }, "strip", z.ZodTypeAny, {
1939
+ type: string;
1940
+ path: string;
1941
+ originalFilename: string;
1942
+ }, {
1943
+ type: string;
1944
+ path: string;
1945
+ originalFilename: string;
1946
+ }>, z.ZodArray<z.ZodObject<{
1947
+ path: z.ZodEffects<z.ZodString, string, string>;
1948
+ originalFilename: z.ZodString;
1949
+ type: z.ZodString;
1950
+ option: z.ZodString;
1951
+ }, "strip", z.ZodTypeAny, {
1952
+ type: string;
1953
+ option: string;
1954
+ path: string;
1955
+ originalFilename: string;
1956
+ }, {
1957
+ type: string;
1958
+ option: string;
1959
+ path: string;
1960
+ originalFilename: string;
1961
+ }>, "many">, z.ZodObject<z.objectUtil.extendShape<{
1962
+ country: z.ZodString;
1963
+ addressType: z.ZodLiteral<"DOMESTIC">;
1964
+ province: z.ZodString;
1965
+ district: z.ZodString;
1966
+ }, {
1967
+ urbanOrRural: z.ZodLiteral<"URBAN">;
1968
+ town: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1969
+ residentialArea: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1970
+ street: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1971
+ number: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1972
+ zipCode: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1973
+ }>, "strip", z.ZodTypeAny, {
1974
+ country: string;
1975
+ district: string;
1976
+ addressType: "DOMESTIC";
1977
+ province: string;
1978
+ urbanOrRural: "URBAN";
1979
+ number?: string | null | undefined;
1980
+ town?: string | null | undefined;
1981
+ residentialArea?: string | null | undefined;
1982
+ street?: string | null | undefined;
1983
+ zipCode?: string | null | undefined;
1984
+ }, {
1985
+ country: string;
1986
+ district: string;
1987
+ addressType: "DOMESTIC";
1988
+ province: string;
1989
+ urbanOrRural: "URBAN";
1990
+ number?: string | null | undefined;
1991
+ town?: string | null | undefined;
1992
+ residentialArea?: string | null | undefined;
1993
+ street?: string | null | undefined;
1994
+ zipCode?: string | null | undefined;
1995
+ }>, z.ZodObject<z.objectUtil.extendShape<{
1996
+ country: z.ZodString;
1997
+ addressType: z.ZodLiteral<"DOMESTIC">;
1998
+ province: z.ZodString;
1999
+ district: z.ZodString;
2000
+ }, {
2001
+ urbanOrRural: z.ZodLiteral<"RURAL">;
2002
+ village: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2003
+ }>, "strip", z.ZodTypeAny, {
2004
+ country: string;
2005
+ district: string;
2006
+ addressType: "DOMESTIC";
2007
+ province: string;
2008
+ urbanOrRural: "RURAL";
2009
+ village?: string | null | undefined;
2010
+ }, {
2011
+ country: string;
2012
+ district: string;
2013
+ addressType: "DOMESTIC";
2014
+ province: string;
2015
+ urbanOrRural: "RURAL";
2016
+ village?: string | null | undefined;
2017
+ }>, z.ZodUndefined, z.ZodObject<{
2018
+ country: z.ZodString;
2019
+ addressType: z.ZodLiteral<"INTERNATIONAL">;
2020
+ state: z.ZodString;
2021
+ district2: z.ZodString;
2022
+ cityOrTown: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2023
+ addressLine1: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2024
+ addressLine2: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2025
+ addressLine3: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2026
+ postcodeOrZip: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2027
+ }, "strip", z.ZodTypeAny, {
2028
+ country: string;
2029
+ state: string;
2030
+ addressType: "INTERNATIONAL";
2031
+ district2: string;
2032
+ cityOrTown?: string | null | undefined;
2033
+ addressLine1?: string | null | undefined;
2034
+ addressLine2?: string | null | undefined;
2035
+ addressLine3?: string | null | undefined;
2036
+ postcodeOrZip?: string | null | undefined;
2037
+ }, {
2038
+ country: string;
2039
+ state: string;
2040
+ addressType: "INTERNATIONAL";
2041
+ district2: string;
2042
+ cityOrTown?: string | null | undefined;
2043
+ addressLine1?: string | null | undefined;
2044
+ addressLine2?: string | null | undefined;
2045
+ addressLine3?: string | null | undefined;
2046
+ postcodeOrZip?: string | null | undefined;
2047
+ }>, z.ZodUnion<[z.ZodUnion<[z.ZodObject<{
2048
+ firstname: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2049
+ surname: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2050
+ middlename: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2051
+ }, "strip", z.ZodTypeAny, {
2052
+ firstname?: string | null | undefined;
2053
+ surname?: string | null | undefined;
2054
+ middlename?: string | null | undefined;
2055
+ }, {
2056
+ firstname?: string | null | undefined;
2057
+ surname?: string | null | undefined;
2058
+ middlename?: string | null | undefined;
2059
+ }>, z.ZodNull]>, z.ZodUndefined]>]>>>>;
2060
+ status: z.ZodEnum<["Requested", "Accepted", "Rejected"]>;
2061
+ originalActionId: z.ZodNullable<z.ZodOptional<z.ZodBranded<z.ZodString, "UUID">>>;
2062
+ }, {
2063
+ type: z.ZodLiteral<"PRINT_CERTIFICATE">;
2064
+ content: z.ZodNullable<z.ZodOptional<z.ZodObject<{
2065
+ templateId: z.ZodOptional<z.ZodString>;
2066
+ }, "strip", z.ZodTypeAny, {
2067
+ templateId?: string | undefined;
2068
+ }, {
2069
+ templateId?: string | undefined;
2070
+ }>>>;
2071
+ }>, "strip", z.ZodTypeAny, {
2072
+ type: "PRINT_CERTIFICATE";
2073
+ id: string & z.BRAND<"UUID">;
2074
+ status: "Rejected" | "Requested" | "Accepted";
2075
+ transactionId: string;
2076
+ createdByUserType: "system" | "user";
2077
+ createdAt: string;
2078
+ createdBy: string;
2079
+ createdByRole: string;
2080
+ declaration: Record<string, string | number | boolean | {
2081
+ type: string;
2082
+ path: string;
2083
+ originalFilename: string;
2084
+ } | {
2085
+ country: string;
2086
+ district: string;
2087
+ addressType: "DOMESTIC";
2088
+ province: string;
2089
+ urbanOrRural: "URBAN";
2090
+ number?: string | null | undefined;
2091
+ town?: string | null | undefined;
2092
+ residentialArea?: string | null | undefined;
2093
+ street?: string | null | undefined;
2094
+ zipCode?: string | null | undefined;
2095
+ } | {
2096
+ firstname?: string | null | undefined;
2097
+ surname?: string | null | undefined;
2098
+ middlename?: string | null | undefined;
2099
+ } | {
2100
+ country: string;
2101
+ district: string;
2102
+ addressType: "DOMESTIC";
2103
+ province: string;
2104
+ urbanOrRural: "RURAL";
2105
+ village?: string | null | undefined;
2106
+ } | {
2107
+ country: string;
2108
+ state: string;
2109
+ addressType: "INTERNATIONAL";
2110
+ district2: string;
2111
+ cityOrTown?: string | null | undefined;
2112
+ addressLine1?: string | null | undefined;
2113
+ addressLine2?: string | null | undefined;
2114
+ addressLine3?: string | null | undefined;
2115
+ postcodeOrZip?: string | null | undefined;
2116
+ } | {
2117
+ type: string;
2118
+ option: string;
2119
+ path: string;
2120
+ originalFilename: string;
2121
+ }[] | {
2122
+ start: string;
2123
+ end: string;
2124
+ } | null | undefined>;
2125
+ content?: {
2126
+ templateId?: string | undefined;
2127
+ } | null | undefined;
2128
+ createdBySignature?: string | null | undefined;
2129
+ createdAtLocation?: (string & z.BRAND<"UUID">) | null | undefined;
2130
+ annotation?: Record<string, string | number | boolean | {
2131
+ type: string;
2132
+ path: string;
2133
+ originalFilename: string;
2134
+ } | {
2135
+ country: string;
2136
+ district: string;
2137
+ addressType: "DOMESTIC";
2138
+ province: string;
2139
+ urbanOrRural: "URBAN";
2140
+ number?: string | null | undefined;
2141
+ town?: string | null | undefined;
2142
+ residentialArea?: string | null | undefined;
2143
+ street?: string | null | undefined;
2144
+ zipCode?: string | null | undefined;
2145
+ } | {
2146
+ firstname?: string | null | undefined;
2147
+ surname?: string | null | undefined;
2148
+ middlename?: string | null | undefined;
2149
+ } | {
2150
+ country: string;
2151
+ district: string;
2152
+ addressType: "DOMESTIC";
2153
+ province: string;
2154
+ urbanOrRural: "RURAL";
2155
+ village?: string | null | undefined;
2156
+ } | {
2157
+ country: string;
2158
+ state: string;
2159
+ addressType: "INTERNATIONAL";
2160
+ district2: string;
2161
+ cityOrTown?: string | null | undefined;
2162
+ addressLine1?: string | null | undefined;
2163
+ addressLine2?: string | null | undefined;
2164
+ addressLine3?: string | null | undefined;
2165
+ postcodeOrZip?: string | null | undefined;
2166
+ } | {
2167
+ type: string;
2168
+ option: string;
2169
+ path: string;
2170
+ originalFilename: string;
2171
+ }[] | {
2172
+ start: string;
2173
+ end: string;
2174
+ } | null | undefined> | null | undefined;
2175
+ originalActionId?: (string & z.BRAND<"UUID">) | null | undefined;
2176
+ }, {
2177
+ type: "PRINT_CERTIFICATE";
2178
+ id: string;
2179
+ status: "Rejected" | "Requested" | "Accepted";
2180
+ transactionId: string;
2181
+ createdByUserType: "system" | "user";
2182
+ createdAt: string;
2183
+ createdBy: string;
2184
+ createdByRole: string;
2185
+ declaration: Record<string, string | number | boolean | {
2186
+ type: string;
2187
+ path: string;
2188
+ originalFilename: string;
2189
+ } | {
2190
+ country: string;
2191
+ district: string;
2192
+ addressType: "DOMESTIC";
2193
+ province: string;
2194
+ urbanOrRural: "URBAN";
2195
+ number?: string | null | undefined;
2196
+ town?: string | null | undefined;
2197
+ residentialArea?: string | null | undefined;
2198
+ street?: string | null | undefined;
2199
+ zipCode?: string | null | undefined;
2200
+ } | {
2201
+ firstname?: string | null | undefined;
2202
+ surname?: string | null | undefined;
2203
+ middlename?: string | null | undefined;
2204
+ } | {
2205
+ country: string;
2206
+ district: string;
2207
+ addressType: "DOMESTIC";
2208
+ province: string;
2209
+ urbanOrRural: "RURAL";
2210
+ village?: string | null | undefined;
2211
+ } | {
2212
+ country: string;
2213
+ state: string;
2214
+ addressType: "INTERNATIONAL";
2215
+ district2: string;
2216
+ cityOrTown?: string | null | undefined;
2217
+ addressLine1?: string | null | undefined;
2218
+ addressLine2?: string | null | undefined;
2219
+ addressLine3?: string | null | undefined;
2220
+ postcodeOrZip?: string | null | undefined;
2221
+ } | {
2222
+ type: string;
2223
+ option: string;
2224
+ path: string;
2225
+ originalFilename: string;
2226
+ }[] | {
2227
+ start: string;
2228
+ end: string;
2229
+ } | null | undefined>;
2230
+ content?: {
2231
+ templateId?: string | undefined;
2232
+ } | null | undefined;
2233
+ createdBySignature?: string | null | undefined;
2234
+ createdAtLocation?: string | null | undefined;
2235
+ annotation?: Record<string, string | number | boolean | {
2236
+ type: string;
2237
+ path: string;
2238
+ originalFilename: string;
2239
+ } | {
2240
+ country: string;
2241
+ district: string;
2242
+ addressType: "DOMESTIC";
2243
+ province: string;
2244
+ urbanOrRural: "URBAN";
2245
+ number?: string | null | undefined;
2246
+ town?: string | null | undefined;
2247
+ residentialArea?: string | null | undefined;
2248
+ street?: string | null | undefined;
2249
+ zipCode?: string | null | undefined;
2250
+ } | {
2251
+ firstname?: string | null | undefined;
2252
+ surname?: string | null | undefined;
2253
+ middlename?: string | null | undefined;
2254
+ } | {
2255
+ country: string;
2256
+ district: string;
2257
+ addressType: "DOMESTIC";
2258
+ province: string;
2259
+ urbanOrRural: "RURAL";
2260
+ village?: string | null | undefined;
2261
+ } | {
2262
+ country: string;
2263
+ state: string;
2264
+ addressType: "INTERNATIONAL";
2265
+ district2: string;
2266
+ cityOrTown?: string | null | undefined;
2267
+ addressLine1?: string | null | undefined;
2268
+ addressLine2?: string | null | undefined;
2269
+ addressLine3?: string | null | undefined;
2270
+ postcodeOrZip?: string | null | undefined;
2271
+ } | {
2272
+ type: string;
2273
+ option: string;
2274
+ path: string;
2275
+ originalFilename: string;
2276
+ }[] | {
2277
+ start: string;
2278
+ end: string;
2279
+ } | null | undefined> | null | undefined;
2280
+ originalActionId?: string | null | undefined;
2281
+ }>;
2282
+ export type PrintCertificateAction = z.infer<typeof PrintCertificateAction>;
1773
2283
  declare const RequestedCorrectionAction: z.ZodObject<z.objectUtil.extendShape<{
1774
2284
  id: z.ZodBranded<z.ZodString, "UUID">;
1775
2285
  transactionId: z.ZodString;
@@ -8939,6 +9449,13 @@ export declare const ActionDocument: z.ZodDiscriminatedUnion<"type", [z.ZodObjec
8939
9449
  originalActionId: z.ZodNullable<z.ZodOptional<z.ZodBranded<z.ZodString, "UUID">>>;
8940
9450
  }, {
8941
9451
  type: z.ZodLiteral<"PRINT_CERTIFICATE">;
9452
+ content: z.ZodNullable<z.ZodOptional<z.ZodObject<{
9453
+ templateId: z.ZodOptional<z.ZodString>;
9454
+ }, "strip", z.ZodTypeAny, {
9455
+ templateId?: string | undefined;
9456
+ }, {
9457
+ templateId?: string | undefined;
9458
+ }>>>;
8942
9459
  }>, "strip", z.ZodTypeAny, {
8943
9460
  type: "PRINT_CERTIFICATE";
8944
9461
  id: string & z.BRAND<"UUID">;
@@ -8993,6 +9510,9 @@ export declare const ActionDocument: z.ZodDiscriminatedUnion<"type", [z.ZodObjec
8993
9510
  start: string;
8994
9511
  end: string;
8995
9512
  } | null | undefined>;
9513
+ content?: {
9514
+ templateId?: string | undefined;
9515
+ } | null | undefined;
8996
9516
  createdBySignature?: string | null | undefined;
8997
9517
  createdAtLocation?: (string & z.BRAND<"UUID">) | null | undefined;
8998
9518
  annotation?: Record<string, string | number | boolean | {
@@ -9095,6 +9615,9 @@ export declare const ActionDocument: z.ZodDiscriminatedUnion<"type", [z.ZodObjec
9095
9615
  start: string;
9096
9616
  end: string;
9097
9617
  } | null | undefined>;
9618
+ content?: {
9619
+ templateId?: string | undefined;
9620
+ } | null | undefined;
9098
9621
  createdBySignature?: string | null | undefined;
9099
9622
  createdAtLocation?: string | null | undefined;
9100
9623
  annotation?: Record<string, string | number | boolean | {
@@ -16622,6 +17145,13 @@ export declare const Action: z.ZodUnion<[z.ZodDiscriminatedUnion<"type", [z.ZodO
16622
17145
  originalActionId: z.ZodNullable<z.ZodOptional<z.ZodBranded<z.ZodString, "UUID">>>;
16623
17146
  }, {
16624
17147
  type: z.ZodLiteral<"PRINT_CERTIFICATE">;
17148
+ content: z.ZodNullable<z.ZodOptional<z.ZodObject<{
17149
+ templateId: z.ZodOptional<z.ZodString>;
17150
+ }, "strip", z.ZodTypeAny, {
17151
+ templateId?: string | undefined;
17152
+ }, {
17153
+ templateId?: string | undefined;
17154
+ }>>>;
16625
17155
  }>, "strip", z.ZodTypeAny, {
16626
17156
  type: "PRINT_CERTIFICATE";
16627
17157
  id: string & z.BRAND<"UUID">;
@@ -16676,6 +17206,9 @@ export declare const Action: z.ZodUnion<[z.ZodDiscriminatedUnion<"type", [z.ZodO
16676
17206
  start: string;
16677
17207
  end: string;
16678
17208
  } | null | undefined>;
17209
+ content?: {
17210
+ templateId?: string | undefined;
17211
+ } | null | undefined;
16679
17212
  createdBySignature?: string | null | undefined;
16680
17213
  createdAtLocation?: (string & z.BRAND<"UUID">) | null | undefined;
16681
17214
  annotation?: Record<string, string | number | boolean | {
@@ -16778,6 +17311,9 @@ export declare const Action: z.ZodUnion<[z.ZodDiscriminatedUnion<"type", [z.ZodO
16778
17311
  start: string;
16779
17312
  end: string;
16780
17313
  } | null | undefined>;
17314
+ content?: {
17315
+ templateId?: string | undefined;
17316
+ } | null | undefined;
16781
17317
  createdBySignature?: string | null | undefined;
16782
17318
  createdAtLocation?: string | null | undefined;
16783
17319
  annotation?: Record<string, string | number | boolean | {
@@ -2631,6 +2631,13 @@ export declare const PrintCertificateActionInput: z.ZodObject<z.objectUtil.exten
2631
2631
  keepAssignment: z.ZodOptional<z.ZodBoolean>;
2632
2632
  }, {
2633
2633
  type: z.ZodDefault<z.ZodLiteral<"PRINT_CERTIFICATE">>;
2634
+ content: z.ZodOptional<z.ZodObject<{
2635
+ templateId: z.ZodOptional<z.ZodString>;
2636
+ }, "strip", z.ZodTypeAny, {
2637
+ templateId?: string | undefined;
2638
+ }, {
2639
+ templateId?: string | undefined;
2640
+ }>>;
2634
2641
  }>, "strip", z.ZodTypeAny, {
2635
2642
  type: "PRINT_CERTIFICATE";
2636
2643
  transactionId: string;
@@ -2680,6 +2687,9 @@ export declare const PrintCertificateActionInput: z.ZodObject<z.objectUtil.exten
2680
2687
  end: string;
2681
2688
  } | null | undefined>;
2682
2689
  eventId: string & z.BRAND<"UUID">;
2690
+ content?: {
2691
+ templateId?: string | undefined;
2692
+ } | undefined;
2683
2693
  annotation?: Record<string, string | number | boolean | {
2684
2694
  type: string;
2685
2695
  path: string;
@@ -2731,6 +2741,9 @@ export declare const PrintCertificateActionInput: z.ZodObject<z.objectUtil.exten
2731
2741
  transactionId: string;
2732
2742
  eventId: string;
2733
2743
  type?: "PRINT_CERTIFICATE" | undefined;
2744
+ content?: {
2745
+ templateId?: string | undefined;
2746
+ } | undefined;
2734
2747
  declaration?: Record<string, string | number | boolean | {
2735
2748
  type: string;
2736
2749
  path: string;
@@ -12164,6 +12177,13 @@ export declare const ActionInput: z.ZodDiscriminatedUnion<"type", [z.ZodObject<z
12164
12177
  keepAssignment: z.ZodOptional<z.ZodBoolean>;
12165
12178
  }, {
12166
12179
  type: z.ZodDefault<z.ZodLiteral<"PRINT_CERTIFICATE">>;
12180
+ content: z.ZodOptional<z.ZodObject<{
12181
+ templateId: z.ZodOptional<z.ZodString>;
12182
+ }, "strip", z.ZodTypeAny, {
12183
+ templateId?: string | undefined;
12184
+ }, {
12185
+ templateId?: string | undefined;
12186
+ }>>;
12167
12187
  }>, "strip", z.ZodTypeAny, {
12168
12188
  type: "PRINT_CERTIFICATE";
12169
12189
  transactionId: string;
@@ -12213,6 +12233,9 @@ export declare const ActionInput: z.ZodDiscriminatedUnion<"type", [z.ZodObject<z
12213
12233
  end: string;
12214
12234
  } | null | undefined>;
12215
12235
  eventId: string & z.BRAND<"UUID">;
12236
+ content?: {
12237
+ templateId?: string | undefined;
12238
+ } | undefined;
12216
12239
  annotation?: Record<string, string | number | boolean | {
12217
12240
  type: string;
12218
12241
  path: string;
@@ -12264,6 +12287,9 @@ export declare const ActionInput: z.ZodDiscriminatedUnion<"type", [z.ZodObject<z
12264
12287
  transactionId: string;
12265
12288
  eventId: string;
12266
12289
  type?: "PRINT_CERTIFICATE" | undefined;
12290
+ content?: {
12291
+ templateId?: string | undefined;
12292
+ } | undefined;
12267
12293
  declaration?: Record<string, string | number | boolean | {
12268
12294
  type: string;
12269
12295
  path: string;
@@ -6684,6 +6684,13 @@ export declare const EventDocument: z.ZodObject<{
6684
6684
  originalActionId: z.ZodNullable<z.ZodOptional<z.ZodBranded<z.ZodString, "UUID">>>;
6685
6685
  }, {
6686
6686
  type: z.ZodLiteral<"PRINT_CERTIFICATE">;
6687
+ content: z.ZodNullable<z.ZodOptional<z.ZodObject<{
6688
+ templateId: z.ZodOptional<z.ZodString>;
6689
+ }, "strip", z.ZodTypeAny, {
6690
+ templateId?: string | undefined;
6691
+ }, {
6692
+ templateId?: string | undefined;
6693
+ }>>>;
6687
6694
  }>, "strip", z.ZodTypeAny, {
6688
6695
  type: "PRINT_CERTIFICATE";
6689
6696
  id: string & z.BRAND<"UUID">;
@@ -6738,6 +6745,9 @@ export declare const EventDocument: z.ZodObject<{
6738
6745
  start: string;
6739
6746
  end: string;
6740
6747
  } | null | undefined>;
6748
+ content?: {
6749
+ templateId?: string | undefined;
6750
+ } | null | undefined;
6741
6751
  createdBySignature?: string | null | undefined;
6742
6752
  createdAtLocation?: (string & z.BRAND<"UUID">) | null | undefined;
6743
6753
  annotation?: Record<string, string | number | boolean | {
@@ -6840,6 +6850,9 @@ export declare const EventDocument: z.ZodObject<{
6840
6850
  start: string;
6841
6851
  end: string;
6842
6852
  } | null | undefined>;
6853
+ content?: {
6854
+ templateId?: string | undefined;
6855
+ } | null | undefined;
6843
6856
  createdBySignature?: string | null | undefined;
6844
6857
  createdAtLocation?: string | null | undefined;
6845
6858
  annotation?: Record<string, string | number | boolean | {
@@ -8774,6 +8787,9 @@ export declare const EventDocument: z.ZodObject<{
8774
8787
  start: string;
8775
8788
  end: string;
8776
8789
  } | null | undefined>;
8790
+ content?: {
8791
+ templateId?: string | undefined;
8792
+ } | null | undefined;
8777
8793
  createdBySignature?: string | null | undefined;
8778
8794
  createdAtLocation?: (string & z.BRAND<"UUID">) | null | undefined;
8779
8795
  annotation?: Record<string, string | number | boolean | {
@@ -10339,6 +10355,9 @@ export declare const EventDocument: z.ZodObject<{
10339
10355
  start: string;
10340
10356
  end: string;
10341
10357
  } | null | undefined>;
10358
+ content?: {
10359
+ templateId?: string | undefined;
10360
+ } | null | undefined;
10342
10361
  createdBySignature?: string | null | undefined;
10343
10362
  createdAtLocation?: string | null | undefined;
10344
10363
  annotation?: Record<string, string | number | boolean | {
@@ -117,6 +117,7 @@ export declare const EventIndex: z.ZodObject<z.objectUtil.extendShape<{
117
117
  readonly REJECTED: "rejected";
118
118
  readonly CORRECTION_REQUESTED: "correction-requested";
119
119
  }>]>, "many">;
120
+ modifiedAt: z.ZodOptional<z.ZodString>;
120
121
  }, {
121
122
  declaration: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodString, z.ZodString, z.ZodUnion<[z.ZodObject<{
122
123
  start: z.ZodString;
@@ -352,6 +353,7 @@ export declare const EventIndex: z.ZodObject<z.objectUtil.extendShape<{
352
353
  dateOfEvent?: string | null | undefined;
353
354
  updatedAtLocation?: (string & z.BRAND<"UUID">) | null | undefined;
354
355
  updatedBy?: string | null | undefined;
356
+ modifiedAt?: string | undefined;
355
357
  }, {
356
358
  type: string;
357
359
  id: string;
@@ -439,6 +441,7 @@ export declare const EventIndex: z.ZodObject<z.objectUtil.extendShape<{
439
441
  dateOfEvent?: string | null | undefined;
440
442
  updatedAtLocation?: string | null | undefined;
441
443
  updatedBy?: string | null | undefined;
444
+ modifiedAt?: string | undefined;
442
445
  }>;
443
446
  export declare const EventSearchIndex: z.ZodIntersection<z.ZodRecord<z.ZodString, z.ZodAny>, z.ZodObject<{
444
447
  type: z.ZodString;
@@ -297,6 +297,7 @@ export declare const EventMetadata: z.ZodObject<{
297
297
  readonly REJECTED: "rejected";
298
298
  readonly CORRECTION_REQUESTED: "correction-requested";
299
299
  }>]>, "many">;
300
+ modifiedAt: z.ZodOptional<z.ZodString>;
300
301
  }, "strip", z.ZodTypeAny, {
301
302
  type: string;
302
303
  id: string & z.BRAND<"UUID">;
@@ -335,6 +336,7 @@ export declare const EventMetadata: z.ZodObject<{
335
336
  dateOfEvent?: string | null | undefined;
336
337
  updatedAtLocation?: (string & z.BRAND<"UUID">) | null | undefined;
337
338
  updatedBy?: string | null | undefined;
339
+ modifiedAt?: string | undefined;
338
340
  }, {
339
341
  type: string;
340
342
  id: string;
@@ -373,6 +375,7 @@ export declare const EventMetadata: z.ZodObject<{
373
375
  dateOfEvent?: string | null | undefined;
374
376
  updatedAtLocation?: string | null | undefined;
375
377
  updatedBy?: string | null | undefined;
378
+ modifiedAt?: string | undefined;
376
379
  }>;
377
380
  export type EventMetadata = z.infer<typeof EventMetadata>;
378
381
  export declare const EventMetadataKeysArray: readonly ["id", "type", "status", "createdAt", "dateOfEvent", "createdBy", "createdByUserType", "updatedByUserRole", "createdAtLocation", "updatedAtLocation", "updatedAt", "assignedTo", "updatedBy", "trackingId", "legalStatuses", "flags"];
@@ -45,9 +45,63 @@ declare function eventFn(fieldId: EventFieldId): {
45
45
  declare const event: typeof eventFn & {
46
46
  /**
47
47
  * Checks if the event contains a specific action type.
48
+ * Can be used directly as a conditional or chained with additional methods.
48
49
  * @param action - The action type to check for.
49
50
  */
50
- hasAction: (action: ActionType) => import("../conditionals/conditionals").JSONSchema;
51
+ hasAction: (action: ActionType) => {
52
+ /**
53
+ * Creates a conditional that checks if the event contains a specific action type
54
+ * with a minimum count of occurrences.
55
+ *
56
+ * @param minCount - The minimum number of actions required.
57
+ */
58
+ minCount: (minCount: number) => import("../conditionals/conditionals").JSONSchema;
59
+ /**
60
+ * Builds a conditional that sets a maximum count for the number of actions.
61
+ * This is useful for limiting the number of actions of a specific type in a single event.
62
+ */
63
+ maxCount: (maxCount: number) => import("../conditionals/conditionals").JSONSchema;
64
+ /**
65
+ * Adds additional field constraints to the action matching.
66
+ *
67
+ * @param fields - Object containing additional fields to match on the action.
68
+ */
69
+ withFields: (fields: Record<string, unknown>) => {
70
+ /**
71
+ * Creates a conditional that checks if the event contains a specific action type
72
+ * with a minimum count of occurrences.
73
+ *
74
+ * @param minCount - The minimum number of actions required.
75
+ */
76
+ minCount: (minCount: number) => import("../conditionals/conditionals").JSONSchema;
77
+ /**
78
+ * Builds a conditional that sets a maximum count for the number of actions.
79
+ * This is useful for limiting the number of actions of a specific type in a single event.
80
+ */
81
+ maxCount: (maxCount: number) => import("../conditionals/conditionals").JSONSchema;
82
+ };
83
+ /**
84
+ * Adds template ID constraint to the action matching.
85
+ * This is a convenience method that adds content.templateId to the fields.
86
+ *
87
+ * @param id - The template ID to match against.
88
+ */
89
+ withTemplate: (id: string) => {
90
+ /**
91
+ * Creates a conditional that checks if the event contains a specific action type
92
+ * with a minimum count of occurrences.
93
+ *
94
+ * @param minCount - The minimum number of actions required.
95
+ */
96
+ minCount: (minCount: number) => import("../conditionals/conditionals").JSONSchema;
97
+ /**
98
+ * Builds a conditional that sets a maximum count for the number of actions.
99
+ * This is useful for limiting the number of actions of a specific type in a single event.
100
+ */
101
+ maxCount: (maxCount: number) => import("../conditionals/conditionals").JSONSchema;
102
+ };
103
+ __nominal__type: "JSONSchema";
104
+ };
51
105
  field(field: WorkqueueColumnKeys): WorkqueueColumnValue;
52
106
  };
53
107
  export { event };
@@ -139,6 +139,7 @@ __export(events_exports, {
139
139
  PageConfig: () => PageConfig,
140
140
  PageTypes: () => PageTypes,
141
141
  PrintCertificateActionInput: () => PrintCertificateActionInput,
142
+ PrintContent: () => PrintContent,
142
143
  QueryExpression: () => QueryExpression,
143
144
  QueryInput: () => QueryInput,
144
145
  QueryType: () => QueryType,
@@ -197,6 +198,7 @@ __export(events_exports, {
197
198
  annotationActions: () => annotationActions,
198
199
  applyDeclarationToEventIndex: () => applyDeclarationToEventIndex,
199
200
  applyDraftsToEventIndex: () => applyDraftsToEventIndex,
201
+ areCertificateConditionsMet: () => areCertificateConditionsMet,
200
202
  areConditionsMet: () => areConditionsMet,
201
203
  compositeFieldTypes: () => compositeFieldTypes,
202
204
  createEmptyDraft: () => createEmptyDraft,
@@ -1222,7 +1224,8 @@ var CertificateConfig = import_zod11.z.object({
1222
1224
  delayed: import_zod11.z.number()
1223
1225
  }),
1224
1226
  svgUrl: import_zod11.z.string(),
1225
- fonts: import_zod11.z.record(FontFamily).optional()
1227
+ fonts: import_zod11.z.record(FontFamily).optional(),
1228
+ conditionals: import_zod11.z.array(ShowConditional).optional()
1226
1229
  });
1227
1230
  var CertificateTemplateConfig = CertificateConfig.extend({
1228
1231
  hash: import_zod11.z.string().optional(),
@@ -1902,11 +1905,15 @@ var ActionBase = import_zod19.z.object({
1902
1905
  originalActionId: UUID.optional().nullable().describe(
1903
1906
  "Reference to the original action that was asynchronously rejected or accepted by 3rd party integration."
1904
1907
  )
1908
+ // 'content' field reserved for additional data
1909
+ // Each action can define its own content specifc to the action
1910
+ // See PrintCertificateAction
1905
1911
  });
1906
1912
  var AssignedAction = ActionBase.merge(
1907
1913
  import_zod19.z.object({
1908
1914
  type: import_zod19.z.literal(ActionType.ASSIGN),
1909
1915
  assignedTo: import_zod19.z.string()
1916
+ // TODO move into 'content' property
1910
1917
  })
1911
1918
  );
1912
1919
  var UnassignedAction = ActionBase.merge(
@@ -1918,6 +1925,7 @@ var RegisterAction = ActionBase.merge(
1918
1925
  import_zod19.z.object({
1919
1926
  type: import_zod19.z.literal(ActionType.REGISTER),
1920
1927
  registrationNumber: import_zod19.z.string().optional()
1928
+ // TODO move into 'content' property
1921
1929
  })
1922
1930
  );
1923
1931
  var DeclareAction = ActionBase.merge(
@@ -1938,6 +1946,7 @@ var RejectAction = ActionBase.merge(
1938
1946
  import_zod19.z.object({
1939
1947
  type: import_zod19.z.literal(ActionType.REJECT),
1940
1948
  reason: RejectionReason
1949
+ // TODO move into 'content' property
1941
1950
  })
1942
1951
  );
1943
1952
  var MarkAsDuplicateAction = ActionBase.merge(
@@ -1949,6 +1958,7 @@ var ArchiveAction = ActionBase.merge(
1949
1958
  import_zod19.z.object({
1950
1959
  type: import_zod19.z.literal(ActionType.ARCHIVE),
1951
1960
  reason: RejectionReason
1961
+ // TODO move into 'content' property
1952
1962
  })
1953
1963
  );
1954
1964
  var CreatedAction = ActionBase.merge(
@@ -1961,9 +1971,13 @@ var NotifiedAction = ActionBase.merge(
1961
1971
  type: import_zod19.z.literal(ActionType.NOTIFY)
1962
1972
  })
1963
1973
  );
1974
+ var PrintContent = import_zod19.z.object({
1975
+ templateId: import_zod19.z.string().optional()
1976
+ });
1964
1977
  var PrintCertificateAction = ActionBase.merge(
1965
1978
  import_zod19.z.object({
1966
- type: import_zod19.z.literal(ActionType.PRINT_CERTIFICATE)
1979
+ type: import_zod19.z.literal(ActionType.PRINT_CERTIFICATE),
1980
+ content: PrintContent.optional().nullable()
1967
1981
  })
1968
1982
  );
1969
1983
  var RequestedCorrectionAction = ActionBase.merge(
@@ -1975,12 +1989,14 @@ var ApprovedCorrectionAction = ActionBase.merge(
1975
1989
  import_zod19.z.object({
1976
1990
  type: import_zod19.z.literal(ActionType.APPROVE_CORRECTION),
1977
1991
  requestId: import_zod19.z.string()
1992
+ // TODO move into 'content' property
1978
1993
  })
1979
1994
  );
1980
1995
  var RejectedCorrectionAction = ActionBase.merge(
1981
1996
  import_zod19.z.object({
1982
1997
  type: import_zod19.z.literal(ActionType.REJECT_CORRECTION),
1983
1998
  requestId: import_zod19.z.string(),
1999
+ // TODO move into 'content' property
1984
2000
  reason: RejectionReason
1985
2001
  })
1986
2002
  );
@@ -2031,7 +2047,7 @@ var ResolvedUser = import_zod19.z.object({
2031
2047
  });
2032
2048
 
2033
2049
  // ../commons/src/conditionals/validate.ts
2034
- var import_ajv = __toESM(require("ajv"));
2050
+ var import__ = __toESM(require("ajv/dist/2019"));
2035
2051
  var import_ajv_formats = __toESM(require("ajv-formats"));
2036
2052
  var import_date_fns = require("date-fns");
2037
2053
 
@@ -2245,9 +2261,11 @@ var isNonInteractiveFieldType = (field2) => {
2245
2261
  };
2246
2262
 
2247
2263
  // ../commons/src/conditionals/validate.ts
2248
- var ajv = new import_ajv.default({
2264
+ var ajv = new import__.default({
2249
2265
  $data: true,
2250
- allowUnionTypes: true
2266
+ allowUnionTypes: true,
2267
+ strict: false
2268
+ // Allow minContains and other newer features
2251
2269
  });
2252
2270
  (0, import_ajv_formats.default)(ajv);
2253
2271
  ajv.addKeyword({
@@ -2485,6 +2503,11 @@ function getValidatorsForField(fieldId, validations) {
2485
2503
  };
2486
2504
  }).filter((x) => x !== null);
2487
2505
  }
2506
+ function areCertificateConditionsMet(conditions, values) {
2507
+ return conditions.every((condition) => {
2508
+ return ajv.validate(condition.conditional, values);
2509
+ });
2510
+ }
2488
2511
 
2489
2512
  // ../commons/src/utils.ts
2490
2513
  function getOrThrow(x, message) {
@@ -3208,32 +3231,107 @@ function eventFn(fieldId) {
3208
3231
  var event = Object.assign(eventFn, {
3209
3232
  /**
3210
3233
  * Checks if the event contains a specific action type.
3234
+ * Can be used directly as a conditional or chained with additional methods.
3211
3235
  * @param action - The action type to check for.
3212
3236
  */
3213
- hasAction: (action) => defineConditional({
3214
- type: "object",
3215
- properties: {
3216
- $event: {
3237
+ hasAction: (action) => {
3238
+ const basicConditional = defineConditional({
3239
+ type: "object",
3240
+ properties: {
3241
+ $event: {
3242
+ type: "object",
3243
+ properties: {
3244
+ actions: {
3245
+ type: "array",
3246
+ contains: {
3247
+ type: "object",
3248
+ properties: {
3249
+ type: {
3250
+ const: action
3251
+ }
3252
+ },
3253
+ required: ["type"]
3254
+ }
3255
+ }
3256
+ },
3257
+ required: ["actions"]
3258
+ }
3259
+ },
3260
+ required: ["$event"]
3261
+ });
3262
+ const buildActionConstraints = (additionalFields) => {
3263
+ const actionProperties = {
3264
+ type: { const: action }
3265
+ };
3266
+ const requiredFields = ["type"];
3267
+ if (additionalFields) {
3268
+ Object.entries(additionalFields).forEach(([key, value]) => {
3269
+ actionProperties[key] = { const: value };
3270
+ requiredFields.push(key);
3271
+ });
3272
+ }
3273
+ return { actionProperties, requiredFields };
3274
+ };
3275
+ const createCountConditional = (countType, count, additionalFields) => {
3276
+ const { actionProperties, requiredFields } = buildActionConstraints(additionalFields);
3277
+ return defineConditional({
3217
3278
  type: "object",
3218
3279
  properties: {
3219
- actions: {
3220
- type: "array",
3221
- contains: {
3222
- type: "object",
3223
- properties: {
3224
- type: {
3225
- const: action
3226
- }
3227
- },
3228
- required: ["type"]
3229
- }
3280
+ $event: {
3281
+ type: "object",
3282
+ properties: {
3283
+ actions: {
3284
+ type: "array",
3285
+ contains: {
3286
+ type: "object",
3287
+ properties: actionProperties,
3288
+ required: requiredFields
3289
+ },
3290
+ [countType]: count
3291
+ }
3292
+ },
3293
+ required: ["actions"]
3230
3294
  }
3231
3295
  },
3232
- required: ["actions"]
3233
- }
3234
- },
3235
- required: ["$event"]
3236
- }),
3296
+ required: ["$event"]
3297
+ });
3298
+ };
3299
+ const withMinMax = (additionalFields) => {
3300
+ return {
3301
+ /**
3302
+ * Creates a conditional that checks if the event contains a specific action type
3303
+ * with a minimum count of occurrences.
3304
+ *
3305
+ * @param minCount - The minimum number of actions required.
3306
+ */
3307
+ minCount: (minCount) => createCountConditional("minContains", minCount, additionalFields),
3308
+ /**
3309
+ * Builds a conditional that sets a maximum count for the number of actions.
3310
+ * This is useful for limiting the number of actions of a specific type in a single event.
3311
+ */
3312
+ maxCount: (maxCount) => createCountConditional("maxContains", maxCount, additionalFields)
3313
+ };
3314
+ };
3315
+ const chainableMethods = {
3316
+ /**
3317
+ * Adds additional field constraints to the action matching.
3318
+ *
3319
+ * @param fields - Object containing additional fields to match on the action.
3320
+ */
3321
+ withFields: (fields) => withMinMax(fields),
3322
+ /**
3323
+ * Adds template ID constraint to the action matching.
3324
+ * This is a convenience method that adds content.templateId to the fields.
3325
+ *
3326
+ * @param id - The template ID to match against.
3327
+ */
3328
+ withTemplate: (id) => withMinMax({
3329
+ content: { templateId: id }
3330
+ }),
3331
+ ...withMinMax()
3332
+ };
3333
+ return { ...basicConditional, ...chainableMethods };
3334
+ },
3237
3335
  field(field2) {
3238
3336
  return {
3239
3337
  $event: field2
@@ -3318,7 +3416,8 @@ var EventMetadata = import_zod23.z.object({
3318
3416
  trackingId: import_zod23.z.string().describe(
3319
3417
  "System-generated tracking ID used by informants or registrars to look up the event."
3320
3418
  ),
3321
- flags: import_zod23.z.array(Flag)
3419
+ flags: import_zod23.z.array(Flag),
3420
+ modifiedAt: import_zod23.z.string().optional()
3322
3421
  });
3323
3422
  var EventMetadataKeysArray = [
3324
3423
  "id",
@@ -3893,7 +3992,8 @@ var DeclareActionInput = BaseActionInput.merge(
3893
3992
  );
3894
3993
  var PrintCertificateActionInput = BaseActionInput.merge(
3895
3994
  import_zod29.z.object({
3896
- type: import_zod29.z.literal(ActionType.PRINT_CERTIFICATE).default(ActionType.PRINT_CERTIFICATE)
3995
+ type: import_zod29.z.literal(ActionType.PRINT_CERTIFICATE).default(ActionType.PRINT_CERTIFICATE),
3996
+ content: PrintContent.optional()
3897
3997
  })
3898
3998
  );
3899
3999
  var RejectDeclarationActionInput = BaseActionInput.merge(
@@ -6835,7 +6935,11 @@ function generateActionDocument({
6835
6935
  case ActionType.NOTIFY:
6836
6936
  return { ...actionBase, type: action };
6837
6937
  case ActionType.PRINT_CERTIFICATE:
6838
- return { ...actionBase, type: action };
6938
+ return {
6939
+ ...actionBase,
6940
+ type: action,
6941
+ content: defaults.content
6942
+ };
6839
6943
  case ActionType.REQUEST_CORRECTION:
6840
6944
  return { ...actionBase, type: action };
6841
6945
  case ActionType.APPROVE_CORRECTION:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opencrvs/toolkit",
3
- "version": "1.8.1-rc.45a3ec4",
3
+ "version": "1.8.1-rc.4c1434e",
4
4
  "description": "OpenCRVS toolkit for building country configurations",
5
5
  "license": "MPL-2.0",
6
6
  "exports": {