@propxchain/core-client 0.2.1-canary.20 → 0.2.1-canary.21

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.
Files changed (40) hide show
  1. package/dist/canisters/document_storage/document_storage.did.d.ts.map +1 -1
  2. package/dist/canisters/document_storage/document_storage.did.js +90 -21
  3. package/dist/canisters/document_storage/document_storage.did.js.map +1 -1
  4. package/dist/canisters/document_verification/document_verification.did.d.ts.map +1 -1
  5. package/dist/canisters/document_verification/document_verification.did.js +132 -0
  6. package/dist/canisters/document_verification/document_verification.did.js.map +1 -1
  7. package/dist/canisters/email_service/email_service.did.d.ts.map +1 -1
  8. package/dist/canisters/email_service/email_service.did.js +40 -0
  9. package/dist/canisters/email_service/email_service.did.js.map +1 -1
  10. package/dist/canisters/land_registry_integration/land_registry_integration.did.d.ts.map +1 -1
  11. package/dist/canisters/land_registry_integration/land_registry_integration.did.js +186 -12
  12. package/dist/canisters/land_registry_integration/land_registry_integration.did.js.map +1 -1
  13. package/dist/canisters/ledger_manager/ledger_manager.did.d.ts.map +1 -1
  14. package/dist/canisters/ledger_manager/ledger_manager.did.js +55 -2
  15. package/dist/canisters/ledger_manager/ledger_manager.did.js.map +1 -1
  16. package/dist/canisters/user_management/user_management.did.d.ts.map +1 -1
  17. package/dist/canisters/user_management/user_management.did.js +103 -20
  18. package/dist/canisters/user_management/user_management.did.js.map +1 -1
  19. package/package.json +1 -1
  20. package/src/canisters/document_storage/document_storage.did +159 -89
  21. package/src/canisters/document_storage/document_storage.did.d.ts +159 -82
  22. package/src/canisters/document_storage/document_storage.did.js +230 -121
  23. package/src/canisters/document_verification/document_verification.did +248 -98
  24. package/src/canisters/document_verification/document_verification.did.d.ts +236 -112
  25. package/src/canisters/document_verification/document_verification.did.js +299 -139
  26. package/src/canisters/email_service/email_service.did +86 -37
  27. package/src/canisters/email_service/email_service.did.d.ts +92 -45
  28. package/src/canisters/email_service/email_service.did.js +131 -63
  29. package/src/canisters/land_registry_integration/land_registry_integration.did +395 -169
  30. package/src/canisters/land_registry_integration/land_registry_integration.did.d.ts +331 -157
  31. package/src/canisters/land_registry_integration/land_registry_integration.did.js +384 -182
  32. package/src/canisters/ledger_manager/ledger_manager.did +232 -161
  33. package/src/canisters/ledger_manager/ledger_manager.did.d.ts +205 -142
  34. package/src/canisters/ledger_manager/ledger_manager.did.js +256 -187
  35. package/src/canisters/property_registry/property_registry.did.d.ts +71 -71
  36. package/src/canisters/transaction_manager/transaction_manager.did +27 -0
  37. package/src/canisters/transaction_manager/transaction_manager.did.d.ts +29 -0
  38. package/src/canisters/user_management/user_management.did +297 -195
  39. package/src/canisters/user_management/user_management.did.d.ts +267 -191
  40. package/src/canisters/user_management/user_management.did.js +352 -237
