@marcoappio/marco-config 2.0.531 → 2.0.532

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.
@@ -0,0 +1,17 @@
1
+ export declare enum CustomViewIcon {
2
+ AIRPLANE = "AIRPLANE",
3
+ BELL = "BELL",
4
+ BRIEFCASE = "BRIEFCASE",
5
+ CLOCK = "CLOCK",
6
+ CREDIT_CARD = "CREDIT_CARD",
7
+ HEART = "HEART",
8
+ HOME = "HOME",
9
+ KEY = "KEY",
10
+ MOON = "MOON",
11
+ PERSON = "PERSON",
12
+ SHOPPING_CART = "SHOPPING_CART",
13
+ STAR = "STAR"
14
+ }
15
+ export declare const USER_SETTINGS_CUSTOM_VIEW_ICONS: readonly [CustomViewIcon.AIRPLANE, CustomViewIcon.BELL, CustomViewIcon.BRIEFCASE, CustomViewIcon.CLOCK, CustomViewIcon.CREDIT_CARD, CustomViewIcon.HEART, CustomViewIcon.HOME, CustomViewIcon.KEY, CustomViewIcon.MOON, CustomViewIcon.PERSON, CustomViewIcon.SHOPPING_CART, CustomViewIcon.STAR];
16
+ export type UserSettingsCustomViewIcon = (typeof USER_SETTINGS_CUSTOM_VIEW_ICONS)[number];
17
+ //# sourceMappingURL=UserSettings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UserSettings.d.ts","sourceRoot":"","sources":["../../src/types/UserSettings.ts"],"names":[],"mappings":"AAAA,oBAAY,cAAc;IACxB,QAAQ,aAAa;IACrB,IAAI,SAAS;IACb,SAAS,cAAc;IACvB,KAAK,UAAU;IACf,WAAW,gBAAgB;IAC3B,KAAK,UAAU;IACf,IAAI,SAAS;IACb,GAAG,QAAQ;IACX,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,aAAa,kBAAkB;IAC/B,IAAI,SAAS;CACd;AAED,eAAO,MAAM,+BAA+B,mSAalC,CAAA;AAEV,MAAM,MAAM,0BAA0B,GAAG,CAAC,OAAO,+BAA+B,CAAC,CAAC,MAAM,CAAC,CAAA"}
@@ -0,0 +1,29 @@
1
+ export var CustomViewIcon;
2
+ (function (CustomViewIcon) {
3
+ CustomViewIcon["AIRPLANE"] = "AIRPLANE";
4
+ CustomViewIcon["BELL"] = "BELL";
5
+ CustomViewIcon["BRIEFCASE"] = "BRIEFCASE";
6
+ CustomViewIcon["CLOCK"] = "CLOCK";
7
+ CustomViewIcon["CREDIT_CARD"] = "CREDIT_CARD";
8
+ CustomViewIcon["HEART"] = "HEART";
9
+ CustomViewIcon["HOME"] = "HOME";
10
+ CustomViewIcon["KEY"] = "KEY";
11
+ CustomViewIcon["MOON"] = "MOON";
12
+ CustomViewIcon["PERSON"] = "PERSON";
13
+ CustomViewIcon["SHOPPING_CART"] = "SHOPPING_CART";
14
+ CustomViewIcon["STAR"] = "STAR";
15
+ })(CustomViewIcon || (CustomViewIcon = {}));
16
+ export const USER_SETTINGS_CUSTOM_VIEW_ICONS = [
17
+ CustomViewIcon.AIRPLANE,
18
+ CustomViewIcon.BELL,
19
+ CustomViewIcon.BRIEFCASE,
20
+ CustomViewIcon.CLOCK,
21
+ CustomViewIcon.CREDIT_CARD,
22
+ CustomViewIcon.HEART,
23
+ CustomViewIcon.HOME,
24
+ CustomViewIcon.KEY,
25
+ CustomViewIcon.MOON,
26
+ CustomViewIcon.PERSON,
27
+ CustomViewIcon.SHOPPING_CART,
28
+ CustomViewIcon.STAR,
29
+ ];
@@ -11,5 +11,6 @@ export * from './MarcoPlatform';
11
11
  export * from './MessageRecipientType';
12
12
  export * from './OAuthProvider';
13
13
  export * from './SDKError';
14
+ export * from './UserSettings';
14
15
  export * from './Zero';
15
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,+BAA+B,CAAA;AAC7C,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,YAAY,CAAA;AAC1B,cAAc,wBAAwB,CAAA;AACtC,cAAc,sBAAsB,CAAA;AACpC,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,wBAAwB,CAAA;AACtC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,YAAY,CAAA;AAC1B,cAAc,QAAQ,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,+BAA+B,CAAA;AAC7C,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,YAAY,CAAA;AAC1B,cAAc,wBAAwB,CAAA;AACtC,cAAc,sBAAsB,CAAA;AACpC,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,wBAAwB,CAAA;AACtC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,QAAQ,CAAA"}
@@ -11,4 +11,5 @@ export * from './MarcoPlatform';
11
11
  export * from './MessageRecipientType';
12
12
  export * from './OAuthProvider';
13
13
  export * from './SDKError';
14
+ export * from './UserSettings';
14
15
  export * from './Zero';
