@jsm-mit/sultana-core-motoko-package 0.2.0 → 0.3.0
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 +74 -41
- package/declarations/sultana-core-motoko/sultana-core-motoko.did.d.ts +60 -39
- package/declarations/sultana-core-motoko/sultana-core-motoko.did.js +59 -37
- package/dist/actors/admin-actor.d.ts +17 -0
- package/dist/actors/admin-actor.d.ts.map +1 -1
- package/dist/actors/admin-actor.js +21 -0
- package/dist/actors/hr-actor.d.ts +42 -3
- package/dist/actors/hr-actor.d.ts.map +1 -1
- package/dist/actors/hr-actor.js +52 -3
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/interfaces.d.ts +8 -0
- package/dist/interfaces.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -195,6 +195,11 @@ type SalonPublicInfo =
|
|
|
195
195
|
name: text;
|
|
196
196
|
thumbnailAssetId: opt AssetId;
|
|
197
197
|
};
|
|
198
|
+
type SalonInvite =
|
|
199
|
+
record {
|
|
200
|
+
expiresAtNs: int;
|
|
201
|
+
token: text;
|
|
202
|
+
};
|
|
198
203
|
type SalonId = text;
|
|
199
204
|
type SalonCandidatesEntry =
|
|
200
205
|
record {
|
|
@@ -264,47 +269,52 @@ type Result_4 =
|
|
|
264
269
|
err: Error;
|
|
265
270
|
ok: principal;
|
|
266
271
|
};
|
|
267
|
-
type
|
|
272
|
+
type Result_37 =
|
|
268
273
|
variant {
|
|
269
274
|
err: Error;
|
|
270
275
|
ok: PromoId;
|
|
271
276
|
};
|
|
272
|
-
type
|
|
277
|
+
type Result_36 =
|
|
273
278
|
variant {
|
|
274
279
|
err: Error;
|
|
275
280
|
ok: SalonServiceId;
|
|
276
281
|
};
|
|
277
|
-
type
|
|
282
|
+
type Result_35 =
|
|
278
283
|
variant {
|
|
279
284
|
err: Error;
|
|
280
285
|
ok: vec SalonServiceId;
|
|
281
286
|
};
|
|
282
|
-
type
|
|
287
|
+
type Result_34 =
|
|
283
288
|
variant {
|
|
284
289
|
err: Error;
|
|
285
290
|
ok: vec SalonId;
|
|
286
291
|
};
|
|
287
|
-
type
|
|
292
|
+
type Result_33 =
|
|
288
293
|
variant {
|
|
289
294
|
err: Error;
|
|
290
295
|
ok: AppointmentId;
|
|
291
296
|
};
|
|
292
|
-
type
|
|
297
|
+
type Result_32 =
|
|
293
298
|
variant {
|
|
294
299
|
err: Error;
|
|
295
|
-
ok:
|
|
300
|
+
ok: SalonInvite;
|
|
296
301
|
};
|
|
297
|
-
type
|
|
302
|
+
type Result_31 =
|
|
298
303
|
variant {
|
|
299
304
|
err: Error;
|
|
300
|
-
ok:
|
|
305
|
+
ok: ActionQuotaLimits;
|
|
301
306
|
};
|
|
302
|
-
type
|
|
307
|
+
type Result_30 =
|
|
303
308
|
variant {
|
|
304
309
|
err: Error;
|
|
305
310
|
ok: vec SupportedLanguage;
|
|
306
311
|
};
|
|
307
|
-
type
|
|
312
|
+
type Result_3 =
|
|
313
|
+
variant {
|
|
314
|
+
err: Error;
|
|
315
|
+
ok: nat;
|
|
316
|
+
};
|
|
317
|
+
type Result_29 =
|
|
308
318
|
variant {
|
|
309
319
|
err: Error;
|
|
310
320
|
ok: record {
|
|
@@ -312,32 +322,32 @@ type Result_28 =
|
|
|
312
322
|
trackingSinceNs: nat64;
|
|
313
323
|
};
|
|
314
324
|
};
|
|
315
|
-
type
|
|
325
|
+
type Result_28 =
|
|
316
326
|
variant {
|
|
317
327
|
err: Error;
|
|
318
328
|
ok: vec DailyScheduleEntry;
|
|
319
329
|
};
|
|
320
|
-
type
|
|
330
|
+
type Result_27 =
|
|
321
331
|
variant {
|
|
322
332
|
err: Error;
|
|
323
333
|
ok: vec nat64;
|
|
324
334
|
};
|
|
325
|
-
type
|
|
335
|
+
type Result_26 =
|
|
326
336
|
variant {
|
|
327
337
|
err: Error;
|
|
328
338
|
ok: TimeMask;
|
|
329
339
|
};
|
|
330
|
-
type
|
|
340
|
+
type Result_25 =
|
|
331
341
|
variant {
|
|
332
342
|
err: Error;
|
|
333
343
|
ok: MigrationData;
|
|
334
344
|
};
|
|
335
|
-
type
|
|
345
|
+
type Result_24 =
|
|
336
346
|
variant {
|
|
337
347
|
err: Error;
|
|
338
348
|
ok: vec Appointment;
|
|
339
349
|
};
|
|
340
|
-
type
|
|
350
|
+
type Result_23 =
|
|
341
351
|
variant {
|
|
342
352
|
err: Error;
|
|
343
353
|
ok: record {
|
|
@@ -346,16 +356,21 @@ type Result_22 =
|
|
|
346
356
|
updateThresholdMs: nat;
|
|
347
357
|
};
|
|
348
358
|
};
|
|
349
|
-
type
|
|
359
|
+
type Result_22 =
|
|
350
360
|
variant {
|
|
351
361
|
err: Error;
|
|
352
362
|
ok: vec SalonAsset;
|
|
353
363
|
};
|
|
354
|
-
type
|
|
364
|
+
type Result_21 =
|
|
355
365
|
variant {
|
|
356
366
|
err: Error;
|
|
357
367
|
ok: vec DiscountCode;
|
|
358
368
|
};
|
|
369
|
+
type Result_20 =
|
|
370
|
+
variant {
|
|
371
|
+
err: Error;
|
|
372
|
+
ok: opt SalonInvite;
|
|
373
|
+
};
|
|
359
374
|
type Result_2 =
|
|
360
375
|
variant {
|
|
361
376
|
err: Error;
|
|
@@ -421,7 +436,11 @@ type Result =
|
|
|
421
436
|
err: Error;
|
|
422
437
|
ok: VisitId;
|
|
423
438
|
};
|
|
424
|
-
type RequestToJoinArgs =
|
|
439
|
+
type RequestToJoinArgs =
|
|
440
|
+
record {
|
|
441
|
+
salonId: SalonId;
|
|
442
|
+
token: text;
|
|
443
|
+
};
|
|
425
444
|
type RemoveWorkerFromSalonArgs =
|
|
426
445
|
record {
|
|
427
446
|
salonId: SalonId;
|
|
@@ -683,6 +702,11 @@ type Coordinate =
|
|
|
683
702
|
lat: float64;
|
|
684
703
|
lng: float64;
|
|
685
704
|
};
|
|
705
|
+
type CheckSalonInviteArgs =
|
|
706
|
+
record {
|
|
707
|
+
salonId: SalonId;
|
|
708
|
+
token: text;
|
|
709
|
+
};
|
|
686
710
|
type CanUploadAssetArgs =
|
|
687
711
|
record {
|
|
688
712
|
declaredSizeBytes: opt nat;
|
|
@@ -834,30 +858,35 @@ service : {
|
|
|
834
858
|
addLanguage: (code: LangCode) -> (Result_1);
|
|
835
859
|
/// Owner attaches a promo (max 3 per salon): #Ready media from the salon's library,
|
|
836
860
|
/// target = the salon or one of its services, CTA = button label / show-delay / discount code
|
|
837
|
-
addPromo: (args: AddPromoArgs) -> (
|
|
861
|
+
addPromo: (args: AddPromoArgs) -> (Result_37);
|
|
838
862
|
/// Adds a new service to a specific salon
|
|
839
|
-
addSalonService: (args: AddSalonServiceArgs) -> (
|
|
863
|
+
addSalonService: (args: AddSalonServiceArgs) -> (Result_36);
|
|
840
864
|
addServiceType: (id: ServiceTypeId) -> (Result_1);
|
|
841
865
|
addServiceTypeToSalonService: (args: AddOrRemoveServiceTypeInSalonArgs) ->
|
|
842
866
|
(Result_1);
|
|
843
867
|
addWorkerToSalonService: (args: AddOrRemoveWorkerInSalonArgs) -> (Result_1);
|
|
844
868
|
/// Owner attaches an image from the salon's library to one of that salon's services
|
|
845
869
|
attachImageToSalonService: (args: AttachOrDetachImageArgs) -> (Result_1);
|
|
846
|
-
bookAppointment: (args: BookAppointmentArgs) -> (
|
|
870
|
+
bookAppointment: (args: BookAppointmentArgs) -> (Result_33);
|
|
847
871
|
bulkAcceptWorkers: (args: BulkAcceptWorkersArgs) -> (Result_1);
|
|
848
|
-
bulkAddSalonServices: (args: BulkAddSalonServicesArgs) -> (
|
|
872
|
+
bulkAddSalonServices: (args: BulkAddSalonServicesArgs) -> (Result_35);
|
|
849
873
|
bulkAddServiceTypes: (ids: vec ServiceTypeId) -> (Result_14);
|
|
850
|
-
bulkCreateSalons: (args: BulkCreateSalonsArgs) -> (
|
|
874
|
+
bulkCreateSalons: (args: BulkCreateSalonsArgs) -> (Result_34);
|
|
851
875
|
bulkRequestToJoinSalons: (args: BulkRequestToJoinSalonsArgs) -> (Result_1);
|
|
852
876
|
/// Superadmin: bulk import of translations (seeding / migration) — all-or-nothing batch
|
|
853
877
|
bulkSetTranslations: (items: vec SetTranslationArgs) -> (Result_3);
|
|
854
878
|
bulkSetWeeklyTemplates: (args: BulkSetWeeklyTemplatesArgs) -> (Result_1);
|
|
855
879
|
/// Asset canister only: pre-upload authorization, asked before any bytes are stored
|
|
856
880
|
canUploadAsset: (args: CanUploadAssetArgs) -> (Result_1);
|
|
857
|
-
cancelAppointment: (appointmentId: AppointmentId) -> (
|
|
881
|
+
cancelAppointment: (appointmentId: AppointmentId) -> (Result_33);
|
|
882
|
+
/// Is an invite link still good? Open to anonymous callers — the page behind the link has
|
|
883
|
+
/// to answer before there is an identity to ask about.
|
|
884
|
+
checkSalonInvite: (args: CheckSalonInviteArgs) -> (Result_1) query;
|
|
858
885
|
clearLogs: () -> ();
|
|
859
886
|
/// Creates a new salon and links it to the caller
|
|
860
887
|
createSalon: (args: CreateSalonArgs) -> (Result_5);
|
|
888
|
+
/// Owner mints the salon's worker-invite link (replaces any outstanding one)
|
|
889
|
+
createSalonInvite: (salonId: SalonId) -> (Result_32);
|
|
861
890
|
createVisit: (args: CreateVisitArgs) -> (Result);
|
|
862
891
|
/// Superadmin only: raw byte removal on sultana-assets-rust (orphaned-bytes cleanup)
|
|
863
892
|
deleteAssetRaw: (assetId: text) -> (Result_1);
|
|
@@ -868,48 +897,51 @@ service : {
|
|
|
868
897
|
deregisterAsset: (args: DeregisterAssetArgs) -> (Result_1);
|
|
869
898
|
/// Owner detaches an image from a service (the asset stays in the salon's library)
|
|
870
899
|
detachImageFromSalonService: (args: AttachOrDetachImageArgs) -> (Result_1);
|
|
871
|
-
getActionQuotaLimits: () -> (
|
|
900
|
+
getActionQuotaLimits: () -> (Result_31) query;
|
|
872
901
|
/// Superadmin: every supported language incl. inactive ones (admin panel view)
|
|
873
|
-
getAllLanguages: () -> (
|
|
902
|
+
getAllLanguages: () -> (Result_30) query;
|
|
874
903
|
getAllProfiles: () -> (Result_8) query;
|
|
875
904
|
getAppointmentsForSalon: (args: GetSalonAppointmentsArgs) ->
|
|
876
|
-
(
|
|
905
|
+
(Result_24) query;
|
|
877
906
|
getAssetCanisterPrincipal: () -> (Result_4) query;
|
|
878
907
|
/// Superadmin-only: returns every principal's lifetime (total, productive) call counters plus the tracking window start
|
|
879
|
-
getCallActivityStats: () -> (
|
|
908
|
+
getCallActivityStats: () -> (Result_29) query;
|
|
880
909
|
/// Returns the list of profiles waiting for approval (Owner only)
|
|
881
910
|
getCandidatesBySalonId: (salonId: SalonId) -> (Result_8) query;
|
|
882
911
|
/// Returns a specific daily override if it exists
|
|
883
|
-
getDailySchedule: (args: GetDailyScheduleArgs) -> (
|
|
912
|
+
getDailySchedule: (args: GetDailyScheduleArgs) -> (Result_26) query;
|
|
884
913
|
/// Returns daily schedules with midnight timestamp in [fromDate, toDate] - for data migration to another canister
|
|
885
914
|
getDailySchedulesForMigration: (args: DailyScheduleRangeArgs) ->
|
|
886
|
-
(
|
|
915
|
+
(Result_28) query;
|
|
887
916
|
getDayFromWeeklyTemplate: (args: GetDayFromWeeklyTemplateArgs) ->
|
|
888
|
-
(
|
|
917
|
+
(Result_27) query;
|
|
889
918
|
/// Returns the effective availability mask (daily override or weekly template fallback)
|
|
890
919
|
getEffectiveMaskForSalon: (args: GetEffectiveMaskForSalonArgs) ->
|
|
891
|
-
(
|
|
920
|
+
(Result_26) query;
|
|
892
921
|
/// Returns the highest migrationId for the given entity (= total number of records ever created)
|
|
893
922
|
getLastMigrationId: (entity: MigrationEntity) -> (Result_3) query;
|
|
894
923
|
getLoggingEnabled: () -> (Result_1) query;
|
|
895
924
|
getLogs: () -> (text) query;
|
|
896
925
|
/// Returns a page of migration data for the given entity and id range [from, to]
|
|
897
|
-
getMigrationData: (args: MigrationQueryArgs) -> (
|
|
898
|
-
getMyAppointments: () -> (
|
|
926
|
+
getMigrationData: (args: MigrationQueryArgs) -> (Result_25) query;
|
|
927
|
+
getMyAppointments: () -> (Result_24) query;
|
|
899
928
|
getMyProfile: () -> (Result_2) query;
|
|
900
929
|
getMySalons: () -> (Result_17) query;
|
|
901
930
|
getMyWorkerAppointments: (args: GetMyWorkerAppointmentsArgs) ->
|
|
902
|
-
(
|
|
931
|
+
(Result_24) query;
|
|
903
932
|
/// Whether the one-way production switch has been flipped
|
|
904
933
|
getProdMode: () -> (bool) query;
|
|
905
934
|
/// Public geo feed: promos in the given geohash6 cells (search pattern — the frontend
|
|
906
935
|
/// picks and adapts the cell set; core does exact-key lookups only)
|
|
907
936
|
getPromoFeed: (args: GetPromoFeedArgs) -> (Result_19) query;
|
|
908
|
-
getReportSettings: () -> (
|
|
937
|
+
getReportSettings: () -> (Result_23) query;
|
|
909
938
|
/// Returns the salon's asset library (readable only by the salon's current owner)
|
|
910
|
-
getSalonAssets: (salonId: SalonId) -> (
|
|
939
|
+
getSalonAssets: (salonId: SalonId) -> (Result_22) query;
|
|
911
940
|
/// Owner-only: the salon's discount codes (semi-secret until broadcast via a promo)
|
|
912
|
-
getSalonDiscountCodes: (salonId: SalonId) -> (
|
|
941
|
+
getSalonDiscountCodes: (salonId: SalonId) -> (Result_21) query;
|
|
942
|
+
/// The salon's outstanding invite, or null when there is none or it has expired (Owner only)
|
|
943
|
+
getSalonInvite: (salonId: SalonId) -> (Result_20) query;
|
|
944
|
+
getSalonInviteTtl: () -> (Result_3) query;
|
|
913
945
|
/// Public: the salon's current promos
|
|
914
946
|
getSalonPromos: (salonId: SalonId) -> (Result_19) query;
|
|
915
947
|
/// Returns the list of salon services by salon ID (owner view)
|
|
@@ -964,7 +996,7 @@ service : {
|
|
|
964
996
|
removeWorkerFromSalonService: (args: AddOrRemoveWorkerInSalonArgs) ->
|
|
965
997
|
(Result_1);
|
|
966
998
|
reportOperationStats: (args: vec RecordOperationStatArgs) -> (Result_3);
|
|
967
|
-
///
|
|
999
|
+
/// The one way to become a candidate: follow the owner's invite link (args carry its token)
|
|
968
1000
|
requestToJoinSalon: (args: RequestToJoinArgs) -> (Result_1);
|
|
969
1001
|
/// Superadmin-only: wipes all call-activity counters and restarts the tracking window from now, returns the new trackingSinceNs
|
|
970
1002
|
resetCallActivityStats: () -> (Result_7);
|
|
@@ -985,6 +1017,7 @@ service : {
|
|
|
985
1017
|
setProdMode: () -> (Result_1);
|
|
986
1018
|
setReportBatchSize: (size: nat) -> (Result_3);
|
|
987
1019
|
setReportThreshold: (args: SetReportThresholdArgs) -> (Result_3);
|
|
1020
|
+
setSalonInviteTtl: (newTtlSeconds: nat) -> (Result_3);
|
|
988
1021
|
/// Owner-only: set/clear the salon's profile photos (thumbnail + cover) — asset ids must
|
|
989
1022
|
/// be #Ready Image assets from the salon's own library.
|
|
990
1023
|
setSalonPhotos: (args: SetSalonPhotosArgs) -> (Result_5);
|
|
@@ -117,6 +117,7 @@ export interface CanUploadAssetArgs {
|
|
|
117
117
|
'declaredSizeBytes' : [] | [bigint],
|
|
118
118
|
'salonId' : SalonId,
|
|
119
119
|
}
|
|
120
|
+
export interface CheckSalonInviteArgs { 'token' : string, 'salonId' : SalonId }
|
|
120
121
|
export interface Coordinate { 'lat' : number, 'lng' : number }
|
|
121
122
|
export interface CreateSalonArgs {
|
|
122
123
|
'name' : string,
|
|
@@ -310,7 +311,7 @@ export interface RemoveWorkerFromSalonArgs {
|
|
|
310
311
|
'workerId' : Principal,
|
|
311
312
|
'salonId' : SalonId,
|
|
312
313
|
}
|
|
313
|
-
export interface RequestToJoinArgs { 'salonId' : SalonId }
|
|
314
|
+
export interface RequestToJoinArgs { 'token' : string, 'salonId' : SalonId }
|
|
314
315
|
export type Result = { 'ok' : VisitId } |
|
|
315
316
|
{ 'err' : Error };
|
|
316
317
|
export type Result_1 = { 'ok' : boolean } |
|
|
@@ -337,11 +338,13 @@ export type Result_19 = { 'ok' : Array<PromoItem> } |
|
|
|
337
338
|
{ 'err' : Error };
|
|
338
339
|
export type Result_2 = { 'ok' : UserProfile } |
|
|
339
340
|
{ 'err' : Error };
|
|
340
|
-
export type Result_20 = { 'ok' :
|
|
341
|
+
export type Result_20 = { 'ok' : [] | [SalonInvite] } |
|
|
341
342
|
{ 'err' : Error };
|
|
342
|
-
export type Result_21 = { 'ok' : Array<
|
|
343
|
+
export type Result_21 = { 'ok' : Array<DiscountCode> } |
|
|
343
344
|
{ 'err' : Error };
|
|
344
|
-
export type Result_22 = {
|
|
345
|
+
export type Result_22 = { 'ok' : Array<SalonAsset> } |
|
|
346
|
+
{ 'err' : Error };
|
|
347
|
+
export type Result_23 = {
|
|
345
348
|
'ok' : {
|
|
346
349
|
'queryThresholdMs' : bigint,
|
|
347
350
|
'updateThresholdMs' : bigint,
|
|
@@ -349,35 +352,37 @@ export type Result_22 = {
|
|
|
349
352
|
}
|
|
350
353
|
} |
|
|
351
354
|
{ 'err' : Error };
|
|
352
|
-
export type
|
|
355
|
+
export type Result_24 = { 'ok' : Array<Appointment> } |
|
|
353
356
|
{ 'err' : Error };
|
|
354
|
-
export type
|
|
357
|
+
export type Result_25 = { 'ok' : MigrationData } |
|
|
355
358
|
{ 'err' : Error };
|
|
356
|
-
export type
|
|
359
|
+
export type Result_26 = { 'ok' : TimeMask } |
|
|
357
360
|
{ 'err' : Error };
|
|
358
|
-
export type
|
|
361
|
+
export type Result_27 = { 'ok' : BigUint64Array | bigint[] } |
|
|
359
362
|
{ 'err' : Error };
|
|
360
|
-
export type
|
|
363
|
+
export type Result_28 = { 'ok' : Array<DailyScheduleEntry> } |
|
|
361
364
|
{ 'err' : Error };
|
|
362
|
-
export type
|
|
365
|
+
export type Result_29 = {
|
|
363
366
|
'ok' : { 'entries' : Array<CallActivityEntry>, 'trackingSinceNs' : bigint }
|
|
364
367
|
} |
|
|
365
368
|
{ 'err' : Error };
|
|
366
|
-
export type Result_29 = { 'ok' : Array<SupportedLanguage> } |
|
|
367
|
-
{ 'err' : Error };
|
|
368
369
|
export type Result_3 = { 'ok' : bigint } |
|
|
369
370
|
{ 'err' : Error };
|
|
370
|
-
export type Result_30 = { 'ok' :
|
|
371
|
+
export type Result_30 = { 'ok' : Array<SupportedLanguage> } |
|
|
372
|
+
{ 'err' : Error };
|
|
373
|
+
export type Result_31 = { 'ok' : ActionQuotaLimits } |
|
|
374
|
+
{ 'err' : Error };
|
|
375
|
+
export type Result_32 = { 'ok' : SalonInvite } |
|
|
371
376
|
{ 'err' : Error };
|
|
372
|
-
export type
|
|
377
|
+
export type Result_33 = { 'ok' : AppointmentId } |
|
|
373
378
|
{ 'err' : Error };
|
|
374
|
-
export type
|
|
379
|
+
export type Result_34 = { 'ok' : Array<SalonId> } |
|
|
375
380
|
{ 'err' : Error };
|
|
376
|
-
export type
|
|
381
|
+
export type Result_35 = { 'ok' : Array<SalonServiceId> } |
|
|
377
382
|
{ 'err' : Error };
|
|
378
|
-
export type
|
|
383
|
+
export type Result_36 = { 'ok' : SalonServiceId } |
|
|
379
384
|
{ 'err' : Error };
|
|
380
|
-
export type
|
|
385
|
+
export type Result_37 = { 'ok' : PromoId } |
|
|
381
386
|
{ 'err' : Error };
|
|
382
387
|
export type Result_4 = { 'ok' : Principal } |
|
|
383
388
|
{ 'err' : Error };
|
|
@@ -423,6 +428,7 @@ export interface SalonCandidatesEntry {
|
|
|
423
428
|
'salonId' : SalonId,
|
|
424
429
|
}
|
|
425
430
|
export type SalonId = string;
|
|
431
|
+
export interface SalonInvite { 'expiresAtNs' : bigint, 'token' : string }
|
|
426
432
|
export interface SalonPublicInfo {
|
|
427
433
|
'id' : SalonId,
|
|
428
434
|
'name' : string,
|
|
@@ -593,11 +599,11 @@ export interface _SERVICE {
|
|
|
593
599
|
* / Owner attaches a promo (max 3 per salon): #Ready media from the salon's library,
|
|
594
600
|
* / target = the salon or one of its services, CTA = button label / show-delay / discount code
|
|
595
601
|
*/
|
|
596
|
-
'addPromo' : ActorMethod<[AddPromoArgs],
|
|
602
|
+
'addPromo' : ActorMethod<[AddPromoArgs], Result_37>,
|
|
597
603
|
/**
|
|
598
604
|
* / Adds a new service to a specific salon
|
|
599
605
|
*/
|
|
600
|
-
'addSalonService' : ActorMethod<[AddSalonServiceArgs],
|
|
606
|
+
'addSalonService' : ActorMethod<[AddSalonServiceArgs], Result_36>,
|
|
601
607
|
'addServiceType' : ActorMethod<[ServiceTypeId], Result_1>,
|
|
602
608
|
'addServiceTypeToSalonService' : ActorMethod<
|
|
603
609
|
[AddOrRemoveServiceTypeInSalonArgs],
|
|
@@ -614,11 +620,11 @@ export interface _SERVICE {
|
|
|
614
620
|
[AttachOrDetachImageArgs],
|
|
615
621
|
Result_1
|
|
616
622
|
>,
|
|
617
|
-
'bookAppointment' : ActorMethod<[BookAppointmentArgs],
|
|
623
|
+
'bookAppointment' : ActorMethod<[BookAppointmentArgs], Result_33>,
|
|
618
624
|
'bulkAcceptWorkers' : ActorMethod<[BulkAcceptWorkersArgs], Result_1>,
|
|
619
|
-
'bulkAddSalonServices' : ActorMethod<[BulkAddSalonServicesArgs],
|
|
625
|
+
'bulkAddSalonServices' : ActorMethod<[BulkAddSalonServicesArgs], Result_35>,
|
|
620
626
|
'bulkAddServiceTypes' : ActorMethod<[Array<ServiceTypeId>], Result_14>,
|
|
621
|
-
'bulkCreateSalons' : ActorMethod<[BulkCreateSalonsArgs],
|
|
627
|
+
'bulkCreateSalons' : ActorMethod<[BulkCreateSalonsArgs], Result_34>,
|
|
622
628
|
'bulkRequestToJoinSalons' : ActorMethod<
|
|
623
629
|
[BulkRequestToJoinSalonsArgs],
|
|
624
630
|
Result_1
|
|
@@ -635,12 +641,21 @@ export interface _SERVICE {
|
|
|
635
641
|
* / Asset canister only: pre-upload authorization, asked before any bytes are stored
|
|
636
642
|
*/
|
|
637
643
|
'canUploadAsset' : ActorMethod<[CanUploadAssetArgs], Result_1>,
|
|
638
|
-
'cancelAppointment' : ActorMethod<[AppointmentId],
|
|
644
|
+
'cancelAppointment' : ActorMethod<[AppointmentId], Result_33>,
|
|
645
|
+
/**
|
|
646
|
+
* / Is an invite link still good? Open to anonymous callers — the page behind the link has
|
|
647
|
+
* / to answer before there is an identity to ask about.
|
|
648
|
+
*/
|
|
649
|
+
'checkSalonInvite' : ActorMethod<[CheckSalonInviteArgs], Result_1>,
|
|
639
650
|
'clearLogs' : ActorMethod<[], undefined>,
|
|
640
651
|
/**
|
|
641
652
|
* / Creates a new salon and links it to the caller
|
|
642
653
|
*/
|
|
643
654
|
'createSalon' : ActorMethod<[CreateSalonArgs], Result_5>,
|
|
655
|
+
/**
|
|
656
|
+
* / Owner mints the salon's worker-invite link (replaces any outstanding one)
|
|
657
|
+
*/
|
|
658
|
+
'createSalonInvite' : ActorMethod<[SalonId], Result_32>,
|
|
644
659
|
'createVisit' : ActorMethod<[CreateVisitArgs], Result>,
|
|
645
660
|
/**
|
|
646
661
|
* / Superadmin only: raw byte removal on sultana-assets-rust (orphaned-bytes cleanup)
|
|
@@ -662,21 +677,21 @@ export interface _SERVICE {
|
|
|
662
677
|
[AttachOrDetachImageArgs],
|
|
663
678
|
Result_1
|
|
664
679
|
>,
|
|
665
|
-
'getActionQuotaLimits' : ActorMethod<[],
|
|
680
|
+
'getActionQuotaLimits' : ActorMethod<[], Result_31>,
|
|
666
681
|
/**
|
|
667
682
|
* / Superadmin: every supported language incl. inactive ones (admin panel view)
|
|
668
683
|
*/
|
|
669
|
-
'getAllLanguages' : ActorMethod<[],
|
|
684
|
+
'getAllLanguages' : ActorMethod<[], Result_30>,
|
|
670
685
|
'getAllProfiles' : ActorMethod<[], Result_8>,
|
|
671
686
|
'getAppointmentsForSalon' : ActorMethod<
|
|
672
687
|
[GetSalonAppointmentsArgs],
|
|
673
|
-
|
|
688
|
+
Result_24
|
|
674
689
|
>,
|
|
675
690
|
'getAssetCanisterPrincipal' : ActorMethod<[], Result_4>,
|
|
676
691
|
/**
|
|
677
692
|
* / Superadmin-only: returns every principal's lifetime (total, productive) call counters plus the tracking window start
|
|
678
693
|
*/
|
|
679
|
-
'getCallActivityStats' : ActorMethod<[],
|
|
694
|
+
'getCallActivityStats' : ActorMethod<[], Result_29>,
|
|
680
695
|
/**
|
|
681
696
|
* / Returns the list of profiles waiting for approval (Owner only)
|
|
682
697
|
*/
|
|
@@ -684,24 +699,24 @@ export interface _SERVICE {
|
|
|
684
699
|
/**
|
|
685
700
|
* / Returns a specific daily override if it exists
|
|
686
701
|
*/
|
|
687
|
-
'getDailySchedule' : ActorMethod<[GetDailyScheduleArgs],
|
|
702
|
+
'getDailySchedule' : ActorMethod<[GetDailyScheduleArgs], Result_26>,
|
|
688
703
|
/**
|
|
689
704
|
* / Returns daily schedules with midnight timestamp in [fromDate, toDate] - for data migration to another canister
|
|
690
705
|
*/
|
|
691
706
|
'getDailySchedulesForMigration' : ActorMethod<
|
|
692
707
|
[DailyScheduleRangeArgs],
|
|
693
|
-
|
|
708
|
+
Result_28
|
|
694
709
|
>,
|
|
695
710
|
'getDayFromWeeklyTemplate' : ActorMethod<
|
|
696
711
|
[GetDayFromWeeklyTemplateArgs],
|
|
697
|
-
|
|
712
|
+
Result_27
|
|
698
713
|
>,
|
|
699
714
|
/**
|
|
700
715
|
* / Returns the effective availability mask (daily override or weekly template fallback)
|
|
701
716
|
*/
|
|
702
717
|
'getEffectiveMaskForSalon' : ActorMethod<
|
|
703
718
|
[GetEffectiveMaskForSalonArgs],
|
|
704
|
-
|
|
719
|
+
Result_26
|
|
705
720
|
>,
|
|
706
721
|
/**
|
|
707
722
|
* / Returns the highest migrationId for the given entity (= total number of records ever created)
|
|
@@ -712,13 +727,13 @@ export interface _SERVICE {
|
|
|
712
727
|
/**
|
|
713
728
|
* / Returns a page of migration data for the given entity and id range [from, to]
|
|
714
729
|
*/
|
|
715
|
-
'getMigrationData' : ActorMethod<[MigrationQueryArgs],
|
|
716
|
-
'getMyAppointments' : ActorMethod<[],
|
|
730
|
+
'getMigrationData' : ActorMethod<[MigrationQueryArgs], Result_25>,
|
|
731
|
+
'getMyAppointments' : ActorMethod<[], Result_24>,
|
|
717
732
|
'getMyProfile' : ActorMethod<[], Result_2>,
|
|
718
733
|
'getMySalons' : ActorMethod<[], Result_17>,
|
|
719
734
|
'getMyWorkerAppointments' : ActorMethod<
|
|
720
735
|
[GetMyWorkerAppointmentsArgs],
|
|
721
|
-
|
|
736
|
+
Result_24
|
|
722
737
|
>,
|
|
723
738
|
/**
|
|
724
739
|
* / Whether the one-way production switch has been flipped
|
|
@@ -729,15 +744,20 @@ export interface _SERVICE {
|
|
|
729
744
|
* / picks and adapts the cell set; core does exact-key lookups only)
|
|
730
745
|
*/
|
|
731
746
|
'getPromoFeed' : ActorMethod<[GetPromoFeedArgs], Result_19>,
|
|
732
|
-
'getReportSettings' : ActorMethod<[],
|
|
747
|
+
'getReportSettings' : ActorMethod<[], Result_23>,
|
|
733
748
|
/**
|
|
734
749
|
* / Returns the salon's asset library (readable only by the salon's current owner)
|
|
735
750
|
*/
|
|
736
|
-
'getSalonAssets' : ActorMethod<[SalonId],
|
|
751
|
+
'getSalonAssets' : ActorMethod<[SalonId], Result_22>,
|
|
737
752
|
/**
|
|
738
753
|
* / Owner-only: the salon's discount codes (semi-secret until broadcast via a promo)
|
|
739
754
|
*/
|
|
740
|
-
'getSalonDiscountCodes' : ActorMethod<[SalonId],
|
|
755
|
+
'getSalonDiscountCodes' : ActorMethod<[SalonId], Result_21>,
|
|
756
|
+
/**
|
|
757
|
+
* / The salon's outstanding invite, or null when there is none or it has expired (Owner only)
|
|
758
|
+
*/
|
|
759
|
+
'getSalonInvite' : ActorMethod<[SalonId], Result_20>,
|
|
760
|
+
'getSalonInviteTtl' : ActorMethod<[], Result_3>,
|
|
741
761
|
/**
|
|
742
762
|
* / Public: the salon's current promos
|
|
743
763
|
*/
|
|
@@ -836,7 +856,7 @@ export interface _SERVICE {
|
|
|
836
856
|
Result_3
|
|
837
857
|
>,
|
|
838
858
|
/**
|
|
839
|
-
* /
|
|
859
|
+
* / The one way to become a candidate: follow the owner's invite link (args carry its token)
|
|
840
860
|
*/
|
|
841
861
|
'requestToJoinSalon' : ActorMethod<[RequestToJoinArgs], Result_1>,
|
|
842
862
|
/**
|
|
@@ -870,6 +890,7 @@ export interface _SERVICE {
|
|
|
870
890
|
'setProdMode' : ActorMethod<[], Result_1>,
|
|
871
891
|
'setReportBatchSize' : ActorMethod<[bigint], Result_3>,
|
|
872
892
|
'setReportThreshold' : ActorMethod<[SetReportThresholdArgs], Result_3>,
|
|
893
|
+
'setSalonInviteTtl' : ActorMethod<[bigint], Result_3>,
|
|
873
894
|
/**
|
|
874
895
|
* / Owner-only: set/clear the salon's profile photos (thumbnail + cover) — asset ids must
|
|
875
896
|
* / be #Ready Image assets from the salon's own library.
|
|
@@ -49,7 +49,7 @@ export const idlFactory = ({ IDL }) => {
|
|
|
49
49
|
'salonId' : SalonId,
|
|
50
50
|
});
|
|
51
51
|
const PromoId = IDL.Text;
|
|
52
|
-
const
|
|
52
|
+
const Result_37 = IDL.Variant({ 'ok' : PromoId, 'err' : Error });
|
|
53
53
|
const ServiceTypeId = IDL.Text;
|
|
54
54
|
const AddSalonServiceArgs = IDL.Record({
|
|
55
55
|
'duration' : IDL.Nat,
|
|
@@ -60,7 +60,7 @@ export const idlFactory = ({ IDL }) => {
|
|
|
60
60
|
'price' : IDL.Nat,
|
|
61
61
|
'salonId' : SalonId,
|
|
62
62
|
});
|
|
63
|
-
const
|
|
63
|
+
const Result_36 = IDL.Variant({ 'ok' : SalonServiceId, 'err' : Error });
|
|
64
64
|
const AddOrRemoveServiceTypeInSalonArgs = IDL.Record({
|
|
65
65
|
'salonServiceId' : SalonServiceId,
|
|
66
66
|
'serviceTypeId' : ServiceTypeId,
|
|
@@ -85,7 +85,7 @@ export const idlFactory = ({ IDL }) => {
|
|
|
85
85
|
'timeOffset' : IDL.Int,
|
|
86
86
|
});
|
|
87
87
|
const AppointmentId = IDL.Text;
|
|
88
|
-
const
|
|
88
|
+
const Result_33 = IDL.Variant({ 'ok' : AppointmentId, 'err' : Error });
|
|
89
89
|
const BulkAcceptWorkersArgs = IDL.Record({
|
|
90
90
|
'delegatedCaller' : IDL.Principal,
|
|
91
91
|
'items' : IDL.Vec(AcceptWorkerArgs),
|
|
@@ -94,7 +94,7 @@ export const idlFactory = ({ IDL }) => {
|
|
|
94
94
|
'delegatedCaller' : IDL.Principal,
|
|
95
95
|
'items' : IDL.Vec(AddSalonServiceArgs),
|
|
96
96
|
});
|
|
97
|
-
const
|
|
97
|
+
const Result_35 = IDL.Variant({
|
|
98
98
|
'ok' : IDL.Vec(SalonServiceId),
|
|
99
99
|
'err' : Error,
|
|
100
100
|
});
|
|
@@ -114,7 +114,7 @@ export const idlFactory = ({ IDL }) => {
|
|
|
114
114
|
'delegatedCaller' : IDL.Principal,
|
|
115
115
|
'items' : IDL.Vec(CreateSalonArgs),
|
|
116
116
|
});
|
|
117
|
-
const
|
|
117
|
+
const Result_34 = IDL.Variant({ 'ok' : IDL.Vec(SalonId), 'err' : Error });
|
|
118
118
|
const BulkRequestToJoinSalonsArgs = IDL.Record({
|
|
119
119
|
'delegatedCaller' : IDL.Principal,
|
|
120
120
|
'salonIds' : IDL.Vec(SalonId),
|
|
@@ -142,7 +142,16 @@ export const idlFactory = ({ IDL }) => {
|
|
|
142
142
|
'declaredSizeBytes' : IDL.Opt(IDL.Nat),
|
|
143
143
|
'salonId' : SalonId,
|
|
144
144
|
});
|
|
145
|
+
const CheckSalonInviteArgs = IDL.Record({
|
|
146
|
+
'token' : IDL.Text,
|
|
147
|
+
'salonId' : SalonId,
|
|
148
|
+
});
|
|
145
149
|
const Result_5 = IDL.Variant({ 'ok' : SalonId, 'err' : Error });
|
|
150
|
+
const SalonInvite = IDL.Record({
|
|
151
|
+
'expiresAtNs' : IDL.Int,
|
|
152
|
+
'token' : IDL.Text,
|
|
153
|
+
});
|
|
154
|
+
const Result_32 = IDL.Variant({ 'ok' : SalonInvite, 'err' : Error });
|
|
146
155
|
const PaymentMethod = IDL.Variant({
|
|
147
156
|
'Card' : IDL.Null,
|
|
148
157
|
'Cash' : IDL.Null,
|
|
@@ -180,12 +189,12 @@ export const idlFactory = ({ IDL }) => {
|
|
|
180
189
|
'user' : IDL.Nat,
|
|
181
190
|
'worker' : IDL.Nat,
|
|
182
191
|
});
|
|
183
|
-
const
|
|
192
|
+
const Result_31 = IDL.Variant({ 'ok' : ActionQuotaLimits, 'err' : Error });
|
|
184
193
|
const SupportedLanguage = IDL.Record({
|
|
185
194
|
'active' : IDL.Bool,
|
|
186
195
|
'code' : LangCode,
|
|
187
196
|
});
|
|
188
|
-
const
|
|
197
|
+
const Result_30 = IDL.Variant({
|
|
189
198
|
'ok' : IDL.Vec(SupportedLanguage),
|
|
190
199
|
'err' : Error,
|
|
191
200
|
});
|
|
@@ -227,14 +236,14 @@ export const idlFactory = ({ IDL }) => {
|
|
|
227
236
|
'salonId' : SalonId,
|
|
228
237
|
'timeOffset' : IDL.Int,
|
|
229
238
|
});
|
|
230
|
-
const
|
|
239
|
+
const Result_24 = IDL.Variant({ 'ok' : IDL.Vec(Appointment), 'err' : Error });
|
|
231
240
|
const Result_4 = IDL.Variant({ 'ok' : IDL.Principal, 'err' : Error });
|
|
232
241
|
const CallActivityEntry = IDL.Record({
|
|
233
242
|
'principal' : IDL.Principal,
|
|
234
243
|
'totalUpdateCalls' : IDL.Nat,
|
|
235
244
|
'productiveCalls' : IDL.Nat,
|
|
236
245
|
});
|
|
237
|
-
const
|
|
246
|
+
const Result_29 = IDL.Variant({
|
|
238
247
|
'ok' : IDL.Record({
|
|
239
248
|
'entries' : IDL.Vec(CallActivityEntry),
|
|
240
249
|
'trackingSinceNs' : IDL.Nat64,
|
|
@@ -245,7 +254,7 @@ export const idlFactory = ({ IDL }) => {
|
|
|
245
254
|
'workerId' : IDL.Principal,
|
|
246
255
|
'date' : IDL.Nat64,
|
|
247
256
|
});
|
|
248
|
-
const
|
|
257
|
+
const Result_26 = IDL.Variant({ 'ok' : TimeMask, 'err' : Error });
|
|
249
258
|
const DailyScheduleRangeArgs = IDL.Record({
|
|
250
259
|
'toDate' : IDL.Nat64,
|
|
251
260
|
'fromDate' : IDL.Nat64,
|
|
@@ -255,7 +264,7 @@ export const idlFactory = ({ IDL }) => {
|
|
|
255
264
|
'date' : IDL.Nat64,
|
|
256
265
|
'mask' : TimeMask,
|
|
257
266
|
});
|
|
258
|
-
const
|
|
267
|
+
const Result_28 = IDL.Variant({
|
|
259
268
|
'ok' : IDL.Vec(DailyScheduleEntry),
|
|
260
269
|
'err' : Error,
|
|
261
270
|
});
|
|
@@ -265,7 +274,7 @@ export const idlFactory = ({ IDL }) => {
|
|
|
265
274
|
'workerId' : IDL.Principal,
|
|
266
275
|
'salonId' : SalonId,
|
|
267
276
|
});
|
|
268
|
-
const
|
|
277
|
+
const Result_27 = IDL.Variant({ 'ok' : IDL.Vec(IDL.Nat64), 'err' : Error });
|
|
269
278
|
const GetEffectiveMaskForSalonArgs = IDL.Record({
|
|
270
279
|
'workerId' : IDL.Principal,
|
|
271
280
|
'date' : IDL.Nat64,
|
|
@@ -410,7 +419,7 @@ export const idlFactory = ({ IDL }) => {
|
|
|
410
419
|
'SalonAssets' : IDL.Vec(SalonAssetsEntry),
|
|
411
420
|
'Promos' : IDL.Vec(PromoItem),
|
|
412
421
|
});
|
|
413
|
-
const
|
|
422
|
+
const Result_25 = IDL.Variant({ 'ok' : MigrationData, 'err' : Error });
|
|
414
423
|
const Result_2 = IDL.Variant({ 'ok' : UserProfile, 'err' : Error });
|
|
415
424
|
const Result_17 = IDL.Variant({ 'ok' : IDL.Vec(Salon), 'err' : Error });
|
|
416
425
|
const GetMyWorkerAppointmentsArgs = IDL.Record({
|
|
@@ -420,7 +429,7 @@ export const idlFactory = ({ IDL }) => {
|
|
|
420
429
|
});
|
|
421
430
|
const GetPromoFeedArgs = IDL.Record({ 'geohashes6' : IDL.Vec(Geohash) });
|
|
422
431
|
const Result_19 = IDL.Variant({ 'ok' : IDL.Vec(PromoItem), 'err' : Error });
|
|
423
|
-
const
|
|
432
|
+
const Result_23 = IDL.Variant({
|
|
424
433
|
'ok' : IDL.Record({
|
|
425
434
|
'queryThresholdMs' : IDL.Nat,
|
|
426
435
|
'updateThresholdMs' : IDL.Nat,
|
|
@@ -428,11 +437,12 @@ export const idlFactory = ({ IDL }) => {
|
|
|
428
437
|
}),
|
|
429
438
|
'err' : Error,
|
|
430
439
|
});
|
|
431
|
-
const
|
|
432
|
-
const
|
|
440
|
+
const Result_22 = IDL.Variant({ 'ok' : IDL.Vec(SalonAsset), 'err' : Error });
|
|
441
|
+
const Result_21 = IDL.Variant({
|
|
433
442
|
'ok' : IDL.Vec(DiscountCode),
|
|
434
443
|
'err' : Error,
|
|
435
444
|
});
|
|
445
|
+
const Result_20 = IDL.Variant({ 'ok' : IDL.Opt(SalonInvite), 'err' : Error });
|
|
436
446
|
const Result_6 = IDL.Variant({ 'ok' : IDL.Vec(SalonService), 'err' : Error });
|
|
437
447
|
const SalonStorageUsage = IDL.Record({
|
|
438
448
|
'pendingHeldBytes' : IDL.Nat,
|
|
@@ -545,7 +555,10 @@ export const idlFactory = ({ IDL }) => {
|
|
|
545
555
|
'timestampNs' : IDL.Nat64,
|
|
546
556
|
'durationMs' : IDL.Nat,
|
|
547
557
|
});
|
|
548
|
-
const RequestToJoinArgs = IDL.Record({
|
|
558
|
+
const RequestToJoinArgs = IDL.Record({
|
|
559
|
+
'token' : IDL.Text,
|
|
560
|
+
'salonId' : SalonId,
|
|
561
|
+
});
|
|
549
562
|
const Result_7 = IDL.Variant({ 'ok' : IDL.Nat64, 'err' : Error });
|
|
550
563
|
const SearchForSalonServicesArgs = IDL.Record({
|
|
551
564
|
'startTimeUTC' : IDL.Nat64,
|
|
@@ -614,8 +627,8 @@ export const idlFactory = ({ IDL }) => {
|
|
|
614
627
|
'acceptWorker' : IDL.Func([AcceptWorkerArgs], [Result_1], []),
|
|
615
628
|
'addDiscountCode' : IDL.Func([AddDiscountCodeArgs], [Result_1], []),
|
|
616
629
|
'addLanguage' : IDL.Func([LangCode], [Result_1], []),
|
|
617
|
-
'addPromo' : IDL.Func([AddPromoArgs], [
|
|
618
|
-
'addSalonService' : IDL.Func([AddSalonServiceArgs], [
|
|
630
|
+
'addPromo' : IDL.Func([AddPromoArgs], [Result_37], []),
|
|
631
|
+
'addSalonService' : IDL.Func([AddSalonServiceArgs], [Result_36], []),
|
|
619
632
|
'addServiceType' : IDL.Func([ServiceTypeId], [Result_1], []),
|
|
620
633
|
'addServiceTypeToSalonService' : IDL.Func(
|
|
621
634
|
[AddOrRemoveServiceTypeInSalonArgs],
|
|
@@ -632,15 +645,15 @@ export const idlFactory = ({ IDL }) => {
|
|
|
632
645
|
[Result_1],
|
|
633
646
|
[],
|
|
634
647
|
),
|
|
635
|
-
'bookAppointment' : IDL.Func([BookAppointmentArgs], [
|
|
648
|
+
'bookAppointment' : IDL.Func([BookAppointmentArgs], [Result_33], []),
|
|
636
649
|
'bulkAcceptWorkers' : IDL.Func([BulkAcceptWorkersArgs], [Result_1], []),
|
|
637
650
|
'bulkAddSalonServices' : IDL.Func(
|
|
638
651
|
[BulkAddSalonServicesArgs],
|
|
639
|
-
[
|
|
652
|
+
[Result_35],
|
|
640
653
|
[],
|
|
641
654
|
),
|
|
642
655
|
'bulkAddServiceTypes' : IDL.Func([IDL.Vec(ServiceTypeId)], [Result_14], []),
|
|
643
|
-
'bulkCreateSalons' : IDL.Func([BulkCreateSalonsArgs], [
|
|
656
|
+
'bulkCreateSalons' : IDL.Func([BulkCreateSalonsArgs], [Result_34], []),
|
|
644
657
|
'bulkRequestToJoinSalons' : IDL.Func(
|
|
645
658
|
[BulkRequestToJoinSalonsArgs],
|
|
646
659
|
[Result_1],
|
|
@@ -657,9 +670,15 @@ export const idlFactory = ({ IDL }) => {
|
|
|
657
670
|
[],
|
|
658
671
|
),
|
|
659
672
|
'canUploadAsset' : IDL.Func([CanUploadAssetArgs], [Result_1], []),
|
|
660
|
-
'cancelAppointment' : IDL.Func([AppointmentId], [
|
|
673
|
+
'cancelAppointment' : IDL.Func([AppointmentId], [Result_33], []),
|
|
674
|
+
'checkSalonInvite' : IDL.Func(
|
|
675
|
+
[CheckSalonInviteArgs],
|
|
676
|
+
[Result_1],
|
|
677
|
+
['query'],
|
|
678
|
+
),
|
|
661
679
|
'clearLogs' : IDL.Func([], [], []),
|
|
662
680
|
'createSalon' : IDL.Func([CreateSalonArgs], [Result_5], []),
|
|
681
|
+
'createSalonInvite' : IDL.Func([SalonId], [Result_32], []),
|
|
663
682
|
'createVisit' : IDL.Func([CreateVisitArgs], [Result], []),
|
|
664
683
|
'deleteAssetRaw' : IDL.Func([IDL.Text], [Result_1], []),
|
|
665
684
|
'deleteStatsBeforeDate' : IDL.Func([IDL.Nat64], [Result_3], []),
|
|
@@ -669,54 +688,56 @@ export const idlFactory = ({ IDL }) => {
|
|
|
669
688
|
[Result_1],
|
|
670
689
|
[],
|
|
671
690
|
),
|
|
672
|
-
'getActionQuotaLimits' : IDL.Func([], [
|
|
673
|
-
'getAllLanguages' : IDL.Func([], [
|
|
691
|
+
'getActionQuotaLimits' : IDL.Func([], [Result_31], ['query']),
|
|
692
|
+
'getAllLanguages' : IDL.Func([], [Result_30], ['query']),
|
|
674
693
|
'getAllProfiles' : IDL.Func([], [Result_8], ['query']),
|
|
675
694
|
'getAppointmentsForSalon' : IDL.Func(
|
|
676
695
|
[GetSalonAppointmentsArgs],
|
|
677
|
-
[
|
|
696
|
+
[Result_24],
|
|
678
697
|
['query'],
|
|
679
698
|
),
|
|
680
699
|
'getAssetCanisterPrincipal' : IDL.Func([], [Result_4], ['query']),
|
|
681
|
-
'getCallActivityStats' : IDL.Func([], [
|
|
700
|
+
'getCallActivityStats' : IDL.Func([], [Result_29], ['query']),
|
|
682
701
|
'getCandidatesBySalonId' : IDL.Func([SalonId], [Result_8], ['query']),
|
|
683
702
|
'getDailySchedule' : IDL.Func(
|
|
684
703
|
[GetDailyScheduleArgs],
|
|
685
|
-
[
|
|
704
|
+
[Result_26],
|
|
686
705
|
['query'],
|
|
687
706
|
),
|
|
688
707
|
'getDailySchedulesForMigration' : IDL.Func(
|
|
689
708
|
[DailyScheduleRangeArgs],
|
|
690
|
-
[
|
|
709
|
+
[Result_28],
|
|
691
710
|
['query'],
|
|
692
711
|
),
|
|
693
712
|
'getDayFromWeeklyTemplate' : IDL.Func(
|
|
694
713
|
[GetDayFromWeeklyTemplateArgs],
|
|
695
|
-
[
|
|
714
|
+
[Result_27],
|
|
696
715
|
['query'],
|
|
697
716
|
),
|
|
698
717
|
'getEffectiveMaskForSalon' : IDL.Func(
|
|
699
718
|
[GetEffectiveMaskForSalonArgs],
|
|
700
|
-
[
|
|
719
|
+
[Result_26],
|
|
701
720
|
['query'],
|
|
702
721
|
),
|
|
703
722
|
'getLastMigrationId' : IDL.Func([MigrationEntity], [Result_3], ['query']),
|
|
704
723
|
'getLoggingEnabled' : IDL.Func([], [Result_1], ['query']),
|
|
705
724
|
'getLogs' : IDL.Func([], [IDL.Text], ['query']),
|
|
706
|
-
'getMigrationData' : IDL.Func([MigrationQueryArgs], [
|
|
707
|
-
'getMyAppointments' : IDL.Func([], [
|
|
725
|
+
'getMigrationData' : IDL.Func([MigrationQueryArgs], [Result_25], ['query']),
|
|
726
|
+
'getMyAppointments' : IDL.Func([], [Result_24], ['query']),
|
|
708
727
|
'getMyProfile' : IDL.Func([], [Result_2], ['query']),
|
|
709
728
|
'getMySalons' : IDL.Func([], [Result_17], ['query']),
|
|
710
729
|
'getMyWorkerAppointments' : IDL.Func(
|
|
711
730
|
[GetMyWorkerAppointmentsArgs],
|
|
712
|
-
[
|
|
731
|
+
[Result_24],
|
|
713
732
|
['query'],
|
|
714
733
|
),
|
|
715
734
|
'getProdMode' : IDL.Func([], [IDL.Bool], ['query']),
|
|
716
735
|
'getPromoFeed' : IDL.Func([GetPromoFeedArgs], [Result_19], ['query']),
|
|
717
|
-
'getReportSettings' : IDL.Func([], [
|
|
718
|
-
'getSalonAssets' : IDL.Func([SalonId], [
|
|
719
|
-
'getSalonDiscountCodes' : IDL.Func([SalonId], [
|
|
736
|
+
'getReportSettings' : IDL.Func([], [Result_23], ['query']),
|
|
737
|
+
'getSalonAssets' : IDL.Func([SalonId], [Result_22], ['query']),
|
|
738
|
+
'getSalonDiscountCodes' : IDL.Func([SalonId], [Result_21], ['query']),
|
|
739
|
+
'getSalonInvite' : IDL.Func([SalonId], [Result_20], ['query']),
|
|
740
|
+
'getSalonInviteTtl' : IDL.Func([], [Result_3], ['query']),
|
|
720
741
|
'getSalonPromos' : IDL.Func([SalonId], [Result_19], ['query']),
|
|
721
742
|
'getSalonServicesBySalonId' : IDL.Func([SalonId], [Result_6], ['query']),
|
|
722
743
|
'getSalonStorageUsage' : IDL.Func([SalonId], [Result_18], ['query']),
|
|
@@ -790,6 +811,7 @@ export const idlFactory = ({ IDL }) => {
|
|
|
790
811
|
'setProdMode' : IDL.Func([], [Result_1], []),
|
|
791
812
|
'setReportBatchSize' : IDL.Func([IDL.Nat], [Result_3], []),
|
|
792
813
|
'setReportThreshold' : IDL.Func([SetReportThresholdArgs], [Result_3], []),
|
|
814
|
+
'setSalonInviteTtl' : IDL.Func([IDL.Nat], [Result_3], []),
|
|
793
815
|
'setSalonPhotos' : IDL.Func([SetSalonPhotosArgs], [Result_5], []),
|
|
794
816
|
'setSalonStorageLimit' : IDL.Func([IDL.Nat], [Result_3], []),
|
|
795
817
|
'setSystemAdmin' : IDL.Func([IDL.Opt(IDL.Principal)], [Result_4], []),
|
|
@@ -145,6 +145,23 @@ export declare class AdminActor extends ActorBase {
|
|
|
145
145
|
* @throws Error with message `CallRefusedAtInspectionStage` when the canister's `inspect_message` rejects the call before execution (oversized payload or anonymous caller) — a transport-level rejection, not a decoded Framework.Result #err.
|
|
146
146
|
*/
|
|
147
147
|
setSalonStorageLimitAsyncUnsafe(newLimitBytes: bigint): Promise<bigint>;
|
|
148
|
+
/**
|
|
149
|
+
* Sets how long a salon's worker-invite link stays usable (admin only). Read when an
|
|
150
|
+
* invite is minted, so this never moves the expiry of links already handed out.
|
|
151
|
+
* @param newTtlSeconds - The new lifetime in seconds. Must be greater than 0.
|
|
152
|
+
* @throws Error with message `CriticalCanisterError` when there is no communication with the canister
|
|
153
|
+
* or when the canister code crashes during execution.
|
|
154
|
+
* @throws Error with message 'CanisterError' when the canister returns a business error such as validation failure. Examine "cause" field to find more details about error
|
|
155
|
+
* @throws Error with message `CallRefusedAtInspectionStage` when the canister's `inspect_message` rejects the call before execution (oversized payload, anonymous caller, or exceeded daily action quota) — a transport-level rejection, not a decoded Framework.Result #err.
|
|
156
|
+
*/
|
|
157
|
+
setSalonInviteTtlAsyncUnsafe(newTtlSeconds: bigint): Promise<bigint>;
|
|
158
|
+
/**
|
|
159
|
+
* The invite lifetime currently in force, in seconds (admin only).
|
|
160
|
+
* @throws Error with message `CriticalCanisterError` when there is no communication with the canister
|
|
161
|
+
* or when the canister code crashes during execution.
|
|
162
|
+
* @throws Error with message 'CanisterError' when the canister returns a business error such as validation failure. Examine "cause" field to find more details about error
|
|
163
|
+
*/
|
|
164
|
+
getSalonInviteTtlAsyncUnsafe(): Promise<bigint>;
|
|
148
165
|
/**
|
|
149
166
|
* Sets the #Pending video hold counted against a salon's quota before the transcoded
|
|
150
167
|
* result's real size is known (admin only). Keep it in sync with octopus's output cap
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin-actor.d.ts","sourceRoot":"","sources":["../../src/actors/admin-actor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"admin-actor.d.ts","sourceRoot":"","sources":["../../src/actors/admin-actor.ts"],"names":[],"mappings":"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"}
|
|
@@ -200,6 +200,27 @@ export class AdminActor extends ActorBase {
|
|
|
200
200
|
async setSalonStorageLimitAsyncUnsafe(newLimitBytes) {
|
|
201
201
|
return this.executeFunctionAsyncUnsafe(() => this.actor.setSalonStorageLimit(newLimitBytes));
|
|
202
202
|
}
|
|
203
|
+
/**
|
|
204
|
+
* Sets how long a salon's worker-invite link stays usable (admin only). Read when an
|
|
205
|
+
* invite is minted, so this never moves the expiry of links already handed out.
|
|
206
|
+
* @param newTtlSeconds - The new lifetime in seconds. Must be greater than 0.
|
|
207
|
+
* @throws Error with message `CriticalCanisterError` when there is no communication with the canister
|
|
208
|
+
* or when the canister code crashes during execution.
|
|
209
|
+
* @throws Error with message 'CanisterError' when the canister returns a business error such as validation failure. Examine "cause" field to find more details about error
|
|
210
|
+
* @throws Error with message `CallRefusedAtInspectionStage` when the canister's `inspect_message` rejects the call before execution (oversized payload, anonymous caller, or exceeded daily action quota) — a transport-level rejection, not a decoded Framework.Result #err.
|
|
211
|
+
*/
|
|
212
|
+
async setSalonInviteTtlAsyncUnsafe(newTtlSeconds) {
|
|
213
|
+
return this.executeFunctionAsyncUnsafe(() => this.actor.setSalonInviteTtl(newTtlSeconds));
|
|
214
|
+
}
|
|
215
|
+
/**
|
|
216
|
+
* The invite lifetime currently in force, in seconds (admin only).
|
|
217
|
+
* @throws Error with message `CriticalCanisterError` when there is no communication with the canister
|
|
218
|
+
* or when the canister code crashes during execution.
|
|
219
|
+
* @throws Error with message 'CanisterError' when the canister returns a business error such as validation failure. Examine "cause" field to find more details about error
|
|
220
|
+
*/
|
|
221
|
+
async getSalonInviteTtlAsyncUnsafe() {
|
|
222
|
+
return this.executeFunctionAsyncUnsafe(() => this.actor.getSalonInviteTtl());
|
|
223
|
+
}
|
|
203
224
|
/**
|
|
204
225
|
* Sets the #Pending video hold counted against a salon's quota before the transcoded
|
|
205
226
|
* result's real size is known (admin only). Keep it in sync with octopus's output cap
|
|
@@ -1,18 +1,57 @@
|
|
|
1
1
|
import { type Identity } from "@icp-sdk/core/agent";
|
|
2
2
|
import type { Principal } from "@icp-sdk/core/principal";
|
|
3
3
|
import { ActorBase } from "../actor-base.js";
|
|
4
|
-
import type { UserProfileView } from "../interfaces.js";
|
|
4
|
+
import type { SalonInviteView, UserProfileView } from "../interfaces.js";
|
|
5
5
|
export declare class HrActor extends ActorBase {
|
|
6
6
|
constructor(canisterId: string, identity?: Identity);
|
|
7
7
|
/**
|
|
8
|
-
*
|
|
8
|
+
* Puts the current identity on a salon's candidate list. This is the ONLY way in: without
|
|
9
|
+
* a live invite from the salon's owner there is no way to become a candidate.
|
|
10
|
+
*
|
|
11
|
+
* It needs no existing profile — whoever follows an invite link is expected to be new
|
|
12
|
+
* here, so one is created on the way.
|
|
9
13
|
* @param salonId - The unique identifier of the salon to join.
|
|
14
|
+
* @param token - The token carried by the owner's invite link. A wrong, superseded or
|
|
15
|
+
* expired one is refused.
|
|
10
16
|
* @throws Error with message `CriticalCanisterError` when there is no communication with the canister
|
|
11
17
|
* or when the canister code crashes during execution.
|
|
12
18
|
* @throws Error with message 'CanisterError' when the canister returns a business error such as validation failure. Examine "cause" field to find more details about error
|
|
13
19
|
* @throws Error with message `CallRefusedAtInspectionStage` when the canister's `inspect_message` rejects the call before execution (oversized payload, anonymous caller, or exceeded daily action quota) — a transport-level rejection, not a decoded Framework.Result #err.
|
|
14
20
|
*/
|
|
15
|
-
requestToJoinSalonAsyncUnsafe(salonId: string): Promise<void>;
|
|
21
|
+
requestToJoinSalonAsyncUnsafe(salonId: string, token: string): Promise<void>;
|
|
22
|
+
/**
|
|
23
|
+
* Mints the salon's worker-invite link (owner only). REPLACES any outstanding invite, so
|
|
24
|
+
* the previous link stops working immediately. The lifetime comes from the app-wide admin
|
|
25
|
+
* setting (see AdminActor.setSalonInviteTtlAsyncUnsafe), read at mint time.
|
|
26
|
+
* @param salonId - The unique identifier of the salon.
|
|
27
|
+
* @returns A promise that resolves to the token and its expiry in canister nanoseconds.
|
|
28
|
+
* @throws Error with message `CriticalCanisterError` when there is no communication with the canister
|
|
29
|
+
* or when the canister code crashes during execution.
|
|
30
|
+
* @throws Error with message 'CanisterError' when the canister returns a business error such as validation failure. Examine "cause" field to find more details about error
|
|
31
|
+
* @throws Error with message `CallRefusedAtInspectionStage` when the canister's `inspect_message` rejects the call before execution (oversized payload, anonymous caller, or exceeded daily action quota) — a transport-level rejection, not a decoded Framework.Result #err.
|
|
32
|
+
*/
|
|
33
|
+
createSalonInviteAsyncUnsafe(salonId: string): Promise<SalonInviteView>;
|
|
34
|
+
/**
|
|
35
|
+
* The salon's outstanding invite, or undefined when there is none or it has expired
|
|
36
|
+
* (owner only). An expired invite is reported as absent, never as a link.
|
|
37
|
+
* @param salonId - The unique identifier of the salon.
|
|
38
|
+
* @throws Error with message `CriticalCanisterError` when there is no communication with the canister
|
|
39
|
+
* or when the canister code crashes during execution.
|
|
40
|
+
* @throws Error with message 'CanisterError' when the canister returns a business error such as validation failure. Examine "cause" field to find more details about error
|
|
41
|
+
*/
|
|
42
|
+
getSalonInviteAsyncUnsafe(salonId: string): Promise<SalonInviteView | undefined>;
|
|
43
|
+
/**
|
|
44
|
+
* Is this invite link still good? Answers for ANONYMOUS callers too — the page behind the
|
|
45
|
+
* link has to explain itself before asking anyone to log in. A wrong or expired token
|
|
46
|
+
* simply returns false; nothing is revealed either way. The real gate is
|
|
47
|
+
* `requestToJoinSalonAsyncUnsafe`, which re-checks the same token as an authenticated call.
|
|
48
|
+
* @param salonId - The unique identifier of the salon the link points at.
|
|
49
|
+
* @param token - The token carried by the link.
|
|
50
|
+
* @throws Error with message `CriticalCanisterError` when there is no communication with the canister
|
|
51
|
+
* or when the canister code crashes during execution.
|
|
52
|
+
* @throws Error with message 'CanisterError' when the canister returns a business error such as validation failure. Examine "cause" field to find more details about error
|
|
53
|
+
*/
|
|
54
|
+
checkSalonInviteAsyncUnsafe(salonId: string, token: string): Promise<boolean>;
|
|
16
55
|
/**
|
|
17
56
|
* Retrieves all pending job candidates for a given salon.
|
|
18
57
|
* @param salonId - The unique identifier of the salon.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hr-actor.d.ts","sourceRoot":"","sources":["../../src/actors/hr-actor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"hr-actor.d.ts","sourceRoot":"","sources":["../../src/actors/hr-actor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGzE,qBAAa,OAAQ,SAAQ,SAAS;gBAEtB,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,QAAQ;IAInD;;;;;;;;;;;;;OAaG;IACU,6BAA6B,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASzF;;;;;;;;;;OAUG;IACU,4BAA4B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAMpF;;;;;;;OAOG;IACU,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;IAM7F;;;;;;;;;;OAUG;IACU,2BAA2B,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAS1F;;;;;;;OAOG;IACU,iCAAiC,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAQ3F;;;;;;;;OAQG;IACU,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IASzF;;;;;;;;OAQG;IACU,0BAA0B,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAS5F;;;;;;;;OAQG;IACU,gCAAgC,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IASlG;;;;;;;OAOG;IACU,8BAA8B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;CAO3F"}
|
package/dist/actors/hr-actor.js
CHANGED
|
@@ -6,16 +6,65 @@ export class HrActor extends ActorBase {
|
|
|
6
6
|
super(canisterId, identity);
|
|
7
7
|
}
|
|
8
8
|
/**
|
|
9
|
-
*
|
|
9
|
+
* Puts the current identity on a salon's candidate list. This is the ONLY way in: without
|
|
10
|
+
* a live invite from the salon's owner there is no way to become a candidate.
|
|
11
|
+
*
|
|
12
|
+
* It needs no existing profile — whoever follows an invite link is expected to be new
|
|
13
|
+
* here, so one is created on the way.
|
|
10
14
|
* @param salonId - The unique identifier of the salon to join.
|
|
15
|
+
* @param token - The token carried by the owner's invite link. A wrong, superseded or
|
|
16
|
+
* expired one is refused.
|
|
11
17
|
* @throws Error with message `CriticalCanisterError` when there is no communication with the canister
|
|
12
18
|
* or when the canister code crashes during execution.
|
|
13
19
|
* @throws Error with message 'CanisterError' when the canister returns a business error such as validation failure. Examine "cause" field to find more details about error
|
|
14
20
|
* @throws Error with message `CallRefusedAtInspectionStage` when the canister's `inspect_message` rejects the call before execution (oversized payload, anonymous caller, or exceeded daily action quota) — a transport-level rejection, not a decoded Framework.Result #err.
|
|
15
21
|
*/
|
|
16
|
-
async requestToJoinSalonAsyncUnsafe(salonId) {
|
|
22
|
+
async requestToJoinSalonAsyncUnsafe(salonId, token) {
|
|
17
23
|
await this.executeFunctionAsyncUnsafe(() => this.actor.requestToJoinSalon({
|
|
18
|
-
salonId
|
|
24
|
+
salonId,
|
|
25
|
+
token
|
|
26
|
+
}));
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Mints the salon's worker-invite link (owner only). REPLACES any outstanding invite, so
|
|
30
|
+
* the previous link stops working immediately. The lifetime comes from the app-wide admin
|
|
31
|
+
* setting (see AdminActor.setSalonInviteTtlAsyncUnsafe), read at mint time.
|
|
32
|
+
* @param salonId - The unique identifier of the salon.
|
|
33
|
+
* @returns A promise that resolves to the token and its expiry in canister nanoseconds.
|
|
34
|
+
* @throws Error with message `CriticalCanisterError` when there is no communication with the canister
|
|
35
|
+
* or when the canister code crashes during execution.
|
|
36
|
+
* @throws Error with message 'CanisterError' when the canister returns a business error such as validation failure. Examine "cause" field to find more details about error
|
|
37
|
+
* @throws Error with message `CallRefusedAtInspectionStage` when the canister's `inspect_message` rejects the call before execution (oversized payload, anonymous caller, or exceeded daily action quota) — a transport-level rejection, not a decoded Framework.Result #err.
|
|
38
|
+
*/
|
|
39
|
+
async createSalonInviteAsyncUnsafe(salonId) {
|
|
40
|
+
return this.executeFunctionAsyncUnsafe(() => this.actor.createSalonInvite(salonId));
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* The salon's outstanding invite, or undefined when there is none or it has expired
|
|
44
|
+
* (owner only). An expired invite is reported as absent, never as a link.
|
|
45
|
+
* @param salonId - The unique identifier of the salon.
|
|
46
|
+
* @throws Error with message `CriticalCanisterError` when there is no communication with the canister
|
|
47
|
+
* or when the canister code crashes during execution.
|
|
48
|
+
* @throws Error with message 'CanisterError' when the canister returns a business error such as validation failure. Examine "cause" field to find more details about error
|
|
49
|
+
*/
|
|
50
|
+
async getSalonInviteAsyncUnsafe(salonId) {
|
|
51
|
+
return this.executeFunctionAsyncUnsafe(() => this.actor.getSalonInvite(salonId)).then(invite => invite[0]);
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Is this invite link still good? Answers for ANONYMOUS callers too — the page behind the
|
|
55
|
+
* link has to explain itself before asking anyone to log in. A wrong or expired token
|
|
56
|
+
* simply returns false; nothing is revealed either way. The real gate is
|
|
57
|
+
* `requestToJoinSalonAsyncUnsafe`, which re-checks the same token as an authenticated call.
|
|
58
|
+
* @param salonId - The unique identifier of the salon the link points at.
|
|
59
|
+
* @param token - The token carried by the link.
|
|
60
|
+
* @throws Error with message `CriticalCanisterError` when there is no communication with the canister
|
|
61
|
+
* or when the canister code crashes during execution.
|
|
62
|
+
* @throws Error with message 'CanisterError' when the canister returns a business error such as validation failure. Examine "cause" field to find more details about error
|
|
63
|
+
*/
|
|
64
|
+
async checkSalonInviteAsyncUnsafe(salonId, token) {
|
|
65
|
+
return this.executeFunctionAsyncUnsafe(() => this.actor.checkSalonInvite({
|
|
66
|
+
salonId,
|
|
67
|
+
token
|
|
19
68
|
}));
|
|
20
69
|
}
|
|
21
70
|
/**
|
package/dist/index.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ export { VideoUploadClient, uploadVideoToWorkersAsyncUnsafe, getSalonAssetsWithS
|
|
|
3
3
|
export type { SalonAssetWithStatus, AssetError, AssetErrorCode, AssetFlowStatus } from "./video-upload-client.js";
|
|
4
4
|
export type { VideoUploadStage, VideoUploadProgress, VideoUploadOptions, VideoUploadAcceptance, VideoUploadResult, VideoTranscodeCheck, } from "./video-upload-client.js";
|
|
5
5
|
export type { ActionQuotaRole, CallActivityStats } from "./actors/admin-actor.js";
|
|
6
|
+
export type { SalonInviteView, UserProfileView } from "./interfaces.js";
|
|
6
7
|
export { BulkActor } from "./actors/bulk-actor.js";
|
|
7
8
|
export { AppointmentsActor } from "./actors/appointments-actor.js";
|
|
8
9
|
export { AssetsActor } from "./actors/assets-actor.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/interfaces.d.ts
CHANGED
|
@@ -1,4 +1,12 @@
|
|
|
1
1
|
import type { Principal } from "@icp-sdk/core/principal";
|
|
2
|
+
/**
|
|
3
|
+
* A salon's outstanding worker-invite link. `expiresAtNs` is canister time in nanoseconds —
|
|
4
|
+
* divide by 1_000_000n for a JS Date.
|
|
5
|
+
*/
|
|
6
|
+
export interface SalonInviteView {
|
|
7
|
+
token: string;
|
|
8
|
+
expiresAtNs: bigint;
|
|
9
|
+
}
|
|
2
10
|
export interface UserProfileView {
|
|
3
11
|
id: Principal;
|
|
4
12
|
whatsAppNumber?: string;
|
package/dist/interfaces.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEzD,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,SAAS,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6FAA6F;IAC7F,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB"}
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEzD;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,SAAS,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6FAA6F;IAC7F,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jsm-mit/sultana-core-motoko-package",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "A TypeScript library for interacting with the Sultana Core Motoko actor on the Internet Computer (IC) platform.",
|
|
5
5
|
"homepage": "https://github.com/JSM-Sultana/sultana-core-motoko-package#readme",
|
|
6
6
|
"bugs": {
|