@jsm-mit/sultana-core-motoko-package 0.0.21 → 0.0.23
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/declarations/sultana-core-motoko/sultana-core-motoko.did +80 -44
- package/declarations/sultana-core-motoko/sultana-core-motoko.did.d.ts +72 -43
- package/declarations/sultana-core-motoko/sultana-core-motoko.did.js +77 -53
- package/dist/actors/admin-actor.d.ts +31 -1
- package/dist/actors/admin-actor.d.ts.map +1 -1
- package/dist/actors/admin-actor.js +36 -0
- package/dist/actors/assets-actor.d.ts +22 -7
- package/dist/actors/assets-actor.d.ts.map +1 -1
- package/dist/actors/assets-actor.js +25 -6
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/video-upload-client.d.ts +42 -1
- package/dist/video-upload-client.d.ts.map +1 -1
- package/dist/video-upload-client.js +78 -26
- package/package.json +1 -1
|
@@ -81,6 +81,11 @@ type UpdateProfileArgs =
|
|
|
81
81
|
whatsAppNumber: opt text;
|
|
82
82
|
};
|
|
83
83
|
type TimeMask = vec nat64;
|
|
84
|
+
type StorageSettings =
|
|
85
|
+
record {
|
|
86
|
+
salonStorageLimitBytes: nat;
|
|
87
|
+
videoPendingHoldBytes: nat;
|
|
88
|
+
};
|
|
84
89
|
type StatsRangeArgs =
|
|
85
90
|
record {
|
|
86
91
|
fromTimestampNs: nat64;
|
|
@@ -119,6 +124,12 @@ type SearchForSalonServicesArgs =
|
|
|
119
124
|
targetCount: opt nat8;
|
|
120
125
|
timeOffset: int;
|
|
121
126
|
};
|
|
127
|
+
type SalonStorageUsage =
|
|
128
|
+
record {
|
|
129
|
+
limitBytes: nat;
|
|
130
|
+
pendingHeldBytes: nat;
|
|
131
|
+
usedBytes: nat;
|
|
132
|
+
};
|
|
122
133
|
type SalonServiceId = text;
|
|
123
134
|
type SalonService =
|
|
124
135
|
record {
|
|
@@ -141,11 +152,17 @@ type SalonCandidatesEntry =
|
|
|
141
152
|
candidateIds: vec principal;
|
|
142
153
|
salonId: SalonId;
|
|
143
154
|
};
|
|
155
|
+
type SalonAssetsEntry =
|
|
156
|
+
record {
|
|
157
|
+
assets: vec SalonAsset;
|
|
158
|
+
salonId: SalonId;
|
|
159
|
+
};
|
|
144
160
|
type SalonAsset =
|
|
145
161
|
record {
|
|
146
162
|
assetId: AssetId;
|
|
147
163
|
createdAt: int;
|
|
148
164
|
kind: AssetKind;
|
|
165
|
+
sizeBytes: nat;
|
|
149
166
|
status: AssetStatus;
|
|
150
167
|
thumbId: AssetId;
|
|
151
168
|
};
|
|
@@ -201,37 +218,37 @@ type Result_3 =
|
|
|
201
218
|
err: Error;
|
|
202
219
|
ok: nat;
|
|
203
220
|
};
|
|
204
|
-
type
|
|
221
|
+
type Result_28 =
|
|
205
222
|
variant {
|
|
206
223
|
err: Error;
|
|
207
224
|
ok: SalonServiceId;
|
|
208
225
|
};
|
|
209
|
-
type
|
|
226
|
+
type Result_27 =
|
|
210
227
|
variant {
|
|
211
228
|
err: Error;
|
|
212
229
|
ok: vec SalonServiceId;
|
|
213
230
|
};
|
|
214
|
-
type
|
|
231
|
+
type Result_26 =
|
|
215
232
|
variant {
|
|
216
233
|
err: Error;
|
|
217
234
|
ok: vec SalonId;
|
|
218
235
|
};
|
|
219
|
-
type
|
|
236
|
+
type Result_25 =
|
|
220
237
|
variant {
|
|
221
238
|
err: Error;
|
|
222
239
|
ok: AppointmentId;
|
|
223
240
|
};
|
|
224
|
-
type
|
|
241
|
+
type Result_24 =
|
|
225
242
|
variant {
|
|
226
243
|
err: Error;
|
|
227
244
|
ok: SalonId;
|
|
228
245
|
};
|
|
229
|
-
type
|
|
246
|
+
type Result_23 =
|
|
230
247
|
variant {
|
|
231
248
|
err: Error;
|
|
232
249
|
ok: ActionQuotaLimits;
|
|
233
250
|
};
|
|
234
|
-
type
|
|
251
|
+
type Result_22 =
|
|
235
252
|
variant {
|
|
236
253
|
err: Error;
|
|
237
254
|
ok: record {
|
|
@@ -239,37 +256,37 @@ type Result_20 =
|
|
|
239
256
|
trackingSinceNs: nat64;
|
|
240
257
|
};
|
|
241
258
|
};
|
|
242
|
-
type
|
|
259
|
+
type Result_21 =
|
|
243
260
|
variant {
|
|
244
261
|
err: Error;
|
|
245
|
-
ok:
|
|
262
|
+
ok: vec DailyScheduleEntry;
|
|
246
263
|
};
|
|
247
|
-
type
|
|
264
|
+
type Result_20 =
|
|
248
265
|
variant {
|
|
249
266
|
err: Error;
|
|
250
|
-
ok: vec
|
|
267
|
+
ok: vec nat64;
|
|
251
268
|
};
|
|
252
|
-
type
|
|
269
|
+
type Result_2 =
|
|
253
270
|
variant {
|
|
254
271
|
err: Error;
|
|
255
|
-
ok:
|
|
272
|
+
ok: UserProfile;
|
|
256
273
|
};
|
|
257
|
-
type
|
|
274
|
+
type Result_19 =
|
|
258
275
|
variant {
|
|
259
276
|
err: Error;
|
|
260
277
|
ok: TimeMask;
|
|
261
278
|
};
|
|
262
|
-
type
|
|
279
|
+
type Result_18 =
|
|
263
280
|
variant {
|
|
264
281
|
err: Error;
|
|
265
282
|
ok: MigrationData;
|
|
266
283
|
};
|
|
267
|
-
type
|
|
284
|
+
type Result_17 =
|
|
268
285
|
variant {
|
|
269
286
|
err: Error;
|
|
270
287
|
ok: vec Appointment;
|
|
271
288
|
};
|
|
272
|
-
type
|
|
289
|
+
type Result_16 =
|
|
273
290
|
variant {
|
|
274
291
|
err: Error;
|
|
275
292
|
ok: record {
|
|
@@ -278,26 +295,36 @@ type Result_14 =
|
|
|
278
295
|
updateThresholdMs: nat;
|
|
279
296
|
};
|
|
280
297
|
};
|
|
281
|
-
type
|
|
298
|
+
type Result_15 =
|
|
282
299
|
variant {
|
|
283
300
|
err: Error;
|
|
284
301
|
ok: vec SalonAsset;
|
|
285
302
|
};
|
|
286
|
-
type
|
|
303
|
+
type Result_14 =
|
|
304
|
+
variant {
|
|
305
|
+
err: Error;
|
|
306
|
+
ok: SalonStorageUsage;
|
|
307
|
+
};
|
|
308
|
+
type Result_13 =
|
|
287
309
|
variant {
|
|
288
310
|
err: Error;
|
|
289
311
|
ok: vec Salon;
|
|
290
312
|
};
|
|
291
|
-
type
|
|
313
|
+
type Result_12 =
|
|
292
314
|
variant {
|
|
293
315
|
err: Error;
|
|
294
316
|
ok: vec ServiceTypeId;
|
|
295
317
|
};
|
|
296
|
-
type
|
|
318
|
+
type Result_11 =
|
|
297
319
|
variant {
|
|
298
320
|
err: Error;
|
|
299
321
|
ok: vec OperationStat;
|
|
300
322
|
};
|
|
323
|
+
type Result_10 =
|
|
324
|
+
variant {
|
|
325
|
+
err: Error;
|
|
326
|
+
ok: StorageSettings;
|
|
327
|
+
};
|
|
301
328
|
type Result_1 =
|
|
302
329
|
variant {
|
|
303
330
|
err: Error;
|
|
@@ -335,6 +362,7 @@ type RegisterAssetArgs =
|
|
|
335
362
|
assetId: AssetId;
|
|
336
363
|
kind: AssetKind;
|
|
337
364
|
salonId: SalonId;
|
|
365
|
+
sizeBytes: nat;
|
|
338
366
|
targetSalonServiceId: opt SalonServiceId;
|
|
339
367
|
thumbId: AssetId;
|
|
340
368
|
user: principal;
|
|
@@ -377,6 +405,7 @@ type MigrationQueryArgs =
|
|
|
377
405
|
type MigrationEntity =
|
|
378
406
|
variant {
|
|
379
407
|
Appointments;
|
|
408
|
+
SalonAssets;
|
|
380
409
|
SalonCandidates;
|
|
381
410
|
SalonServices;
|
|
382
411
|
Salons;
|
|
@@ -388,6 +417,7 @@ type MigrationEntity =
|
|
|
388
417
|
type MigrationData =
|
|
389
418
|
variant {
|
|
390
419
|
Appointments: vec Appointment;
|
|
420
|
+
SalonAssets: vec SalonAssetsEntry;
|
|
391
421
|
SalonCandidates: vec SalonCandidatesEntry;
|
|
392
422
|
SalonServices: vec SalonService;
|
|
393
423
|
Salons: vec Salon;
|
|
@@ -509,6 +539,7 @@ type Coordinate =
|
|
|
509
539
|
};
|
|
510
540
|
type CanUploadAssetArgs =
|
|
511
541
|
record {
|
|
542
|
+
declaredSizeBytes: opt nat;
|
|
512
543
|
salonId: SalonId;
|
|
513
544
|
targetSalonServiceId: opt SalonServiceId;
|
|
514
545
|
user: principal;
|
|
@@ -633,26 +664,26 @@ service : {
|
|
|
633
664
|
/// Owner accepts a candidate into the team
|
|
634
665
|
acceptWorker: (args: AcceptWorkerArgs) -> (Result_1);
|
|
635
666
|
/// Adds a new service to a specific salon
|
|
636
|
-
addSalonService: (args: AddSalonServiceArgs) -> (
|
|
667
|
+
addSalonService: (args: AddSalonServiceArgs) -> (Result_28);
|
|
637
668
|
addServiceType: (id: ServiceTypeId) -> (Result_1);
|
|
638
669
|
addServiceTypeToSalonService: (args: AddOrRemoveServiceTypeInSalonArgs) ->
|
|
639
670
|
(Result_1);
|
|
640
671
|
addWorkerToSalonService: (args: AddOrRemoveWorkerInSalonArgs) -> (Result_1);
|
|
641
672
|
/// Owner attaches an image from the salon's library to one of that salon's services
|
|
642
673
|
attachImageToSalonService: (args: AttachOrDetachImageArgs) -> (Result_1);
|
|
643
|
-
bookAppointment: (args: BookAppointmentArgs) -> (
|
|
674
|
+
bookAppointment: (args: BookAppointmentArgs) -> (Result_25);
|
|
644
675
|
bulkAcceptWorkers: (args: BulkAcceptWorkersArgs) -> (Result_1);
|
|
645
|
-
bulkAddSalonServices: (args: BulkAddSalonServicesArgs) -> (
|
|
646
|
-
bulkAddServiceTypes: (ids: vec ServiceTypeId) -> (
|
|
647
|
-
bulkCreateSalons: (args: BulkCreateSalonsArgs) -> (
|
|
676
|
+
bulkAddSalonServices: (args: BulkAddSalonServicesArgs) -> (Result_27);
|
|
677
|
+
bulkAddServiceTypes: (ids: vec ServiceTypeId) -> (Result_12);
|
|
678
|
+
bulkCreateSalons: (args: BulkCreateSalonsArgs) -> (Result_26);
|
|
648
679
|
bulkRequestToJoinSalons: (args: BulkRequestToJoinSalonsArgs) -> (Result_1);
|
|
649
680
|
bulkSetWeeklyTemplates: (args: BulkSetWeeklyTemplatesArgs) -> (Result_1);
|
|
650
681
|
/// Asset canister only: pre-upload authorization, asked before any bytes are stored
|
|
651
682
|
canUploadAsset: (args: CanUploadAssetArgs) -> (Result_1);
|
|
652
|
-
cancelAppointment: (appointmentId: AppointmentId) -> (
|
|
683
|
+
cancelAppointment: (appointmentId: AppointmentId) -> (Result_25);
|
|
653
684
|
clearLogs: () -> ();
|
|
654
685
|
/// Creates a new salon and links it to the caller
|
|
655
|
-
createSalon: (args: CreateSalonArgs) -> (
|
|
686
|
+
createSalon: (args: CreateSalonArgs) -> (Result_24);
|
|
656
687
|
createVisit: (args: CreateVisitArgs) -> (Result);
|
|
657
688
|
/// Superadmin only: raw byte removal on sultana-assets-rust (orphaned-bytes cleanup)
|
|
658
689
|
deleteAssetRaw: (assetId: text) -> (Result_1);
|
|
@@ -663,48 +694,51 @@ service : {
|
|
|
663
694
|
deregisterAsset: (args: DeregisterAssetArgs) -> (Result_1);
|
|
664
695
|
/// Owner detaches an image from a service (the asset stays in the salon's library)
|
|
665
696
|
detachImageFromSalonService: (args: AttachOrDetachImageArgs) -> (Result_1);
|
|
666
|
-
getActionQuotaLimits: () -> (
|
|
697
|
+
getActionQuotaLimits: () -> (Result_23) query;
|
|
667
698
|
getAllProfiles: () -> (Result_7) query;
|
|
668
699
|
getAppointmentsForSalon: (args: GetSalonAppointmentsArgs) ->
|
|
669
|
-
(
|
|
700
|
+
(Result_17) query;
|
|
670
701
|
getAssetCanisterPrincipal: () -> (Result_4) query;
|
|
671
702
|
/// Superadmin-only: returns every principal's lifetime (total, productive) call counters plus the tracking window start
|
|
672
|
-
getCallActivityStats: () -> (
|
|
703
|
+
getCallActivityStats: () -> (Result_22) query;
|
|
673
704
|
/// Returns the list of profiles waiting for approval (Owner only)
|
|
674
705
|
getCandidatesBySalonId: (salonId: SalonId) -> (Result_7) query;
|
|
675
706
|
/// Returns a specific daily override if it exists
|
|
676
|
-
getDailySchedule: (args: GetDailyScheduleArgs) -> (
|
|
707
|
+
getDailySchedule: (args: GetDailyScheduleArgs) -> (Result_19) query;
|
|
677
708
|
/// Returns daily schedules with midnight timestamp in [fromDate, toDate] - for data migration to another canister
|
|
678
709
|
getDailySchedulesForMigration: (args: DailyScheduleRangeArgs) ->
|
|
679
|
-
(
|
|
710
|
+
(Result_21) query;
|
|
680
711
|
getDayFromWeeklyTemplate: (args: GetDayFromWeeklyTemplateArgs) ->
|
|
681
|
-
(
|
|
712
|
+
(Result_20) query;
|
|
682
713
|
/// Returns the effective availability mask (daily override or weekly template fallback)
|
|
683
714
|
getEffectiveMaskForSalon: (args: GetEffectiveMaskForSalonArgs) ->
|
|
684
|
-
(
|
|
715
|
+
(Result_19) query;
|
|
685
716
|
/// Returns the highest migrationId for the given entity (= total number of records ever created)
|
|
686
717
|
getLastMigrationId: (entity: MigrationEntity) -> (Result_3) query;
|
|
687
718
|
getLoggingEnabled: () -> (Result_1) query;
|
|
688
719
|
getLogs: () -> (text) query;
|
|
689
720
|
/// Returns a page of migration data for the given entity and id range [from, to]
|
|
690
|
-
getMigrationData: (args: MigrationQueryArgs) -> (
|
|
691
|
-
getMyAppointments: () -> (
|
|
721
|
+
getMigrationData: (args: MigrationQueryArgs) -> (Result_18) query;
|
|
722
|
+
getMyAppointments: () -> (Result_17) query;
|
|
692
723
|
getMyProfile: () -> (Result_2) query;
|
|
693
724
|
/// Returns the list of salons owned by the currently logged-in owner (uses the index)
|
|
694
|
-
getMySalons: () -> (
|
|
725
|
+
getMySalons: () -> (Result_13) query;
|
|
695
726
|
getMyWorkerAppointments: (args: GetMyWorkerAppointmentsArgs) ->
|
|
696
|
-
(
|
|
727
|
+
(Result_17) query;
|
|
697
728
|
/// Whether the one-way production switch has been flipped
|
|
698
729
|
getProdMode: () -> (bool) query;
|
|
699
|
-
getReportSettings: () -> (
|
|
730
|
+
getReportSettings: () -> (Result_16) query;
|
|
700
731
|
/// Returns the salon's asset library (readable only by the salon's current owner)
|
|
701
|
-
getSalonAssets: (salonId: SalonId) -> (
|
|
732
|
+
getSalonAssets: (salonId: SalonId) -> (Result_15) query;
|
|
702
733
|
/// Returns the list of salon services by salon ID (owner view)
|
|
703
734
|
getSalonServicesBySalonId: (salonId: SalonId) -> (Result_5) query;
|
|
704
|
-
|
|
705
|
-
|
|
735
|
+
/// Returns the salon's storage-quota snapshot (readable only by the salon's current owner)
|
|
736
|
+
getSalonStorageUsage: (salonId: SalonId) -> (Result_14) query;
|
|
737
|
+
getSalonsForWorker: () -> (Result_13) query;
|
|
738
|
+
getServiceTypes: () -> (Result_12) query;
|
|
706
739
|
/// Superadmin-only: returns every recorded operation stat whose timestamp falls in [fromTimestampNs, toTimestampNs]
|
|
707
|
-
getStatsForDateRange: (args: StatsRangeArgs) -> (
|
|
740
|
+
getStatsForDateRange: (args: StatsRangeArgs) -> (Result_11) query;
|
|
741
|
+
getStorageSettings: () -> (Result_10) query;
|
|
708
742
|
getSystemAdmin: () -> (Result_4) query;
|
|
709
743
|
getVisit: (visitId: VisitId) -> (Result_9) query;
|
|
710
744
|
getVisitHistory: (visitId: VisitId) -> (Result_8) query;
|
|
@@ -754,7 +788,9 @@ service : {
|
|
|
754
788
|
setProdMode: () -> (Result_1);
|
|
755
789
|
setReportBatchSize: (size: nat) -> (Result_3);
|
|
756
790
|
setReportThreshold: (args: SetReportThresholdArgs) -> (Result_3);
|
|
791
|
+
setSalonStorageLimit: (newLimitBytes: nat) -> (Result_3);
|
|
757
792
|
setSystemAdmin: (newAdmin: opt principal) -> (Result_4);
|
|
793
|
+
setVideoPendingHold: (newHoldBytes: nat) -> (Result_3);
|
|
758
794
|
setWeeklyTemplate: (args: SetWeeklyTemplateArgs) -> (Result_1);
|
|
759
795
|
/// Superadmin only, TEST TOOL (traps once isProd): runs assets-rust's stale-reservation
|
|
760
796
|
/// sweep now, with a TTL override — same code path its hourly timer drives
|
|
@@ -98,6 +98,7 @@ export interface CallActivityEntry {
|
|
|
98
98
|
export interface CanUploadAssetArgs {
|
|
99
99
|
'user' : Principal,
|
|
100
100
|
'targetSalonServiceId' : [] | [SalonServiceId],
|
|
101
|
+
'declaredSizeBytes' : [] | [bigint],
|
|
101
102
|
'salonId' : SalonId,
|
|
102
103
|
}
|
|
103
104
|
export interface Coordinate { 'lat' : number, 'lng' : number }
|
|
@@ -190,7 +191,8 @@ export type MigrationData = { 'Visits' : Array<Visit> } |
|
|
|
190
191
|
{ 'Appointments' : Array<Appointment> } |
|
|
191
192
|
{ 'WeeklyTemplates' : Array<WeeklyTemplate> } |
|
|
192
193
|
{ 'SalonServices' : Array<SalonService> } |
|
|
193
|
-
{ 'WorkerRelationships' : Array<WorkerRelationship> }
|
|
194
|
+
{ 'WorkerRelationships' : Array<WorkerRelationship> } |
|
|
195
|
+
{ 'SalonAssets' : Array<SalonAssetsEntry> };
|
|
194
196
|
export type MigrationEntity = { 'Visits' : null } |
|
|
195
197
|
{ 'SalonCandidates' : null } |
|
|
196
198
|
{ 'UserProfiles' : null } |
|
|
@@ -198,7 +200,8 @@ export type MigrationEntity = { 'Visits' : null } |
|
|
|
198
200
|
{ 'Appointments' : null } |
|
|
199
201
|
{ 'WeeklyTemplates' : null } |
|
|
200
202
|
{ 'SalonServices' : null } |
|
|
201
|
-
{ 'WorkerRelationships' : null }
|
|
203
|
+
{ 'WorkerRelationships' : null } |
|
|
204
|
+
{ 'SalonAssets' : null };
|
|
202
205
|
export interface MigrationQueryArgs {
|
|
203
206
|
'to' : bigint,
|
|
204
207
|
'entity' : MigrationEntity,
|
|
@@ -231,6 +234,7 @@ export interface RegisterAssetArgs {
|
|
|
231
234
|
'kind' : AssetKind,
|
|
232
235
|
'user' : Principal,
|
|
233
236
|
'targetSalonServiceId' : [] | [SalonServiceId],
|
|
237
|
+
'sizeBytes' : bigint,
|
|
234
238
|
'salonId' : SalonId,
|
|
235
239
|
}
|
|
236
240
|
export interface RegisterPendingAssetArgs {
|
|
@@ -255,15 +259,19 @@ export type Result = { 'ok' : VisitId } |
|
|
|
255
259
|
{ 'err' : Error };
|
|
256
260
|
export type Result_1 = { 'ok' : boolean } |
|
|
257
261
|
{ 'err' : Error };
|
|
258
|
-
export type Result_10 = { 'ok' :
|
|
262
|
+
export type Result_10 = { 'ok' : StorageSettings } |
|
|
259
263
|
{ 'err' : Error };
|
|
260
|
-
export type Result_11 = { 'ok' : Array<
|
|
264
|
+
export type Result_11 = { 'ok' : Array<OperationStat> } |
|
|
261
265
|
{ 'err' : Error };
|
|
262
|
-
export type Result_12 = { 'ok' : Array<
|
|
266
|
+
export type Result_12 = { 'ok' : Array<ServiceTypeId> } |
|
|
263
267
|
{ 'err' : Error };
|
|
264
|
-
export type Result_13 = { 'ok' : Array<
|
|
268
|
+
export type Result_13 = { 'ok' : Array<Salon> } |
|
|
265
269
|
{ 'err' : Error };
|
|
266
|
-
export type Result_14 = {
|
|
270
|
+
export type Result_14 = { 'ok' : SalonStorageUsage } |
|
|
271
|
+
{ 'err' : Error };
|
|
272
|
+
export type Result_15 = { 'ok' : Array<SalonAsset> } |
|
|
273
|
+
{ 'err' : Error };
|
|
274
|
+
export type Result_16 = {
|
|
267
275
|
'ok' : {
|
|
268
276
|
'queryThresholdMs' : bigint,
|
|
269
277
|
'updateThresholdMs' : bigint,
|
|
@@ -271,33 +279,33 @@ export type Result_14 = {
|
|
|
271
279
|
}
|
|
272
280
|
} |
|
|
273
281
|
{ 'err' : Error };
|
|
274
|
-
export type
|
|
282
|
+
export type Result_17 = { 'ok' : Array<Appointment> } |
|
|
275
283
|
{ 'err' : Error };
|
|
276
|
-
export type
|
|
284
|
+
export type Result_18 = { 'ok' : MigrationData } |
|
|
277
285
|
{ 'err' : Error };
|
|
278
|
-
export type
|
|
286
|
+
export type Result_19 = { 'ok' : TimeMask } |
|
|
279
287
|
{ 'err' : Error };
|
|
280
|
-
export type
|
|
288
|
+
export type Result_2 = { 'ok' : UserProfile } |
|
|
281
289
|
{ 'err' : Error };
|
|
282
|
-
export type
|
|
290
|
+
export type Result_20 = { 'ok' : BigUint64Array | bigint[] } |
|
|
283
291
|
{ 'err' : Error };
|
|
284
|
-
export type
|
|
292
|
+
export type Result_21 = { 'ok' : Array<DailyScheduleEntry> } |
|
|
285
293
|
{ 'err' : Error };
|
|
286
|
-
export type
|
|
294
|
+
export type Result_22 = {
|
|
287
295
|
'ok' : { 'entries' : Array<CallActivityEntry>, 'trackingSinceNs' : bigint }
|
|
288
296
|
} |
|
|
289
297
|
{ 'err' : Error };
|
|
290
|
-
export type
|
|
298
|
+
export type Result_23 = { 'ok' : ActionQuotaLimits } |
|
|
291
299
|
{ 'err' : Error };
|
|
292
|
-
export type
|
|
300
|
+
export type Result_24 = { 'ok' : SalonId } |
|
|
293
301
|
{ 'err' : Error };
|
|
294
|
-
export type
|
|
302
|
+
export type Result_25 = { 'ok' : AppointmentId } |
|
|
295
303
|
{ 'err' : Error };
|
|
296
|
-
export type
|
|
304
|
+
export type Result_26 = { 'ok' : Array<SalonId> } |
|
|
297
305
|
{ 'err' : Error };
|
|
298
|
-
export type
|
|
306
|
+
export type Result_27 = { 'ok' : Array<SalonServiceId> } |
|
|
299
307
|
{ 'err' : Error };
|
|
300
|
-
export type
|
|
308
|
+
export type Result_28 = { 'ok' : SalonServiceId } |
|
|
301
309
|
{ 'err' : Error };
|
|
302
310
|
export type Result_3 = { 'ok' : bigint } |
|
|
303
311
|
{ 'err' : Error };
|
|
@@ -332,6 +340,11 @@ export interface SalonAsset {
|
|
|
332
340
|
'assetId' : AssetId,
|
|
333
341
|
'kind' : AssetKind,
|
|
334
342
|
'createdAt' : bigint,
|
|
343
|
+
'sizeBytes' : bigint,
|
|
344
|
+
}
|
|
345
|
+
export interface SalonAssetsEntry {
|
|
346
|
+
'assets' : Array<SalonAsset>,
|
|
347
|
+
'salonId' : SalonId,
|
|
335
348
|
}
|
|
336
349
|
export interface SalonCandidatesEntry {
|
|
337
350
|
'candidateIds' : Array<Principal>,
|
|
@@ -353,6 +366,11 @@ export interface SalonService {
|
|
|
353
366
|
'images' : Array<ImageRef>,
|
|
354
367
|
}
|
|
355
368
|
export type SalonServiceId = string;
|
|
369
|
+
export interface SalonStorageUsage {
|
|
370
|
+
'pendingHeldBytes' : bigint,
|
|
371
|
+
'limitBytes' : bigint,
|
|
372
|
+
'usedBytes' : bigint,
|
|
373
|
+
}
|
|
356
374
|
export interface SearchForSalonServicesArgs {
|
|
357
375
|
'startTimeUTC' : bigint,
|
|
358
376
|
'geohashes6' : Array<Geohash>,
|
|
@@ -382,6 +400,10 @@ export interface StatsRangeArgs {
|
|
|
382
400
|
'fromTimestampNs' : bigint,
|
|
383
401
|
'toTimestampNs' : bigint,
|
|
384
402
|
}
|
|
403
|
+
export interface StorageSettings {
|
|
404
|
+
'salonStorageLimitBytes' : bigint,
|
|
405
|
+
'videoPendingHoldBytes' : bigint,
|
|
406
|
+
}
|
|
385
407
|
export type TimeMask = BigUint64Array | bigint[];
|
|
386
408
|
export interface UpdateProfileArgs {
|
|
387
409
|
'whatsAppNumber' : [] | [string],
|
|
@@ -460,7 +482,7 @@ export interface _SERVICE {
|
|
|
460
482
|
/**
|
|
461
483
|
* / Adds a new service to a specific salon
|
|
462
484
|
*/
|
|
463
|
-
'addSalonService' : ActorMethod<[AddSalonServiceArgs],
|
|
485
|
+
'addSalonService' : ActorMethod<[AddSalonServiceArgs], Result_28>,
|
|
464
486
|
'addServiceType' : ActorMethod<[ServiceTypeId], Result_1>,
|
|
465
487
|
'addServiceTypeToSalonService' : ActorMethod<
|
|
466
488
|
[AddOrRemoveServiceTypeInSalonArgs],
|
|
@@ -477,11 +499,11 @@ export interface _SERVICE {
|
|
|
477
499
|
[AttachOrDetachImageArgs],
|
|
478
500
|
Result_1
|
|
479
501
|
>,
|
|
480
|
-
'bookAppointment' : ActorMethod<[BookAppointmentArgs],
|
|
502
|
+
'bookAppointment' : ActorMethod<[BookAppointmentArgs], Result_25>,
|
|
481
503
|
'bulkAcceptWorkers' : ActorMethod<[BulkAcceptWorkersArgs], Result_1>,
|
|
482
|
-
'bulkAddSalonServices' : ActorMethod<[BulkAddSalonServicesArgs],
|
|
483
|
-
'bulkAddServiceTypes' : ActorMethod<[Array<ServiceTypeId>],
|
|
484
|
-
'bulkCreateSalons' : ActorMethod<[BulkCreateSalonsArgs],
|
|
504
|
+
'bulkAddSalonServices' : ActorMethod<[BulkAddSalonServicesArgs], Result_27>,
|
|
505
|
+
'bulkAddServiceTypes' : ActorMethod<[Array<ServiceTypeId>], Result_12>,
|
|
506
|
+
'bulkCreateSalons' : ActorMethod<[BulkCreateSalonsArgs], Result_26>,
|
|
485
507
|
'bulkRequestToJoinSalons' : ActorMethod<
|
|
486
508
|
[BulkRequestToJoinSalonsArgs],
|
|
487
509
|
Result_1
|
|
@@ -494,12 +516,12 @@ export interface _SERVICE {
|
|
|
494
516
|
* / Asset canister only: pre-upload authorization, asked before any bytes are stored
|
|
495
517
|
*/
|
|
496
518
|
'canUploadAsset' : ActorMethod<[CanUploadAssetArgs], Result_1>,
|
|
497
|
-
'cancelAppointment' : ActorMethod<[AppointmentId],
|
|
519
|
+
'cancelAppointment' : ActorMethod<[AppointmentId], Result_25>,
|
|
498
520
|
'clearLogs' : ActorMethod<[], undefined>,
|
|
499
521
|
/**
|
|
500
522
|
* / Creates a new salon and links it to the caller
|
|
501
523
|
*/
|
|
502
|
-
'createSalon' : ActorMethod<[CreateSalonArgs],
|
|
524
|
+
'createSalon' : ActorMethod<[CreateSalonArgs], Result_24>,
|
|
503
525
|
'createVisit' : ActorMethod<[CreateVisitArgs], Result>,
|
|
504
526
|
/**
|
|
505
527
|
* / Superadmin only: raw byte removal on sultana-assets-rust (orphaned-bytes cleanup)
|
|
@@ -521,17 +543,17 @@ export interface _SERVICE {
|
|
|
521
543
|
[AttachOrDetachImageArgs],
|
|
522
544
|
Result_1
|
|
523
545
|
>,
|
|
524
|
-
'getActionQuotaLimits' : ActorMethod<[],
|
|
546
|
+
'getActionQuotaLimits' : ActorMethod<[], Result_23>,
|
|
525
547
|
'getAllProfiles' : ActorMethod<[], Result_7>,
|
|
526
548
|
'getAppointmentsForSalon' : ActorMethod<
|
|
527
549
|
[GetSalonAppointmentsArgs],
|
|
528
|
-
|
|
550
|
+
Result_17
|
|
529
551
|
>,
|
|
530
552
|
'getAssetCanisterPrincipal' : ActorMethod<[], Result_4>,
|
|
531
553
|
/**
|
|
532
554
|
* / Superadmin-only: returns every principal's lifetime (total, productive) call counters plus the tracking window start
|
|
533
555
|
*/
|
|
534
|
-
'getCallActivityStats' : ActorMethod<[],
|
|
556
|
+
'getCallActivityStats' : ActorMethod<[], Result_22>,
|
|
535
557
|
/**
|
|
536
558
|
* / Returns the list of profiles waiting for approval (Owner only)
|
|
537
559
|
*/
|
|
@@ -539,24 +561,24 @@ export interface _SERVICE {
|
|
|
539
561
|
/**
|
|
540
562
|
* / Returns a specific daily override if it exists
|
|
541
563
|
*/
|
|
542
|
-
'getDailySchedule' : ActorMethod<[GetDailyScheduleArgs],
|
|
564
|
+
'getDailySchedule' : ActorMethod<[GetDailyScheduleArgs], Result_19>,
|
|
543
565
|
/**
|
|
544
566
|
* / Returns daily schedules with midnight timestamp in [fromDate, toDate] - for data migration to another canister
|
|
545
567
|
*/
|
|
546
568
|
'getDailySchedulesForMigration' : ActorMethod<
|
|
547
569
|
[DailyScheduleRangeArgs],
|
|
548
|
-
|
|
570
|
+
Result_21
|
|
549
571
|
>,
|
|
550
572
|
'getDayFromWeeklyTemplate' : ActorMethod<
|
|
551
573
|
[GetDayFromWeeklyTemplateArgs],
|
|
552
|
-
|
|
574
|
+
Result_20
|
|
553
575
|
>,
|
|
554
576
|
/**
|
|
555
577
|
* / Returns the effective availability mask (daily override or weekly template fallback)
|
|
556
578
|
*/
|
|
557
579
|
'getEffectiveMaskForSalon' : ActorMethod<
|
|
558
580
|
[GetEffectiveMaskForSalonArgs],
|
|
559
|
-
|
|
581
|
+
Result_19
|
|
560
582
|
>,
|
|
561
583
|
/**
|
|
562
584
|
* / Returns the highest migrationId for the given entity (= total number of records ever created)
|
|
@@ -567,36 +589,41 @@ export interface _SERVICE {
|
|
|
567
589
|
/**
|
|
568
590
|
* / Returns a page of migration data for the given entity and id range [from, to]
|
|
569
591
|
*/
|
|
570
|
-
'getMigrationData' : ActorMethod<[MigrationQueryArgs],
|
|
571
|
-
'getMyAppointments' : ActorMethod<[],
|
|
592
|
+
'getMigrationData' : ActorMethod<[MigrationQueryArgs], Result_18>,
|
|
593
|
+
'getMyAppointments' : ActorMethod<[], Result_17>,
|
|
572
594
|
'getMyProfile' : ActorMethod<[], Result_2>,
|
|
573
595
|
/**
|
|
574
596
|
* / Returns the list of salons owned by the currently logged-in owner (uses the index)
|
|
575
597
|
*/
|
|
576
|
-
'getMySalons' : ActorMethod<[],
|
|
598
|
+
'getMySalons' : ActorMethod<[], Result_13>,
|
|
577
599
|
'getMyWorkerAppointments' : ActorMethod<
|
|
578
600
|
[GetMyWorkerAppointmentsArgs],
|
|
579
|
-
|
|
601
|
+
Result_17
|
|
580
602
|
>,
|
|
581
603
|
/**
|
|
582
604
|
* / Whether the one-way production switch has been flipped
|
|
583
605
|
*/
|
|
584
606
|
'getProdMode' : ActorMethod<[], boolean>,
|
|
585
|
-
'getReportSettings' : ActorMethod<[],
|
|
607
|
+
'getReportSettings' : ActorMethod<[], Result_16>,
|
|
586
608
|
/**
|
|
587
609
|
* / Returns the salon's asset library (readable only by the salon's current owner)
|
|
588
610
|
*/
|
|
589
|
-
'getSalonAssets' : ActorMethod<[SalonId],
|
|
611
|
+
'getSalonAssets' : ActorMethod<[SalonId], Result_15>,
|
|
590
612
|
/**
|
|
591
613
|
* / Returns the list of salon services by salon ID (owner view)
|
|
592
614
|
*/
|
|
593
615
|
'getSalonServicesBySalonId' : ActorMethod<[SalonId], Result_5>,
|
|
594
|
-
|
|
595
|
-
|
|
616
|
+
/**
|
|
617
|
+
* / Returns the salon's storage-quota snapshot (readable only by the salon's current owner)
|
|
618
|
+
*/
|
|
619
|
+
'getSalonStorageUsage' : ActorMethod<[SalonId], Result_14>,
|
|
620
|
+
'getSalonsForWorker' : ActorMethod<[], Result_13>,
|
|
621
|
+
'getServiceTypes' : ActorMethod<[], Result_12>,
|
|
596
622
|
/**
|
|
597
623
|
* / Superadmin-only: returns every recorded operation stat whose timestamp falls in [fromTimestampNs, toTimestampNs]
|
|
598
624
|
*/
|
|
599
|
-
'getStatsForDateRange' : ActorMethod<[StatsRangeArgs],
|
|
625
|
+
'getStatsForDateRange' : ActorMethod<[StatsRangeArgs], Result_11>,
|
|
626
|
+
'getStorageSettings' : ActorMethod<[], Result_10>,
|
|
600
627
|
'getSystemAdmin' : ActorMethod<[], Result_4>,
|
|
601
628
|
'getVisit' : ActorMethod<[VisitId], Result_9>,
|
|
602
629
|
'getVisitHistory' : ActorMethod<[VisitId], Result_8>,
|
|
@@ -683,7 +710,9 @@ export interface _SERVICE {
|
|
|
683
710
|
'setProdMode' : ActorMethod<[], Result_1>,
|
|
684
711
|
'setReportBatchSize' : ActorMethod<[bigint], Result_3>,
|
|
685
712
|
'setReportThreshold' : ActorMethod<[SetReportThresholdArgs], Result_3>,
|
|
713
|
+
'setSalonStorageLimit' : ActorMethod<[bigint], Result_3>,
|
|
686
714
|
'setSystemAdmin' : ActorMethod<[[] | [Principal]], Result_4>,
|
|
715
|
+
'setVideoPendingHold' : ActorMethod<[bigint], Result_3>,
|
|
687
716
|
'setWeeklyTemplate' : ActorMethod<[SetWeeklyTemplateArgs], Result_1>,
|
|
688
717
|
/**
|
|
689
718
|
* / Superadmin only, TEST TOOL (traps once isProd): runs assets-rust's stale-reservation
|