@@ -246,6 +246,7 @@ export declare const marcoZero: {
246
246
  readonly id: import("valibot").NonOptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").NonEmptyAction<string, undefined>, import("valibot").MaxLengthAction<string, number, undefined>]>, undefined>;
247
247
  readonly view: import("valibot").ObjectSchema<{
248
248
  readonly aliasEmails: import("valibot").SchemaWithPipe<readonly [import("valibot").ArraySchema<import("valibot").NonOptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").RfcEmailAction<string, undefined>]>, undefined>, undefined>, import("valibot").MinLengthAction<string[], 1, undefined>, import("valibot").MaxLengthAction<string[], number, undefined>]>;
249
+ readonly icon: import("valibot").NullableSchema<import("valibot").PicklistSchema<readonly [import("..").CustomViewIcon.AIRPLANE, import("..").CustomViewIcon.BELL, import("..").CustomViewIcon.BRIEFCASE, import("..").CustomViewIcon.CLOCK, import("..").CustomViewIcon.CREDIT_CARD, import("..").CustomViewIcon.HEART, import("..").CustomViewIcon.HOME, import("..").CustomViewIcon.KEY, import("..").CustomViewIcon.MOON, import("..").CustomViewIcon.PERSON, import("..").CustomViewIcon.SHOPPING_CART, import("..").CustomViewIcon.STAR], undefined>, undefined>;
249
250
  readonly id: import("valibot").NonOptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").NonEmptyAction<string, undefined>, import("valibot").MaxLengthAction<string, number, undefined>]>, undefined>;
250
251
  readonly name: import("valibot").NonOptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").NonEmptyAction<string, undefined>, import("valibot").MaxLengthAction<string, number, undefined>]>, undefined>;
251
252
  }, undefined>;
@@ -274,6 +275,7 @@ export declare const marcoZero: {
274
275
  readonly id: import("valibot").NonOptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").NonEmptyAction<string, undefined>, import("valibot").MaxLengthAction<string, number, undefined>]>, undefined>;
275
276
  readonly view: import("valibot").ObjectSchema<{
276
277
  readonly aliasEmails: import("valibot").SchemaWithPipe<readonly [import("valibot").ArraySchema<import("valibot").NonOptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").RfcEmailAction<string, undefined>]>, undefined>, undefined>, import("valibot").MinLengthAction<string[], 1, undefined>, import("valibot").MaxLengthAction<string[], number, undefined>]>;
278
+ readonly icon: import("valibot").NullableSchema<import("valibot").PicklistSchema<readonly [import("..").CustomViewIcon.AIRPLANE, import("..").CustomViewIcon.BELL, import("..").CustomViewIcon.BRIEFCASE, import("..").CustomViewIcon.CLOCK, import("..").CustomViewIcon.CREDIT_CARD, import("..").CustomViewIcon.HEART, import("..").CustomViewIcon.HOME, import("..").CustomViewIcon.KEY, import("..").CustomViewIcon.MOON, import("..").CustomViewIcon.PERSON, import("..").CustomViewIcon.SHOPPING_CART, import("..").CustomViewIcon.STAR], undefined>, undefined>;
277
279
  readonly id: import("valibot").NonOptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").NonEmptyAction<string, undefined>, import("valibot").MaxLengthAction<string, number, undefined>]>, undefined>;
278
280
  readonly name: import("valibot").NonOptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").NonEmptyAction<string, undefined>, import("valibot").MaxLengthAction<string, number, undefined>]>, undefined>;
279
281
  }, undefined>;
@@ -743,6 +745,7 @@ export declare const marcoZero: {
743
745
  id: string;
744
746
  view: {
745
747
  aliasEmails: string[];
748
+ icon: import("..").CustomViewIcon | null;
746
749
  id: string;
747
750
  name: string;
748
751
  };
@@ -750,6 +753,7 @@ export declare const marcoZero: {
750
753
  id: string;
751
754
  view: {
752
755
  aliasEmails: string[];
756
+ icon: import("..").CustomViewIcon | null;
753
757
  id: string;
754
758
  name: string;
755
759
  };
@@ -804,6 +808,7 @@ export declare const marcoZero: {
804
808
  id: string;
805
809
  view: {
806
810
  aliasEmails: string[];
811
+ icon: import("..").CustomViewIcon | null;
807
812
  id: string;
808
813
  name: string;
809
814
  };
@@ -811,6 +816,7 @@ export declare const marcoZero: {
811
816
  id: string;
812
817
  view: {
813
818
  aliasEmails: string[];
819
+ icon: import("..").CustomViewIcon | null;
814
820
  id: string;
815
821
  name: string;
816
822
  };
@@ -858,6 +864,7 @@ export declare const marcoZero: {
858
864
  id: string;
859
865
  name: string;
860
866
  aliasEmails: string[];
867
+ icon: import("..").CustomViewIcon | null;
861
868
  }[];
862
869
  };
863
870
  };
@@ -2141,6 +2148,7 @@ export declare const marcoZero: {
2141
2148
  id: string;
2142
2149
  name: string;
2143
2150
  aliasEmails: string[];
2151
+ icon: import("..").CustomViewIcon | null;
2144
2152
  }[];
2145
2153
  } & {
2146
2154
  readonly accounts: readonly ({
@@ -2229,6 +2237,7 @@ export declare const marcoZero: {
2229
2237
  id: string;
2230
2238
  name: string;
2231
2239
  aliasEmails: string[];
2240
+ icon: import("..").CustomViewIcon | null;
2232
2241
  }[];
2233
2242
  };
2234
2243
  };
@@ -3270,6 +3279,7 @@ export declare const marcoZero: {
3270
3279
  id: string;
3271
3280
  name: string;
3272
3281
  aliasEmails: string[];
3282
+ icon: import("..").CustomViewIcon | null;
3273
3283
  }[];
3274
3284
  };
3275
3285
  };
@@ -5007,6 +5017,7 @@ export declare const marcoZero: {
5007
5017
  id: string;
5008
5018
  name: string;
5009
5019
  aliasEmails: string[];
5020
+ icon: import("..").CustomViewIcon | null;
5010
5021
  }[];
5011
5022
  };
5012
5023
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/zero/index.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMZ,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/zero/index.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMZ,CAAA"}
@@ -246,6 +246,7 @@ export declare const mutatorSchemas: {
246
246
  readonly id: v.NonOptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.NonEmptyAction<string, undefined>, v.MaxLengthAction<string, number, undefined>]>, undefined>;
247
247
  readonly view: v.ObjectSchema<{
248
248
  readonly aliasEmails: v.SchemaWithPipe<readonly [v.ArraySchema<v.NonOptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RfcEmailAction<string, undefined>]>, undefined>, undefined>, v.MinLengthAction<string[], 1, undefined>, v.MaxLengthAction<string[], number, undefined>]>;
249
+ readonly icon: v.NullableSchema<v.PicklistSchema<readonly [import("../types").CustomViewIcon.AIRPLANE, import("../types").CustomViewIcon.BELL, import("../types").CustomViewIcon.BRIEFCASE, import("../types").CustomViewIcon.CLOCK, import("../types").CustomViewIcon.CREDIT_CARD, import("../types").CustomViewIcon.HEART, import("../types").CustomViewIcon.HOME, import("../types").CustomViewIcon.KEY, import("../types").CustomViewIcon.MOON, import("../types").CustomViewIcon.PERSON, import("../types").CustomViewIcon.SHOPPING_CART, import("../types").CustomViewIcon.STAR], undefined>, undefined>;
249
250
  readonly id: v.NonOptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.NonEmptyAction<string, undefined>, v.MaxLengthAction<string, number, undefined>]>, undefined>;
250
251
  readonly name: v.NonOptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.NonEmptyAction<string, undefined>, v.MaxLengthAction<string, number, undefined>]>, undefined>;
251
252
  }, undefined>;