@@ -1,139 +1,299 @@
1
- export const idlFactory = ({ IDL }) => {
2
- const Time = IDL.Int;
3
- const AuditLog = IDL.Record({
4
- 'id' : IDL.Nat,
5
- 'action' : IDL.Text,
6
- 'performedBy' : IDL.Principal,
7
- 'timestamp' : Time,
8
- 'details' : IDL.Text,
9
- 'success' : IDL.Bool,
10
- 'documentId' : IDL.Nat,
11
- });
12
- const DocumentMetadata = IDL.Record({
13
- 'id' : IDL.Nat,
14
- 'documentHash' : IDL.Text,
15
- 'documentType' : IDL.Text,
16
- 'contentType' : IDL.Opt(IDL.Text),
17
- 'propertyId' : IDL.Nat,
18
- 'fileName' : IDL.Opt(IDL.Text),
19
- 'fileSize' : IDL.Opt(IDL.Nat),
20
- 'isVerified' : IDL.Bool,
21
- 'lastVerificationId' : IDL.Opt(IDL.Nat),
22
- 'storageDocumentId' : IDL.Opt(IDL.Nat),
23
- 'uploadedAt' : Time,
24
- 'uploadedBy' : IDL.Principal,
25
- 'transactionId' : IDL.Opt(IDL.Nat),
26
- });
27
- const VerificationMethod = IDL.Variant({
28
- 'passport_dcs' : IDL.Null,
29
- 'commercial_api' : IDL.Text,
30
- 'system_hash_only' : IDL.Null,
31
- 'manual_solicitor' : IDL.Null,
32
- 'dvla_api' : IDL.Null,
33
- });
34
- const DocumentVerification = IDL.Record({
35
- 'id' : IDL.Nat,
36
- 'documentType' : IDL.Text,
37
- 'verificationDate' : Time,
38
- 'expiresAt' : IDL.Opt(Time),
39
- 'failureReason' : IDL.Opt(IDL.Text),
40
- 'propertyId' : IDL.Nat,
41
- 'hashVerified' : IDL.Bool,
42
- 'notes' : IDL.Opt(IDL.Text),
43
- 'documentId' : IDL.Nat,
44
- 'isValid' : IDL.Bool,
45
- 'expectedHash' : IDL.Text,
46
- 'calculatedHash' : IDL.Text,
47
- 'verifiedBy' : IDL.Principal,
48
- 'verificationMethod' : VerificationMethod,
49
- });
50
- const Result = IDL.Variant({ 'ok' : DocumentVerification, 'err' : IDL.Text });
51
- return IDL.Service({
52
- 'deleteDocument' : IDL.Func(
53
- [IDL.Nat],
54
- [IDL.Variant({ 'ok' : IDL.Null, 'err' : IDL.Text })],
55
- [],
56
- ),
57
- 'getAuditLogs' : IDL.Func([], [IDL.Vec(AuditLog)], ['query']),
58
- 'getConfiguration' : IDL.Func(
59
- [],
60
- [
61
- IDL.Record({
62
- 'userManagement' : IDL.Opt(IDL.Principal),
63
- 'documentStorage' : IDL.Opt(IDL.Principal),
64
- }),
65
- ],
66
- ['query'],
67
- ),
68
- 'getCycles' : IDL.Func([], [IDL.Nat], ['query']),
69
- 'getDocument' : IDL.Func([IDL.Nat], [IDL.Opt(DocumentMetadata)], ['query']),
70
- 'getDocumentVerifications' : IDL.Func(
71
- [IDL.Nat],
72
- [IDL.Vec(DocumentVerification)],
73
- ['query'],
74
- ),
75
- 'getPropertyDocuments' : IDL.Func(
76
- [IDL.Nat],
77
- [IDL.Vec(DocumentMetadata)],
78
- ['query'],
79
- ),
80
- 'getRecentAuditLogs' : IDL.Func([IDL.Nat], [IDL.Vec(AuditLog)], ['query']),
81
- 'getStats' : IDL.Func(
82
- [],
83
- [
84
- IDL.Record({
85
- 'totalVerifications' : IDL.Nat,
86
- 'totalAuditLogs' : IDL.Nat,
87
- 'verifiedDocuments' : IDL.Nat,
88
- 'totalDocuments' : IDL.Nat,
89
- }),
90
- ],
91
- ['query'],
92
- ),
93
- 'getUnverifiedDocuments' : IDL.Func(
94
- [IDL.Nat],
95
- [IDL.Vec(DocumentMetadata)],
96
- ['query'],
97
- ),
98
- 'getVerification' : IDL.Func(
99
- [IDL.Nat],
100
- [IDL.Opt(DocumentVerification)],
101
- ['query'],
102
- ),
103
- 'getVerificationsByVerifier' : IDL.Func(
104
- [IDL.Principal],
105
- [IDL.Vec(DocumentVerification)],
106
- ['query'],
107
- ),
108
- 'registerDocument' : IDL.Func(
109
- [
110
- IDL.Nat,
111
- IDL.Opt(IDL.Nat),
112
- IDL.Text,
113
- IDL.Text,
114
- IDL.Opt(IDL.Nat),
115
- IDL.Opt(IDL.Text),
116
- IDL.Opt(IDL.Nat),
117
- IDL.Opt(IDL.Text),
118
- ],
119
- [IDL.Nat],
120
- [],
121
- ),
122
- 'setDocumentStorageCanister' : IDL.Func([IDL.Principal], [], []),
123
- 'setUserManagementCanister' : IDL.Func([IDL.Principal], [], []),
124
- 'verifyDocument' : IDL.Func([IDL.Nat], [IDL.Bool], []),
125
- 'verifyDocumentWithHash' : IDL.Func(
126
- [IDL.Nat, IDL.Opt(IDL.Text)],
127
- [Result],
128
- [],
129
- ),
130
- 'verifyWithCommercialAPI' : IDL.Func(
131
- [IDL.Nat, IDL.Text, IDL.Text],
132
- [Result],
133
- [],
134
- ),
135
- 'verifyWithDVLA' : IDL.Func([IDL.Nat, IDL.Text], [Result], []),
136
- 'verifyWithPassportDCS' : IDL.Func([IDL.Nat, IDL.Text], [Result], []),
137
- });
138
- };
139
- export const init = ({ IDL }) => { return []; };
1
+ export const idlFactory = ({ IDL }) => {
2
+ const ActorType = IDL.Variant({
3
+ 'agent' : IDL.Null,
4
+ 'systemActor' : IDL.Null,
5
+ 'user' : IDL.Null,
6
+ });
7
+ const Time = IDL.Int;
8
+ const AuditLog = IDL.Record({
9
+ 'id' : IDL.Nat,
10
+ 'action' : IDL.Text,
11
+ 'actorType' : ActorType,
12
+ 'delegatedBy' : IDL.Opt(IDL.Principal),
13
+ 'performedBy' : IDL.Principal,
14
+ 'timestamp' : Time,
15
+ 'details' : IDL.Text,
16
+ 'success' : IDL.Bool,
17
+ 'documentId' : IDL.Nat,
18
+ });
19
+ const DocumentMetadata = IDL.Record({
20
+ 'id' : IDL.Nat,
21
+ 'documentHash' : IDL.Text,
22
+ 'documentType' : IDL.Text,
23
+ 'contentType' : IDL.Opt(IDL.Text),
24
+ 'propertyId' : IDL.Nat,
25
+ 'fileName' : IDL.Opt(IDL.Text),
26
+ 'fileSize' : IDL.Opt(IDL.Nat),
27
+ 'isVerified' : IDL.Bool,
28
+ 'lastVerificationId' : IDL.Opt(IDL.Nat),
29
+ 'storageDocumentId' : IDL.Opt(IDL.Nat),
30
+ 'uploadedAt' : Time,
31
+ 'uploadedBy' : IDL.Principal,
32
+ 'transactionId' : IDL.Opt(IDL.Nat),
33
+ });
34
+ const OscarIssue = IDL.Record({
35
+ 'field' : IDL.Opt(IDL.Text),
36
+ 'code' : IDL.Text,
37
+ 'message' : IDL.Text,
38
+ 'severity' : IDL.Variant({
39
+ 'warning' : IDL.Null,
40
+ 'info' : IDL.Null,
41
+ 'error' : IDL.Null,
42
+ }),
43
+ });
44
+ const DataMismatch = IDL.Record({
45
+ 'field' : IDL.Text,
46
+ 'found' : IDL.Text,
47
+ 'expected' : IDL.Text,
48
+ });
49
+ const OscarVerificationDetails = IDL.Record({
50
+ 'documentType' : IDL.Text,
51
+ 'requiresSolicitorReview' : IDL.Bool,
52
+ 'extractedData' : IDL.Text,
53
+ 'issues' : IDL.Vec(OscarIssue),
54
+ 'mismatches' : IDL.Vec(DataMismatch),
55
+ 'confidence' : IDL.Nat,
56
+ 'analysisTimestamp' : Time,
57
+ });
58
+ const VerificationMethod = IDL.Variant({
59
+ 'oscar_ai' : OscarVerificationDetails,
60
+ 'passport_dcs' : IDL.Null,
61
+ 'commercial_api' : IDL.Text,
62
+ 'system_hash_only' : IDL.Null,
63
+ 'manual_solicitor' : IDL.Null,
64
+ 'dvla_api' : IDL.Null,
65
+ });
66
+ const DocumentVerification = IDL.Record({
67
+ 'id' : IDL.Nat,
68
+ 'documentType' : IDL.Text,
69
+ 'verificationDate' : Time,
70
+ 'expiresAt' : IDL.Opt(Time),
71
+ 'failureReason' : IDL.Opt(IDL.Text),
72
+ 'propertyId' : IDL.Nat,
73
+ 'hashVerified' : IDL.Bool,
74
+ 'notes' : IDL.Opt(IDL.Text),
75
+ 'documentId' : IDL.Nat,
76
+ 'isValid' : IDL.Bool,
77
+ 'expectedHash' : IDL.Text,
78
+ 'calculatedHash' : IDL.Text,
79
+ 'verifiedBy' : IDL.Principal,
80
+ 'verificationMethod' : VerificationMethod,
81
+ });
82
+ const LRDocumentType = IDL.Variant({
83
+ 'LandChargesSearchK16' : IDL.Null,
84
+ 'OfficialSearchCertificate' : IDL.Null,
85
+ 'SearchOfPartCertificate' : IDL.Null,
86
+ 'RegisterExtract' : IDL.Null,
87
+ 'OfficialCopyRegister' : IDL.Null,
88
+ 'LocalAuthoritySearch' : IDL.Null,
89
+ 'OfficialCopyTitlePlan' : IDL.Null,
90
+ 'CompletionConfirmation' : IDL.Null,
91
+ 'AP1Acknowledgement' : IDL.Null,
92
+ 'RequisitionNotice' : IDL.Null,
93
+ });
94
+ const LRDocumentSummary = IDL.Record({
95
+ 'documentType' : LRDocumentType,
96
+ 'isVerified' : IDL.Bool,
97
+ 'isCurrent' : IDL.Bool,
98
+ 'landRegistryReference' : IDL.Opt(IDL.Text),
99
+ 'validUntil' : IDL.Opt(IDL.Int),
100
+ });
101
+ const TransactionVerificationSummary = IDL.Record({
102
+ 'missingDocuments' : IDL.Vec(IDL.Text),
103
+ 'expiredDocuments' : IDL.Nat,
104
+ 'hasOfficialSearch' : IDL.Bool,
105
+ 'titleNumber' : IDL.Text,
106
+ 'allDocumentsVerified' : IDL.Bool,
107
+ 'readyForSubmission' : IDL.Bool,
108
+ 'readyForCompletion' : IDL.Bool,
109
+ 'officialSearchValid' : IDL.Bool,
110
+ 'allLRDocumentsCurrent' : IDL.Bool,
111
+ 'verifiedDocuments' : IDL.Nat,
112
+ 'daysUntilSearchExpiry' : IDL.Opt(IDL.Int),
113
+ 'lrDocuments' : IDL.Vec(LRDocumentSummary),
114
+ 'officialSearchExpiry' : IDL.Opt(IDL.Int),
115
+ 'readyForExchange' : IDL.Bool,
116
+ 'unverifiedDocuments' : IDL.Nat,
117
+ 'totalDocuments' : IDL.Nat,
118
+ 'transactionId' : IDL.Text,
119
+ });
120
+ const Result_4 = IDL.Variant({
121
+ 'ok' : TransactionVerificationSummary,
122
+ 'err' : IDL.Text,
123
+ });
124
+ const Result_3 = IDL.Variant({ 'ok' : IDL.Nat, 'err' : IDL.Text });
125
+ const Result = IDL.Variant({ 'ok' : DocumentVerification, 'err' : IDL.Text });
126
+ const OfficialCopyVerification = IDL.Record({
127
+ 'documentAge' : IDL.Nat,
128
+ 'hashVerified' : IDL.Bool,
129
+ 'issuedAt' : IDL.Int,
130
+ 'titleNumberMatches' : IDL.Bool,
131
+ 'isCurrent' : IDL.Bool,
132
+ 'copyType' : LRDocumentType,
133
+ 'verifiedAt' : IDL.Int,
134
+ 'verifiedBy' : IDL.Principal,
135
+ });
136
+ const Result_2 = IDL.Variant({
137
+ 'ok' : OfficialCopyVerification,
138
+ 'err' : IDL.Text,
139
+ });
140
+ const PriorityStatus = IDL.Variant({
141
+ 'Active' : IDL.Null,
142
+ 'ExpiringImminently' : IDL.Null,
143
+ 'Unknown' : IDL.Null,
144
+ 'Expired' : IDL.Null,
145
+ });
146
+ const OSCertificateVerification = IDL.Record({
147
+ 'priorityStatus' : PriorityStatus,
148
+ 'registerChangedFlag' : IDL.Opt(IDL.Bool),
149
+ 'advisoryEntries' : IDL.Vec(IDL.Text),
150
+ 'hashVerified' : IDL.Bool,
151
+ 'priorityExpiry' : IDL.Opt(IDL.Int),
152
+ 'titleNumberMatches' : IDL.Bool,
153
+ 'daysRemaining' : IDL.Opt(IDL.Int),
154
+ 'verifiedAt' : IDL.Int,
155
+ 'verifiedBy' : IDL.Principal,
156
+ });
157
+ const Result_1 = IDL.Variant({
158
+ 'ok' : OSCertificateVerification,
159
+ 'err' : IDL.Text,
160
+ });
161
+ const OscarVerificationInput = IDL.Record({
162
+ 'documentType' : IDL.Text,
163
+ 'requiresSolicitorReview' : IDL.Bool,
164
+ 'extractedData' : IDL.Text,
165
+ 'issues' : IDL.Vec(OscarIssue),
166
+ 'mismatches' : IDL.Vec(DataMismatch),
167
+ 'confidence' : IDL.Nat,
168
+ });
169
+ return IDL.Service({
170
+ 'deleteDocument' : IDL.Func(
171
+ [IDL.Nat],
172
+ [IDL.Variant({ 'ok' : IDL.Null, 'err' : IDL.Text })],
173
+ [],
174
+ ),
175
+ 'getAuditLogs' : IDL.Func([], [IDL.Vec(AuditLog)], ['query']),
176
+ 'getConfiguration' : IDL.Func(
177
+ [],
178
+ [
179
+ IDL.Record({
180
+ 'userManagement' : IDL.Opt(IDL.Principal),
181
+ 'documentStorage' : IDL.Opt(IDL.Principal),
182
+ }),
183
+ ],
184
+ ['query'],
185
+ ),
186
+ 'getCycles' : IDL.Func([], [IDL.Nat], ['query']),
187
+ 'getDocument' : IDL.Func([IDL.Nat], [IDL.Opt(DocumentMetadata)], ['query']),
188
+ 'getDocumentVerifications' : IDL.Func(
189
+ [IDL.Nat],
190
+ [IDL.Vec(DocumentVerification)],
191
+ ['query'],
192
+ ),
193
+ 'getOscarVerificationDetails' : IDL.Func(
194
+ [IDL.Nat],
195
+ [IDL.Opt(OscarVerificationDetails)],
196
+ ['query'],
197
+ ),
198
+ 'getPropertyDocuments' : IDL.Func(
199
+ [IDL.Nat],
200
+ [IDL.Vec(DocumentMetadata)],
201
+ ['query'],
202
+ ),
203
+ 'getRecentAuditLogs' : IDL.Func([IDL.Nat], [IDL.Vec(AuditLog)], ['query']),
204
+ 'getStats' : IDL.Func(
205
+ [],
206
+ [
207
+ IDL.Record({
208
+ 'totalVerifications' : IDL.Nat,
209
+ 'totalAuditLogs' : IDL.Nat,
210
+ 'verifiedDocuments' : IDL.Nat,
211
+ 'totalDocuments' : IDL.Nat,
212
+ }),
213
+ ],
214
+ ['query'],
215
+ ),
216
+ 'getTransactionVerificationSummary' : IDL.Func(
217
+ [IDL.Text, IDL.Text],
218
+ [Result_4],
219
+ [],
220
+ ),
221
+ 'getUnverifiedDocuments' : IDL.Func(
222
+ [IDL.Nat],
223
+ [IDL.Vec(DocumentMetadata)],
224
+ ['query'],
225
+ ),
226
+ 'getVerification' : IDL.Func(
227
+ [IDL.Nat],
228
+ [IDL.Opt(DocumentVerification)],
229
+ ['query'],
230
+ ),
231
+ 'getVerificationsByTransaction' : IDL.Func(
232
+ [IDL.Nat],
233
+ [IDL.Vec(DocumentVerification)],
234
+ ['query'],
235
+ ),
236
+ 'getVerificationsByVerifier' : IDL.Func(
237
+ [IDL.Principal],
238
+ [IDL.Vec(DocumentVerification)],
239
+ ['query'],
240
+ ),
241
+ 'recordAuditEntry' : IDL.Func(
242
+ [
243
+ ActorType,
244
+ IDL.Opt(IDL.Principal),
245
+ IDL.Text,
246
+ IDL.Nat,
247
+ IDL.Text,
248
+ IDL.Bool,
249
+ ],
250
+ [Result_3],
251
+ [],
252
+ ),
253
+ 'registerDocument' : IDL.Func(
254
+ [
255
+ IDL.Nat,
256
+ IDL.Opt(IDL.Nat),
257
+ IDL.Text,
258
+ IDL.Text,
259
+ IDL.Opt(IDL.Nat),
260
+ IDL.Opt(IDL.Text),
261
+ IDL.Opt(IDL.Nat),
262
+ IDL.Opt(IDL.Text),
263
+ ],
264
+ [IDL.Nat],
265
+ [],
266
+ ),
267
+ 'setDocumentStorageCanister' : IDL.Func([IDL.Principal], [], []),
268
+ 'setUserManagementCanister' : IDL.Func([IDL.Principal], [], []),
269
+ 'verifyDocument' : IDL.Func([IDL.Nat], [IDL.Bool], []),
270
+ 'verifyDocumentWithHash' : IDL.Func(
271
+ [IDL.Nat, IDL.Opt(IDL.Text)],
272
+ [Result],
273
+ [],
274
+ ),
275
+ 'verifyOfficialCopy' : IDL.Func(
276
+ [IDL.Nat, IDL.Text, IDL.Nat],
277
+ [Result_2],
278
+ [],
279
+ ),
280
+ 'verifyOfficialSearchCertificate' : IDL.Func(
281
+ [IDL.Nat, IDL.Text, IDL.Opt(IDL.Text)],
282
+ [Result_1],
283
+ [],
284
+ ),
285
+ 'verifyWithCommercialAPI' : IDL.Func(
286
+ [IDL.Nat, IDL.Text, IDL.Text],
287
+ [Result],
288
+ [],
289
+ ),
290
+ 'verifyWithDVLA' : IDL.Func([IDL.Nat, IDL.Text], [Result], []),
291
+ 'verifyWithOscar' : IDL.Func(
292
+ [IDL.Nat, OscarVerificationInput],
293
+ [Result],
294
+ [],
295
+ ),
296
+ 'verifyWithPassportDCS' : IDL.Func([IDL.Nat, IDL.Text], [Result], []),
297
+ });
298
+ };
299
+ export const init = ({ IDL }) => { return []; };
@@ -1,37 +1,86 @@
1
- type EmailNotification =
2
- record {
3
- company: opt text;
4
- contactType: ContactType;
5
- email: text;
6
- id: nat;
7
- message: text;
8
- name: text;
9
- partnerType: opt text;
10
- phone: opt text;
11
- processed: bool;
12
- subject: text;
13
- timestamp: int;
14
- userType: opt text;
15
- volume: opt text;
16
- website: opt text;
17
- };
18
- type ContactType =
19
- variant {
20
- partners;
21
- sales;
22
- support;
23
- };
24
- service : {
25
- formatNotificationAsEmail: (id: nat) -> (opt text) query;
26
- getAllNotifications: () -> (vec EmailNotification) query;
27
- getNotification: (id: nat) -> (opt EmailNotification) query;
28
- getUnprocessedCount: () -> (nat) query;
29
- getUnprocessedNotifications: () -> (vec EmailNotification) query;
30
- markAsProcessed: (id: nat) -> (bool);
31
- submitPartnerInquiry: (name: text, email: text, company: text, website:
32
- text, partnerType: text, message: text) -> (nat);
33
- submitSalesInquiry: (name: text, email: text, company: text, phone:
34
- text, userType: text, volume: text, message: text) -> (nat);
35
- submitSupportRequest: (name: text, email: text, subject: text, message:
36
- text) -> (nat);
37
- }
1
+ type Result_1 =
2
+ variant {
3
+ err: text;
4
+ ok: nat;
5
+ };
6
+ type Result =
7
+ variant {
8
+ err: text;
9
+ ok: text;
10
+ };
11
+ type EmailNotification =
12
+ record {
13
+ company: opt text;
14
+ contactType: ContactType;
15
+ email: text;
16
+ id: nat;
17
+ lrNotificationType: opt text;
18
+ message: text;
19
+ name: text;
20
+ partnerType: opt text;
21
+ phone: opt text;
22
+ processed: bool;
23
+ propertyAddress: opt text;
24
+ subject: text;
25
+ timestamp: int;
26
+ titleNumber: opt text;
27
+ transactionId: opt text;
28
+ userType: opt text;
29
+ volume: opt text;
30
+ website: opt text;
31
+ };
32
+ type ContactType =
33
+ variant {
34
+ email_verification;
35
+ lr_application_registered;
36
+ lr_application_submitted;
37
+ lr_budget_alert;
38
+ lr_official_search_complete;
39
+ lr_requisition_raised;
40
+ lr_search_expiry_warning;
41
+ lr_status_change;
42
+ message_notification;
43
+ partners;
44
+ sales;
45
+ support;
46
+ };
47
+ service : {
48
+ checkAndSendExpiryWarnings: (daysThreshold: nat) -> (Result_1);
49
+ disableExpiryWarningTimer: () -> (Result);
50
+ enableExpiryWarningTimer: () -> (Result);
51
+ formatNotificationAsEmail: (id: nat) -> (opt text) query;
52
+ getAllNotifications: () -> (vec EmailNotification) query;
53
+ getCycles: () -> (nat) query;
54
+ getExpiryWarningStatus: () ->
55
+ (record {
56
+ lastCheckTime: int;
57
+ timerActive: bool;
58
+ }) query;
59
+ getLandRegistryNotifications: (txnId: text) ->
60
+ (vec EmailNotification) query;
61
+ getNotification: (id: nat) -> (opt EmailNotification) query;
62
+ getTransactionManagerCanister: () -> (text) query;
63
+ getUnprocessedCount: () -> (nat) query;
64
+ getUnprocessedLRNotifications: () -> (vec EmailNotification) query;
65
+ getUnprocessedNotifications: () -> (vec EmailNotification) query;
66
+ getUserManagementCanister: () -> (text) query;
67
+ markAsProcessed: (id: nat) -> (bool);
68
+ sendBudgetAlert: (recipientEmail: text, recipientName: text, currentSpend:
69
+ nat, budgetLimit: nat, percentUsed: nat) -> (nat);
70
+ sendLandRegistryNotification: (recipientEmail: text, recipientName:
71
+ text, notificationType: text, txnId: text, title: text, propAddress:
72
+ text, details: text) -> (nat);
73
+ setTransactionManagerCanister: (canisterId: text) -> (Result);
74
+ setUserManagementCanister: (canisterId: text) -> (Result);
75
+ submitEmailVerification: (name: text, email: text, verificationToken:
76
+ text) -> (nat);
77
+ submitMessageNotification: (recipientEmail: text, recipientName: text,
78
+ senderName: text, subject: text, messagePreview: text, threadId: text,
79
+ transactionId: text, propertyAddress: text, priority: text) -> (nat);
80
+ submitPartnerInquiry: (name: text, email: text, company: text, website:
81
+ text, partnerType: text, message: text) -> (nat);
82
+ submitSalesInquiry: (name: text, email: text, company: text, phone:
83
+ text, userType: text, volume: text, message: text) -> (nat);
84
+ submitSupportRequest: (name: text, email: text, subject: text, message:
85
+ text) -> (nat);
86
+ }