@@ -274,6 +275,7 @@ export declare const mutatorSchemas: {
274
275
  readonly id: v.NonOptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.NonEmptyAction<string, undefined>, v.MaxLengthAction<string, number, undefined>]>, undefined>;
275
276
  readonly view: v.ObjectSchema<{
276
277
  readonly aliasEmails: v.SchemaWithPipe<readonly [v.ArraySchema<v.NonOptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RfcEmailAction<string, undefined>]>, undefined>, undefined>, v.MinLengthAction<string[], 1, undefined>, v.MaxLengthAction<string[], number, undefined>]>;
278
+ readonly icon: v.NullableSchema<v.PicklistSchema<readonly [import("../types").CustomViewIcon.AIRPLANE, import("../types").CustomViewIcon.BELL, import("../types").CustomViewIcon.BRIEFCASE, import("../types").CustomViewIcon.CLOCK, import("../types").CustomViewIcon.CREDIT_CARD, import("../types").CustomViewIcon.HEART, import("../types").CustomViewIcon.HOME, import("../types").CustomViewIcon.KEY, import("../types").CustomViewIcon.MOON, import("../types").CustomViewIcon.PERSON, import("../types").CustomViewIcon.SHOPPING_CART, import("../types").CustomViewIcon.STAR], undefined>, undefined>;
277
279
  readonly id: v.NonOptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.NonEmptyAction<string, undefined>, v.MaxLengthAction<string, number, undefined>]>, undefined>;
278
280
  readonly name: v.NonOptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.NonEmptyAction<string, undefined>, v.MaxLengthAction<string, number, undefined>]>, undefined>;
279
281
  }, undefined>;
@@ -1 +1 @@
1
- {"version":3,"file":"mutatorSchemas.d.ts","sourceRoot":"","sources":["../../src/zero/mutatorSchemas.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAgF5B,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsJ1B,CAAA"}
1
+ {"version":3,"file":"mutatorSchemas.d.ts","sourceRoot":"","sources":["../../src/zero/mutatorSchemas.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAsF5B,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsJ1B,CAAA"}
@@ -2,7 +2,7 @@ import * as v from 'valibot';
2
2
  import { marcoConstants } from '../constants';
3
3
  import { marcoSchemas } from '../schemas';
4
4
  import { socketTypeSchema } from '../schemas/emailAccount';
5
- import { DRAFT_ATTACHMENT_UPLOAD_STATUSES, DRAFT_STATUSES, DRAFT_TYPES } from '../types';
5
+ import { DRAFT_ATTACHMENT_UPLOAD_STATUSES, DRAFT_STATUSES, DRAFT_TYPES, USER_SETTINGS_CUSTOM_VIEW_ICONS, } from '../types';
6
6
  const accountAliasSchema = v.object({
7
7
  emailAddress: marcoSchemas.string.email(),
8
8
  id: marcoSchemas.string.required(),
@@ -56,6 +56,7 @@ const connectionConfigImapRawSchema = v.object({
56
56
  });
57
57
  const userViewSchema = v.object({
58
58
  aliasEmails: v.pipe(v.array(marcoSchemas.string.email()), v.minLength(1), v.maxLength(marcoConstants.user.views.maxAliasEmailsPerView)),
59
+ icon: v.nullable(v.picklist(USER_SETTINGS_CUSTOM_VIEW_ICONS)),
59
60
  id: marcoSchemas.string.required(),
60
61
  name: marcoSchemas.string.required(),
61
62
  });
@@ -410,6 +410,7 @@ export declare const mutators: import("@rocicorp/zero").MutatorRegistry<{
410
410
  id: string;
411
411
  view: {
412
412
  aliasEmails: string[];
413
+ icon: import("../types").CustomViewIcon | null;
413
414
  id: string;
414
415
  name: string;
415
416
  };
@@ -417,6 +418,7 @@ export declare const mutators: import("@rocicorp/zero").MutatorRegistry<{
417
418
  id: string;
418
419
  view: {
419
420
  aliasEmails: string[];
421
+ icon: import("../types").CustomViewIcon | null;
420
422
  id: string;
421
423
  name: string;
422
424
  };
@@ -461,6 +463,7 @@ export declare const mutators: import("@rocicorp/zero").MutatorRegistry<{
461
463
  id: string;
462
464
  view: {
463
465
  aliasEmails: string[];
466
+ icon: import("../types").CustomViewIcon | null;
464
467
  id: string;
465
468
  name: string;
466
469
  };
@@ -468,6 +471,7 @@ export declare const mutators: import("@rocicorp/zero").MutatorRegistry<{
468
471
  id: string;
469
472
  view: {
470
473
  aliasEmails: string[];
474
+ icon: import("../types").CustomViewIcon | null;
471
475
  id: string;
472
476
  name: string;
473
477
  };
@@ -513,6 +517,7 @@ export declare const mutators: import("@rocicorp/zero").MutatorRegistry<{
513
517
  id: string;
514
518
  name: string;
515
519
  aliasEmails: string[];
520
+ icon: import("../types").CustomViewIcon | null;
516
521
  }[];
517
522
  };
518
523
  };
@@ -1 +1 @@
1
- {"version":3,"file":"mutators.d.ts","sourceRoot":"","sources":["../../src/zero/mutators.ts"],"names":[],"mappings":"AASA,KAAK,OAAO,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAA;AAqGjC,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwiBnB,CAAA"}
1
+ {"version":3,"file":"mutators.d.ts","sourceRoot":"","sources":["../../src/zero/mutators.ts"],"names":[],"mappings":"AASA,KAAK,OAAO,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAA;AAqGjC,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmjBnB,CAAA"}
@@ -496,7 +496,13 @@ export const mutators = defineMutators({
496
496
  if (!existingView && currentViews.length < marcoConstants.user.views.maxViews) {
497
497
  await tx.mutate.user.update({
498
498
  id: args.id,
499
- views: [...currentViews, { ...args.view, aliasEmails: [...new Set(args.view.aliasEmails)] }],
499
+ views: [
500
+ ...currentViews,
501
+ {
502
+ ...args.view,
503
+ aliasEmails: [...new Set(args.view.aliasEmails)],
504
+ },
505
+ ],
500
506
  });
501
507
  }
502
508
  }
@@ -540,7 +546,12 @@ export const mutators = defineMutators({
540
546
  const deduplicatedEmails = [...new Set(args.view.aliasEmails)];
541
547
  await tx.mutate.user.update({
542
548
  id: args.id,
543
- views: (user.views ?? []).map(x => x.id === args.view.id ? { ...args.view, aliasEmails: deduplicatedEmails } : x),
549
+ views: (user.views ?? []).map(x => x.id === args.view.id
550
+ ? {
551
+ ...args.view,
552
+ aliasEmails: deduplicatedEmails,
553
+ }
554
+ : x),
544
555
  });
545
556
  }
546
557
  }
@@ -1,5 +1,6 @@
1
1
  import { beforeEach, describe, expect, it, mock } from 'bun:test';
2
2
  import * as v from 'valibot';
3
+ import { CustomViewIcon, USER_SETTINGS_CUSTOM_VIEW_ICONS } from '../types';
3
4
  import { mutatorSchemas } from './mutatorSchemas';
4
5
  import { mutators } from './mutators';
5
6
  const createMockTx = () => ({
@@ -654,6 +655,7 @@ describe('mutators', () => {
654
655
  id: 'test-user-id-1',
655
656
  view: {
656
657
  aliasEmails: ['test-email-1@example.com', 'test-email-2@example.com'],
658
+ icon: null,
657
659
  id: 'test-view-id-1',
658
660
  name: 'test-view-name-1',
659
661
  },
@@ -664,6 +666,7 @@ describe('mutators', () => {
664
666
  views: [
665
667
  {
666
668
  aliasEmails: ['test-email-1@example.com', 'test-email-2@example.com'],
669
+ icon: null,
667
670
  id: 'test-view-id-1',
668
671
  name: 'test-view-name-1',
669
672
  },
@@ -676,6 +679,7 @@ describe('mutators', () => {
676
679
  id: 'test-user-id-1',
677
680
  view: {
678
681
  aliasEmails: ['test-email-1@example.com', 'test-email-2@example.com', 'test-email-1@example.com'],
682
+ icon: null,
679
683
  id: 'test-view-id-1',
680
684
  name: 'test-view-name-1',
681
685
  },
@@ -686,6 +690,31 @@ describe('mutators', () => {
686
690
  views: [
687
691
  {
688
692
  aliasEmails: ['test-email-1@example.com', 'test-email-2@example.com'],
693
+ icon: null,
694
+ id: 'test-view-id-1',
695
+ name: 'test-view-name-1',
696
+ },
697
+ ],
698
+ });
699
+ });
700
+ it('creates a view with an icon', async () => {
701
+ tx.run = mock(() => Promise.resolve({ id: 'test-user-id-1', views: [] }));
702
+ const args = {
703
+ id: 'test-user-id-1',
704
+ view: {
705
+ aliasEmails: ['test-email-1@example.com'],
706
+ icon: CustomViewIcon.STAR,
707
+ id: 'test-view-id-1',
708
+ name: 'test-view-name-1',
709
+ },
710
+ };
711
+ await mutators.user.createView.fn({ args, ctx, tx: tx });
712
+ expect(tx.mutate.user.update).toHaveBeenCalledWith({
713
+ id: 'test-user-id-1',
714
+ views: [
715
+ {
716
+ aliasEmails: ['test-email-1@example.com'],
717
+ icon: CustomViewIcon.STAR,
689
718
  id: 'test-view-id-1',
690
719
  name: 'test-view-name-1',
691
720
  },
@@ -695,18 +724,25 @@ describe('mutators', () => {
695
724
  it('appends to existing views', async () => {
696
725
  tx.run = mock(() => Promise.resolve({
697
726
  id: 'test-user-id-1',
698
- views: [{ aliasEmails: ['test-email-1@example.com'], id: 'test-view-id-1', name: 'test-view-name-1' }],
727
+ views: [
728
+ { aliasEmails: ['test-email-1@example.com'], icon: null, id: 'test-view-id-1', name: 'test-view-name-1' },
729
+ ],
699
730
  }));
700
731
  const args = {
701
732
  id: 'test-user-id-1',
702
- view: { aliasEmails: ['test-email-2@example.com'], id: 'test-view-id-2', name: 'test-view-name-2' },
733
+ view: {
734
+ aliasEmails: ['test-email-2@example.com'],
735
+ icon: null,
736
+ id: 'test-view-id-2',
737
+ name: 'test-view-name-2',
738
+ },
703
739
  };
704
740
  await mutators.user.createView.fn({ args, ctx, tx: tx });
705
741
  expect(tx.mutate.user.update).toHaveBeenCalledWith({
706
742
  id: 'test-user-id-1',
707
743
  views: [
708
- { aliasEmails: ['test-email-1@example.com'], id: 'test-view-id-1', name: 'test-view-name-1' },
709
- { aliasEmails: ['test-email-2@example.com'], id: 'test-view-id-2', name: 'test-view-name-2' },
744
+ { aliasEmails: ['test-email-1@example.com'], icon: null, id: 'test-view-id-1', name: 'test-view-name-1' },
745
+ { aliasEmails: ['test-email-2@example.com'], icon: null, id: 'test-view-id-2', name: 'test-view-name-2' },
710
746
  ],
711
747
  });
712
748
  });
@@ -714,7 +750,12 @@ describe('mutators', () => {
714
750
  tx.run = mock(() => Promise.resolve(null));
715
751
  const args = {
716
752
  id: 'test-user-id-1',
717
- view: { aliasEmails: ['test-email-1@example.com'], id: 'test-view-id-1', name: 'test-view-name-1' },
753
+ view: {
754
+ aliasEmails: ['test-email-1@example.com'],
755
+ icon: null,
756
+ id: 'test-view-id-1',
757
+ name: 'test-view-name-1',
758
+ },
718
759
  };
719
760
  await mutators.user.createView.fn({ args, ctx, tx: tx });
720
761
  expect(tx.mutate.user.update).not.toHaveBeenCalled();
@@ -722,11 +763,18 @@ describe('mutators', () => {
722
763
  it('does nothing if view with same id already exists', async () => {
723
764
  tx.run = mock(() => Promise.resolve({
724
765
  id: 'test-user-id-1',
725
- views: [{ aliasEmails: ['test-email-1@example.com'], id: 'test-view-id-1', name: 'test-view-name-1' }],
766
+ views: [
767
+ { aliasEmails: ['test-email-1@example.com'], icon: null, id: 'test-view-id-1', name: 'test-view-name-1' },
768
+ ],
726
769
  }));
727
770
  const args = {
728
771
  id: 'test-user-id-1',
729
- view: { aliasEmails: ['test-email-2@example.com'], id: 'test-view-id-1', name: 'test-view-name-2' },
772
+ view: {
773
+ aliasEmails: ['test-email-2@example.com'],
774
+ icon: null,
775
+ id: 'test-view-id-1',
776
+ name: 'test-view-name-2',
777
+ },
730
778
  };
731
779
  await mutators.user.createView.fn({ args, ctx, tx: tx });
732
780
  expect(tx.mutate.user.update).not.toHaveBeenCalled();
@@ -734,13 +782,19 @@ describe('mutators', () => {
734
782
  it('does nothing if max views limit reached', async () => {
735
783
  const existingViews = Array.from({ length: 25 }, (_, i) => ({
736
784
  aliasEmails: [`test-email-${i}@example.com`],
785
+ icon: null,
737
786
  id: `test-view-id-${i}`,
738
787
  name: `test-view-name-${i}`,
739
788
  }));
740
789
  tx.run = mock(() => Promise.resolve({ id: 'test-user-id-1', views: existingViews }));
741
790
  const args = {
742
791
  id: 'test-user-id-1',
743
- view: { aliasEmails: ['test-email-1@example.com'], id: 'test-view-id-1', name: 'test-view-name-1' },
792
+ view: {
793
+ aliasEmails: ['test-email-1@example.com'],
794
+ icon: null,
795
+ id: 'test-view-id-1',
796
+ name: 'test-view-name-1',
797
+ },
744
798
  };
745
799
  await mutators.user.createView.fn({ args, ctx, tx: tx });
746
800
  expect(tx.mutate.user.update).not.toHaveBeenCalled();
@@ -751,15 +805,17 @@ describe('mutators', () => {
751
805
  tx.run = mock(() => Promise.resolve({
752
806
  id: 'test-user-id-1',
753
807
  views: [
754
- { aliasEmails: ['test-email-1@example.com'], id: 'test-view-id-1', name: 'test-view-name-1' },
755
- { aliasEmails: ['test-email-2@example.com'], id: 'test-view-id-2', name: 'test-view-name-2' },
808
+ { aliasEmails: ['test-email-1@example.com'], icon: null, id: 'test-view-id-1', name: 'test-view-name-1' },
809
+ { aliasEmails: ['test-email-2@example.com'], icon: null, id: 'test-view-id-2', name: 'test-view-name-2' },
756
810
  ],
757
811
  }));
758
812
  const args = { id: 'test-user-id-1', viewId: 'test-view-id-1' };
759
813
  await mutators.user.deleteView.fn({ args, ctx, tx: tx });
760
814
  expect(tx.mutate.user.update).toHaveBeenCalledWith({
761
815
  id: 'test-user-id-1',
762
- views: [{ aliasEmails: ['test-email-2@example.com'], id: 'test-view-id-2', name: 'test-view-name-2' }],
816
+ views: [
817
+ { aliasEmails: ['test-email-2@example.com'], icon: null, id: 'test-view-id-2', name: 'test-view-name-2' },
818
+ ],
763
819
  });
764
820
  });
765
821
  it('does nothing if user not found', async () => {
@@ -773,27 +829,39 @@ describe('mutators', () => {
773
829
  it('updates view name', async () => {
774
830
  tx.run = mock(() => Promise.resolve({
775
831
  id: 'test-user-id-1',
776
- views: [{ aliasEmails: ['test-email-1@example.com'], id: 'test-view-id-1', name: 'test-view-name-1' }],
832
+ views: [
833
+ { aliasEmails: ['test-email-1@example.com'], icon: null, id: 'test-view-id-1', name: 'test-view-name-1' },
834
+ ],
777
835
  }));
778
836
  const args = {
779
837
  id: 'test-user-id-1',
780
- view: { aliasEmails: ['test-email-1@example.com'], id: 'test-view-id-1', name: 'test-updated-name' },
838
+ view: {
839
+ aliasEmails: ['test-email-1@example.com'],
840
+ icon: null,
841
+ id: 'test-view-id-1',
842
+ name: 'test-updated-name',
843
+ },
781
844
  };
782
845
  await mutators.user.updateView.fn({ args, ctx, tx: tx });
783
846
  expect(tx.mutate.user.update).toHaveBeenCalledWith({
784
847
  id: 'test-user-id-1',
785
- views: [{ aliasEmails: ['test-email-1@example.com'], id: 'test-view-id-1', name: 'test-updated-name' }],
848
+ views: [
849
+ { aliasEmails: ['test-email-1@example.com'], icon: null, id: 'test-view-id-1', name: 'test-updated-name' },
850
+ ],
786
851
  });
787
852
  });
788
853
  it('updates view aliasEmails', async () => {
789
854
  tx.run = mock(() => Promise.resolve({
790
855
  id: 'test-user-id-1',
791
- views: [{ aliasEmails: ['test-email-1@example.com'], id: 'test-view-id-1', name: 'test-view-name-1' }],
856
+ views: [
857
+ { aliasEmails: ['test-email-1@example.com'], icon: null, id: 'test-view-id-1', name: 'test-view-name-1' },
858
+ ],
792
859
  }));
793
860
  const args = {
794
861
  id: 'test-user-id-1',
795
862
  view: {
796
863
  aliasEmails: ['test-email-1@example.com', 'test-email-2@example.com'],
864
+ icon: null,
797
865
  id: 'test-view-id-1',
798
866
  name: 'test-view-name-1',
799
867
  },
@@ -804,6 +872,7 @@ describe('mutators', () => {
804
872
  views: [
805
873
  {
806
874
  aliasEmails: ['test-email-1@example.com', 'test-email-2@example.com'],
875
+ icon: null,
807
876
  id: 'test-view-id-1',
808
877
  name: 'test-view-name-1',
809
878
  },
@@ -813,12 +882,15 @@ describe('mutators', () => {
813
882
  it('deduplicates aliasEmails on update', async () => {
814
883
  tx.run = mock(() => Promise.resolve({
815
884
  id: 'test-user-id-1',
816
- views: [{ aliasEmails: ['test-email-1@example.com'], id: 'test-view-id-1', name: 'test-view-name-1' }],
885
+ views: [
886
+ { aliasEmails: ['test-email-1@example.com'], icon: null, id: 'test-view-id-1', name: 'test-view-name-1' },
887
+ ],
817
888
  }));
818
889
  const args = {
819
890
  id: 'test-user-id-1',
820
891
  view: {
821
892
  aliasEmails: ['test-email-1@example.com', 'test-email-2@example.com', 'test-email-1@example.com'],
893
+ icon: null,
822
894
  id: 'test-view-id-1',
823
895
  name: 'test-view-name-1',
824
896
  },
@@ -829,6 +901,36 @@ describe('mutators', () => {
829
901
  views: [
830
902
  {
831
903
  aliasEmails: ['test-email-1@example.com', 'test-email-2@example.com'],
904
+ icon: null,
905
+ id: 'test-view-id-1',
906
+ name: 'test-view-name-1',
907
+ },
908
+ ],
909
+ });
910
+ });
911
+ it('updates view icon', async () => {
912
+ tx.run = mock(() => Promise.resolve({
913
+ id: 'test-user-id-1',
914
+ views: [
915
+ { aliasEmails: ['test-email-1@example.com'], icon: null, id: 'test-view-id-1', name: 'test-view-name-1' },
916
+ ],
917
+ }));
918
+ const args = {
919
+ id: 'test-user-id-1',
920
+ view: {
921
+ aliasEmails: ['test-email-1@example.com'],
922
+ icon: CustomViewIcon.HEART,
923
+ id: 'test-view-id-1',
924
+ name: 'test-view-name-1',
925
+ },
926
+ };
927
+ await mutators.user.updateView.fn({ args, ctx, tx: tx });
928
+ expect(tx.mutate.user.update).toHaveBeenCalledWith({
929
+ id: 'test-user-id-1',
930
+ views: [
931
+ {
932
+ aliasEmails: ['test-email-1@example.com'],
933
+ icon: CustomViewIcon.HEART,
832
934
  id: 'test-view-id-1',
833
935
  name: 'test-view-name-1',
834
936
  },
@@ -838,23 +940,37 @@ describe('mutators', () => {
838
940
  it('updates both name and aliasEmails', async () => {
839
941
  tx.run = mock(() => Promise.resolve({
840
942
  id: 'test-user-id-1',
841
- views: [{ aliasEmails: ['test-email-1@example.com'], id: 'test-view-id-1', name: 'test-view-name-1' }],
943
+ views: [
944
+ { aliasEmails: ['test-email-1@example.com'], icon: null, id: 'test-view-id-1', name: 'test-view-name-1' },
945
+ ],
842
946
  }));
843
947
  const args = {
844
948
  id: 'test-user-id-1',
845
- view: { aliasEmails: ['test-email-1@example.com'], id: 'test-view-id-1', name: 'test-updated-name' },
949
+ view: {
950
+ aliasEmails: ['test-email-1@example.com'],
951
+ icon: null,
952
+ id: 'test-view-id-1',
953
+ name: 'test-updated-name',
954
+ },
846
955
  };
847
956
  await mutators.user.updateView.fn({ args, ctx, tx: tx });
848
957
  expect(tx.mutate.user.update).toHaveBeenCalledWith({
849
958
  id: 'test-user-id-1',
850
- views: [{ aliasEmails: ['test-email-1@example.com'], id: 'test-view-id-1', name: 'test-updated-name' }],
959
+ views: [
960
+ { aliasEmails: ['test-email-1@example.com'], icon: null, id: 'test-view-id-1', name: 'test-updated-name' },
961
+ ],
851
962
  });
852
963
  });
853
964
  it('does nothing if user not found', async () => {
854
965
  tx.run = mock(() => Promise.resolve(null));
855
966
  const args = {
856
967
  id: 'test-user-id-1',
857
- view: { aliasEmails: ['test-email-1@example.com'], id: 'test-view-id-1', name: 'test-updated-name' },
968
+ view: {
969
+ aliasEmails: ['test-email-1@example.com'],
970
+ icon: null,
971
+ id: 'test-view-id-1',
972
+ name: 'test-updated-name',
973
+ },
858
974
  };
859
975
  await mutators.user.updateView.fn({ args, ctx, tx: tx });
860
976
  expect(tx.mutate.user.update).not.toHaveBeenCalled();
@@ -862,12 +978,15 @@ describe('mutators', () => {
862
978
  it('does nothing if view does not exist', async () => {
863
979
  tx.run = mock(() => Promise.resolve({
864
980
  id: 'test-user-id-1',
865
- views: [{ aliasEmails: ['test-email-1@example.com'], id: 'test-view-id-1', name: 'test-view-name-1' }],
981
+ views: [
982
+ { aliasEmails: ['test-email-1@example.com'], icon: null, id: 'test-view-id-1', name: 'test-view-name-1' },
983
+ ],
866
984
  }));
867
985
  const args = {
868
986
  id: 'test-user-id-1',
869
987
  view: {
870
988
  aliasEmails: ['test-email-1@example.com'],
989
+ icon: null,
871
990
  id: 'test-view-id-nonexistent',
872
991
  name: 'test-updated-name',
873
992
  },
@@ -879,27 +998,73 @@ describe('mutators', () => {
879
998
  tx.run = mock(() => Promise.resolve({
880
999
  id: 'test-user-id-1',
881
1000
  views: [
882
- { aliasEmails: ['test-email-1@example.com'], id: 'test-view-id-1', name: 'test-view-name-1' },
883
- { aliasEmails: ['test-email-2@example.com'], id: 'test-view-id-2', name: 'test-view-name-2' },
1001
+ { aliasEmails: ['test-email-1@example.com'], icon: null, id: 'test-view-id-1', name: 'test-view-name-1' },
1002
+ { aliasEmails: ['test-email-2@example.com'], icon: null, id: 'test-view-id-2', name: 'test-view-name-2' },
884
1003
  ],
885
1004
  }));
886
1005
  const args = {
887
1006
  id: 'test-user-id-1',
888
- view: { aliasEmails: ['test-email-1@example.com'], id: 'test-view-id-1', name: 'test-view-updated-name' },
1007
+ view: {
1008
+ aliasEmails: ['test-email-1@example.com'],
1009
+ icon: null,
1010
+ id: 'test-view-id-1',
1011
+ name: 'test-view-updated-name',
1012
+ },
889
1013
  };
890
1014
  await mutators.user.updateView.fn({ args, ctx, tx: tx });
891
1015
  expect(tx.mutate.user.update).toHaveBeenCalledWith({
892
1016
  id: 'test-user-id-1',
893
1017
  views: [
894
- { aliasEmails: ['test-email-1@example.com'], id: 'test-view-id-1', name: 'test-view-updated-name' },
895
- { aliasEmails: ['test-email-2@example.com'], id: 'test-view-id-2', name: 'test-view-name-2' },
1018
+ {
1019
+ aliasEmails: ['test-email-1@example.com'],
1020
+ icon: null,
1021
+ id: 'test-view-id-1',
1022
+ name: 'test-view-updated-name',
1023
+ },
1024
+ { aliasEmails: ['test-email-2@example.com'], icon: null, id: 'test-view-id-2', name: 'test-view-name-2' },
896
1025
  ],
897
1026
  });
898
1027
  });
899
1028
  it('schema rejects empty aliasEmails array', () => {
900
1029
  const args = {
901
1030
  id: 'test-user-id-1',
902
- view: { aliasEmails: [], id: 'test-view-id-1', name: 'test-view-name-1' },
1031
+ view: { aliasEmails: [], icon: null, id: 'test-view-id-1', name: 'test-view-name-1' },
1032
+ };
1033
+ const result = v.safeParse(mutatorSchemas.user.updateView, args);
1034
+ expect(result.success).toBe(false);
1035
+ });
1036
+ for (const icon of USER_SETTINGS_CUSTOM_VIEW_ICONS) {
1037
+ it(`schema accepts valid icon value: ${icon}`, () => {
1038
+ const args = {
1039
+ id: 'test-user-id-1',
1040
+ view: { aliasEmails: ['test-email-1@example.com'], icon, id: 'test-view-id-1', name: 'test-view-name-1' },
1041
+ };
1042
+ const result = v.safeParse(mutatorSchemas.user.updateView, args);
1043
+ expect(result.success).toBe(true);
1044
+ });
1045
+ }
1046
+ it('schema accepts null icon value', () => {
1047
+ const args = {
1048
+ id: 'test-user-id-1',
1049
+ view: {
1050
+ aliasEmails: ['test-email-1@example.com'],
1051
+ icon: null,
1052
+ id: 'test-view-id-1',
1053
+ name: 'test-view-name-1',
1054
+ },
1055
+ };
1056
+ const result = v.safeParse(mutatorSchemas.user.updateView, args);
1057
+ expect(result.success).toBe(true);
1058
+ });
1059
+ it('schema rejects invalid icon value', () => {
1060
+ const args = {
1061
+ id: 'test-user-id-1',
1062
+ view: {
1063
+ aliasEmails: ['test-email-1@example.com'],
1064
+ icon: 'INVALID_ICON',
1065
+ id: 'test-view-id-1',
1066
+ name: 'test-view-name-1',
1067
+ },
903
1068
  };
904
1069
  const result = v.safeParse(mutatorSchemas.user.updateView, args);
905
1070
  expect(result.success).toBe(false);
@@ -271,6 +271,7 @@ export declare const queries: import("@rocicorp/zero").QueryRegistry<{
271
271
  id: string;
272
272
  name: string;
273
273
  aliasEmails: string[];
274
+ icon: import("../types").CustomViewIcon | null;
274
275
  }[];
275
276
  } & {
276
277
  readonly accounts: readonly ({
@@ -357,6 +358,7 @@ export declare const queries: import("@rocicorp/zero").QueryRegistry<{
357
358
  id: string;
358
359
  name: string;
359
360
  aliasEmails: string[];
361
+ icon: import("../types").CustomViewIcon | null;
360
362
  }[];
361
363
  };
362
364
  };
@@ -1 +1 @@
1
- {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../src/zero/queries.ts"],"names":[],"mappings":"AAOA,KAAK,OAAO,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAA;AAQjC,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoOlB,CAAA"}
1
+ {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../src/zero/queries.ts"],"names":[],"mappings":"AAOA,KAAK,OAAO,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAA;AAQjC,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoOlB,CAAA"}
@@ -1,3 +1,4 @@
1
+ import type { CustomViewIcon } from '../types';
1
2
  export declare const schema: {
2
3
  tables: {
3
4
  readonly user: {
@@ -38,6 +39,7 @@ export declare const schema: {
38
39
  id: string;
39
40
  name: string;
40
41
  aliasEmails: string[];
42
+ icon: CustomViewIcon | null;
41
43
  }[];
42
44
  };
43
45
  };
@@ -1775,6 +1777,7 @@ export declare const tables: {
1775
1777
  id: string;
1776
1778
  name: string;
1777
1779
  aliasEmails: string[];
1780
+ icon: CustomViewIcon | null;
1778
1781
  }[];
1779
1782
  };
1780
1783
  };
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/zero/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/zero/schema.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@marcoappio/marco-config",
3
- "version": "2.0.531",
3
+ "version": "2.0.532",
4
4
  "author": "team@marcoapp.io",
5
5
  "main": "dist/index.js",
6
6
  "repository": "git@github.com:marcoappio/marco-config.git",