@yangsaiyam/helper 1.12.7 → 1.14.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/dist/index.cjs CHANGED
@@ -664,6 +664,7 @@ var Website;
664
664
  (function(Website3) {
665
665
  Website3[Website3["KORRE"] = 1] = "KORRE";
666
666
  Website3[Website3["KORRE_LABS"] = 2] = "KORRE_LABS";
667
+ Website3[Website3["MCOM_MEDIA"] = 3] = "MCOM_MEDIA";
667
668
  })(Website || (Website = {}));
668
669
  var WEBSITES = {
669
670
  [Website.KORRE]: {
@@ -675,6 +676,11 @@ var WEBSITES = {
675
676
  id: Website.KORRE_LABS,
676
677
  name: "Korre Labs",
677
678
  url: "https://public.korre.site/images/korre-labs.png"
679
+ },
680
+ [Website.MCOM_MEDIA]: {
681
+ id: Website.MCOM_MEDIA,
682
+ name: "MCOM Media",
683
+ url: "https://public.korre.site/images/mcom-media.png"
678
684
  }
679
685
  };
680
686
 
@@ -692,6 +698,7 @@ var URL_PREFIXES = {
692
698
  var Website2 = /* @__PURE__ */ ((Website3) => {
693
699
  Website3[Website3["KORRE"] = 1] = "KORRE";
694
700
  Website3[Website3["KORRE_LABS"] = 2] = "KORRE_LABS";
701
+ Website3[Website3["MCOM_MEDIA"] = 3] = "MCOM_MEDIA";
695
702
  return Website3;
696
703
  })(Website2 || {});
697
704
  var WEBSITES2 = {
@@ -704,6 +711,11 @@ var WEBSITES2 = {
704
711
  id: 2 /* KORRE_LABS */,
705
712
  name: "Korre Labs",
706
713
  url: "https://public.korre.site/images/korre-labs.png"
714
+ },
715
+ [3 /* MCOM_MEDIA */]: {
716
+ id: 3 /* MCOM_MEDIA */,
717
+ name: "MCOM Media",
718
+ url: "https://public.korre.site/images/mcom-media.png"
707
719
  }
708
720
  };
709
721
 
package/dist/index.d.cts CHANGED
@@ -164,6 +164,35 @@ declare const CONTACT_FORM_ENQUIRY_TYPE: readonly [{
164
164
  readonly value: "MCN Business";
165
165
  readonly i18nKey: "contactForm.enquiryType.3";
166
166
  }];
167
+ /** Korre Evolution (site 1): every field maps to a standard column. */
168
+ type KorreContactFormData = Record<string, never>;
169
+ /** Korre Labs (site 2): no contact form yet. */
170
+ type KorreLabsContactFormData = Record<string, never>;
171
+ /**
172
+ * MCOM Media (site 3): agency-intake extras beyond the standard columns.
173
+ * `service` is provisional — it may move to `enquiry_type` once the site-3
174
+ * enquiry-type mapping is defined.
175
+ */
176
+ interface McomMediaContactFormData {
177
+ company_name?: string;
178
+ job_title?: string;
179
+ phone?: string;
180
+ website?: string;
181
+ country?: string;
182
+ budget?: string;
183
+ service?: string;
184
+ timeline?: string;
185
+ }
186
+ /**
187
+ * `contact_form.form_data` shape keyed by `site_id`.
188
+ * 1 = KORRE, 2 = KORRE_LABS, 3 = MCOM_MEDIA (see the `Website` enum).
189
+ */
190
+ interface ContactFormDataBySite {
191
+ 1: KorreContactFormData;
192
+ 2: KorreLabsContactFormData;
193
+ 3: McomMediaContactFormData;
194
+ }
195
+ type ContactFormData = ContactFormDataBySite[keyof ContactFormDataBySite];
167
196
 
168
197
  declare const FILE_STATUS: readonly [{
169
198
  readonly key: 1;
@@ -451,7 +480,8 @@ declare const URL_PREFIXES: {
451
480
 
452
481
  declare enum Website {
453
482
  KORRE = 1,
454
- KORRE_LABS = 2
483
+ KORRE_LABS = 2,
484
+ MCOM_MEDIA = 3
455
485
  }
456
486
  declare const WEBSITES: {
457
487
  1: {
@@ -464,6 +494,11 @@ declare const WEBSITES: {
464
494
  name: string;
465
495
  url: string;
466
496
  };
497
+ 3: {
498
+ id: Website;
499
+ name: string;
500
+ url: string;
501
+ };
467
502
  };
468
503
 
469
504
  declare const COUNTRY_CODE: readonly [{
@@ -674,4 +709,4 @@ declare const EMAIL_HISTORY_STATUS: readonly [{
674
709
  readonly i18nKey: "emailHistory.status.4";
675
710
  }];
676
711
 
677
- export { ASSESSMENT_QUESTION_TYPE, CAREER_CATEGORY, CAREER_JOB_TYPE, CAREER_LOCATION, CAREER_MODE, CONTACT_FORM_ENQUIRY_TYPE, COUNTRY_CODE, type CanonicalRole, type CanonicalTimezone, EMAIL_HISTORY_STATUS, EMAIL_TEMPLATE_ROLES, FILE_ORIGIN, FILE_STATUS, JOB_APPLICATION_STATUS, LOCALE, MALAYSIA_STATE, type MappingOption, ORIGIN, PERMISSION_I18N_KEY, Permission, QuestionType, ROLE, ROLE_MAP, ROLE_PERMISSIONS, ROUTE, ROUTES, type RoleInput, type RoleValue, type RouteKey, type RouteMapping, STATES, TIMEZONE, TIMEZONE_CURRENT_UTC_OFFSET, TIMEZONE_TO_UTC, type TimezoneInput, URL_PREFIXES, WEBSITES, Website, buildLocalizedRoute, buildRoutePathName, convertTimestampToTimezone, getI18nKeyByKey, getLabelByKey, getOptionByKey, hasPermission, normalizeRole, normalizeTimezone, permissionLabelKey, roleLabelKey, roleToId, routeLabelKey, routePathKey, timezoneLabelKey, timezoneToUtc, toRecord };
712
+ export { ASSESSMENT_QUESTION_TYPE, CAREER_CATEGORY, CAREER_JOB_TYPE, CAREER_LOCATION, CAREER_MODE, CONTACT_FORM_ENQUIRY_TYPE, COUNTRY_CODE, type CanonicalRole, type CanonicalTimezone, type ContactFormData, type ContactFormDataBySite, EMAIL_HISTORY_STATUS, EMAIL_TEMPLATE_ROLES, FILE_ORIGIN, FILE_STATUS, JOB_APPLICATION_STATUS, type KorreContactFormData, type KorreLabsContactFormData, LOCALE, MALAYSIA_STATE, type MappingOption, type McomMediaContactFormData, ORIGIN, PERMISSION_I18N_KEY, Permission, QuestionType, ROLE, ROLE_MAP, ROLE_PERMISSIONS, ROUTE, ROUTES, type RoleInput, type RoleValue, type RouteKey, type RouteMapping, STATES, TIMEZONE, TIMEZONE_CURRENT_UTC_OFFSET, TIMEZONE_TO_UTC, type TimezoneInput, URL_PREFIXES, WEBSITES, Website, buildLocalizedRoute, buildRoutePathName, convertTimestampToTimezone, getI18nKeyByKey, getLabelByKey, getOptionByKey, hasPermission, normalizeRole, normalizeTimezone, permissionLabelKey, roleLabelKey, roleToId, routeLabelKey, routePathKey, timezoneLabelKey, timezoneToUtc, toRecord };
package/dist/index.d.ts CHANGED
@@ -164,6 +164,35 @@ declare const CONTACT_FORM_ENQUIRY_TYPE: readonly [{
164
164
  readonly value: "MCN Business";
165
165
  readonly i18nKey: "contactForm.enquiryType.3";
166
166
  }];
167
+ /** Korre Evolution (site 1): every field maps to a standard column. */
168
+ type KorreContactFormData = Record<string, never>;
169
+ /** Korre Labs (site 2): no contact form yet. */
170
+ type KorreLabsContactFormData = Record<string, never>;
171
+ /**
172
+ * MCOM Media (site 3): agency-intake extras beyond the standard columns.
173
+ * `service` is provisional — it may move to `enquiry_type` once the site-3
174
+ * enquiry-type mapping is defined.
175
+ */
176
+ interface McomMediaContactFormData {
177
+ company_name?: string;
178
+ job_title?: string;
179
+ phone?: string;
180
+ website?: string;
181
+ country?: string;
182
+ budget?: string;
183
+ service?: string;
184
+ timeline?: string;
185
+ }
186
+ /**
187
+ * `contact_form.form_data` shape keyed by `site_id`.
188
+ * 1 = KORRE, 2 = KORRE_LABS, 3 = MCOM_MEDIA (see the `Website` enum).
189
+ */
190
+ interface ContactFormDataBySite {
191
+ 1: KorreContactFormData;
192
+ 2: KorreLabsContactFormData;
193
+ 3: McomMediaContactFormData;
194
+ }
195
+ type ContactFormData = ContactFormDataBySite[keyof ContactFormDataBySite];
167
196
 
168
197
  declare const FILE_STATUS: readonly [{
169
198
  readonly key: 1;
@@ -451,7 +480,8 @@ declare const URL_PREFIXES: {
451
480
 
452
481
  declare enum Website {
453
482
  KORRE = 1,
454
- KORRE_LABS = 2
483
+ KORRE_LABS = 2,
484
+ MCOM_MEDIA = 3
455
485
  }
456
486
  declare const WEBSITES: {
457
487
  1: {
@@ -464,6 +494,11 @@ declare const WEBSITES: {
464
494
  name: string;
465
495
  url: string;
466
496
  };
497
+ 3: {
498
+ id: Website;
499
+ name: string;
500
+ url: string;
501
+ };
467
502
  };
468
503
 
469
504
  declare const COUNTRY_CODE: readonly [{
@@ -674,4 +709,4 @@ declare const EMAIL_HISTORY_STATUS: readonly [{
674
709
  readonly i18nKey: "emailHistory.status.4";
675
710
  }];
676
711
 
677
- export { ASSESSMENT_QUESTION_TYPE, CAREER_CATEGORY, CAREER_JOB_TYPE, CAREER_LOCATION, CAREER_MODE, CONTACT_FORM_ENQUIRY_TYPE, COUNTRY_CODE, type CanonicalRole, type CanonicalTimezone, EMAIL_HISTORY_STATUS, EMAIL_TEMPLATE_ROLES, FILE_ORIGIN, FILE_STATUS, JOB_APPLICATION_STATUS, LOCALE, MALAYSIA_STATE, type MappingOption, ORIGIN, PERMISSION_I18N_KEY, Permission, QuestionType, ROLE, ROLE_MAP, ROLE_PERMISSIONS, ROUTE, ROUTES, type RoleInput, type RoleValue, type RouteKey, type RouteMapping, STATES, TIMEZONE, TIMEZONE_CURRENT_UTC_OFFSET, TIMEZONE_TO_UTC, type TimezoneInput, URL_PREFIXES, WEBSITES, Website, buildLocalizedRoute, buildRoutePathName, convertTimestampToTimezone, getI18nKeyByKey, getLabelByKey, getOptionByKey, hasPermission, normalizeRole, normalizeTimezone, permissionLabelKey, roleLabelKey, roleToId, routeLabelKey, routePathKey, timezoneLabelKey, timezoneToUtc, toRecord };
712
+ export { ASSESSMENT_QUESTION_TYPE, CAREER_CATEGORY, CAREER_JOB_TYPE, CAREER_LOCATION, CAREER_MODE, CONTACT_FORM_ENQUIRY_TYPE, COUNTRY_CODE, type CanonicalRole, type CanonicalTimezone, type ContactFormData, type ContactFormDataBySite, EMAIL_HISTORY_STATUS, EMAIL_TEMPLATE_ROLES, FILE_ORIGIN, FILE_STATUS, JOB_APPLICATION_STATUS, type KorreContactFormData, type KorreLabsContactFormData, LOCALE, MALAYSIA_STATE, type MappingOption, type McomMediaContactFormData, ORIGIN, PERMISSION_I18N_KEY, Permission, QuestionType, ROLE, ROLE_MAP, ROLE_PERMISSIONS, ROUTE, ROUTES, type RoleInput, type RoleValue, type RouteKey, type RouteMapping, STATES, TIMEZONE, TIMEZONE_CURRENT_UTC_OFFSET, TIMEZONE_TO_UTC, type TimezoneInput, URL_PREFIXES, WEBSITES, Website, buildLocalizedRoute, buildRoutePathName, convertTimestampToTimezone, getI18nKeyByKey, getLabelByKey, getOptionByKey, hasPermission, normalizeRole, normalizeTimezone, permissionLabelKey, roleLabelKey, roleToId, routeLabelKey, routePathKey, timezoneLabelKey, timezoneToUtc, toRecord };
package/dist/index.js CHANGED
@@ -582,6 +582,7 @@ var Website;
582
582
  (function(Website3) {
583
583
  Website3[Website3["KORRE"] = 1] = "KORRE";
584
584
  Website3[Website3["KORRE_LABS"] = 2] = "KORRE_LABS";
585
+ Website3[Website3["MCOM_MEDIA"] = 3] = "MCOM_MEDIA";
585
586
  })(Website || (Website = {}));
586
587
  var WEBSITES = {
587
588
  [Website.KORRE]: {
@@ -593,6 +594,11 @@ var WEBSITES = {
593
594
  id: Website.KORRE_LABS,
594
595
  name: "Korre Labs",
595
596
  url: "https://public.korre.site/images/korre-labs.png"
597
+ },
598
+ [Website.MCOM_MEDIA]: {
599
+ id: Website.MCOM_MEDIA,
600
+ name: "MCOM Media",
601
+ url: "https://public.korre.site/images/mcom-media.png"
596
602
  }
597
603
  };
598
604
 
@@ -610,6 +616,7 @@ var URL_PREFIXES = {
610
616
  var Website2 = /* @__PURE__ */ ((Website3) => {
611
617
  Website3[Website3["KORRE"] = 1] = "KORRE";
612
618
  Website3[Website3["KORRE_LABS"] = 2] = "KORRE_LABS";
619
+ Website3[Website3["MCOM_MEDIA"] = 3] = "MCOM_MEDIA";
613
620
  return Website3;
614
621
  })(Website2 || {});
615
622
  var WEBSITES2 = {
@@ -622,6 +629,11 @@ var WEBSITES2 = {
622
629
  id: 2 /* KORRE_LABS */,
623
630
  name: "Korre Labs",
624
631
  url: "https://public.korre.site/images/korre-labs.png"
632
+ },
633
+ [3 /* MCOM_MEDIA */]: {
634
+ id: 3 /* MCOM_MEDIA */,
635
+ name: "MCOM Media",
636
+ url: "https://public.korre.site/images/mcom-media.png"
625
637
  }
626
638
  };
627
639
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yangsaiyam/helper",
3
- "version": "1.12.7",
3
+ "version": "1.14.0",
4
4
  "type": "module",
5
5
  "main": "./dist/index.cjs",
6
6
  "module": "./dist/index.js",
@@ -11,3 +11,32 @@ export declare const CONTACT_FORM_ENQUIRY_TYPE: readonly [{
11
11
  readonly value: "MCN Business";
12
12
  readonly i18nKey: "contactForm.enquiryType.3";
13
13
  }];
14
+ /** Korre Evolution (site 1): every field maps to a standard column. */
15
+ export type KorreContactFormData = Record<string, never>;
16
+ /** Korre Labs (site 2): no contact form yet. */
17
+ export type KorreLabsContactFormData = Record<string, never>;
18
+ /**
19
+ * MCOM Media (site 3): agency-intake extras beyond the standard columns.
20
+ * `service` is provisional — it may move to `enquiry_type` once the site-3
21
+ * enquiry-type mapping is defined.
22
+ */
23
+ export interface McomMediaContactFormData {
24
+ company_name?: string;
25
+ job_title?: string;
26
+ phone?: string;
27
+ website?: string;
28
+ country?: string;
29
+ budget?: string;
30
+ service?: string;
31
+ timeline?: string;
32
+ }
33
+ /**
34
+ * `contact_form.form_data` shape keyed by `site_id`.
35
+ * 1 = KORRE, 2 = KORRE_LABS, 3 = MCOM_MEDIA (see the `Website` enum).
36
+ */
37
+ export interface ContactFormDataBySite {
38
+ 1: KorreContactFormData;
39
+ 2: KorreLabsContactFormData;
40
+ 3: McomMediaContactFormData;
41
+ }
42
+ export type ContactFormData = ContactFormDataBySite[keyof ContactFormDataBySite];
@@ -13,3 +13,46 @@ export const CONTACT_FORM_ENQUIRY_TYPE = [
13
13
  },
14
14
  { key: 3, value: "MCN Business", i18nKey: "contactForm.enquiryType.3" },
15
15
  ] as const satisfies readonly MappingOption[];
16
+
17
+ /**
18
+ * Per-site shape of `contact_form.form_data` (jsonb).
19
+ *
20
+ * The standard columns — sender_name, email, enquiry_type, message — live on
21
+ * the row itself. Only the site-specific extra fields are stored in form_data.
22
+ * Keys are snake_case to match the `contact_form` columns.
23
+ */
24
+
25
+ /** Korre Evolution (site 1): every field maps to a standard column. */
26
+ export type KorreContactFormData = Record<string, never>;
27
+
28
+ /** Korre Labs (site 2): no contact form yet. */
29
+ export type KorreLabsContactFormData = Record<string, never>;
30
+
31
+ /**
32
+ * MCOM Media (site 3): agency-intake extras beyond the standard columns.
33
+ * `service` is provisional — it may move to `enquiry_type` once the site-3
34
+ * enquiry-type mapping is defined.
35
+ */
36
+ export interface McomMediaContactFormData {
37
+ company_name?: string;
38
+ job_title?: string;
39
+ phone?: string;
40
+ website?: string;
41
+ country?: string;
42
+ budget?: string;
43
+ service?: string;
44
+ timeline?: string;
45
+ }
46
+
47
+ /**
48
+ * `contact_form.form_data` shape keyed by `site_id`.
49
+ * 1 = KORRE, 2 = KORRE_LABS, 3 = MCOM_MEDIA (see the `Website` enum).
50
+ */
51
+ export interface ContactFormDataBySite {
52
+ 1: KorreContactFormData;
53
+ 2: KorreLabsContactFormData;
54
+ 3: McomMediaContactFormData;
55
+ }
56
+
57
+ export type ContactFormData =
58
+ ContactFormDataBySite[keyof ContactFormDataBySite];
@@ -0,0 +1,21 @@
1
+ export declare const EMAIL_HISTORY_STATUS: readonly [{
2
+ readonly key: 0;
3
+ readonly value: "Scheduled";
4
+ readonly i18nKey: "emailHistory.status.0";
5
+ }, {
6
+ readonly key: 1;
7
+ readonly value: "Delivering";
8
+ readonly i18nKey: "emailHistory.status.1";
9
+ }, {
10
+ readonly key: 2;
11
+ readonly value: "Delivered";
12
+ readonly i18nKey: "emailHistory.status.2";
13
+ }, {
14
+ readonly key: 3;
15
+ readonly value: "Failed";
16
+ readonly i18nKey: "emailHistory.status.3";
17
+ }, {
18
+ readonly key: 4;
19
+ readonly value: "Canceled";
20
+ readonly i18nKey: "emailHistory.status.4";
21
+ }];
@@ -0,0 +1,7 @@
1
+ export const EMAIL_HISTORY_STATUS = [
2
+ { key: 0, value: "Scheduled", i18nKey: "emailHistory.status.0" },
3
+ { key: 1, value: "Delivering", i18nKey: "emailHistory.status.1" },
4
+ { key: 2, value: "Delivered", i18nKey: "emailHistory.status.2" },
5
+ { key: 3, value: "Failed", i18nKey: "emailHistory.status.3" },
6
+ { key: 4, value: "Canceled", i18nKey: "emailHistory.status.4" },
7
+ ];
@@ -1,6 +1,7 @@
1
1
  export declare enum Website {
2
2
  KORRE = 1,
3
- KORRE_LABS = 2
3
+ KORRE_LABS = 2,
4
+ MCOM_MEDIA = 3
4
5
  }
5
6
  export declare const WEBSITES: {
6
7
  1: {
@@ -13,4 +14,9 @@ export declare const WEBSITES: {
13
14
  name: string;
14
15
  url: string;
15
16
  };
17
+ 3: {
18
+ id: Website;
19
+ name: string;
20
+ url: string;
21
+ };
16
22
  };
@@ -2,6 +2,7 @@ export var Website;
2
2
  (function (Website) {
3
3
  Website[Website["KORRE"] = 1] = "KORRE";
4
4
  Website[Website["KORRE_LABS"] = 2] = "KORRE_LABS";
5
+ Website[Website["MCOM_MEDIA"] = 3] = "MCOM_MEDIA";
5
6
  })(Website || (Website = {}));
6
7
  export const WEBSITES = {
7
8
  [Website.KORRE]: {
@@ -14,4 +15,9 @@ export const WEBSITES = {
14
15
  name: "Korre Labs",
15
16
  url: "https://public.korre.site/images/korre-labs.png",
16
17
  },
18
+ [Website.MCOM_MEDIA]: {
19
+ id: Website.MCOM_MEDIA,
20
+ name: "MCOM Media",
21
+ url: "https://public.korre.site/images/mcom-media.png",
22
+ },
17
23
  };
@@ -1,6 +1,7 @@
1
1
  export enum Website {
2
2
  KORRE = 1,
3
3
  KORRE_LABS = 2,
4
+ MCOM_MEDIA = 3
4
5
  }
5
6
 
6
7
  export const WEBSITES = {
@@ -14,4 +15,9 @@ export const WEBSITES = {
14
15
  name: "Korre Labs",
15
16
  url: "https://public.korre.site/images/korre-labs.png",
16
17
  },
18
+ [Website.MCOM_MEDIA]: {
19
+ id: Website.MCOM_MEDIA,
20
+ name: "MCOM Media",
21
+ url: "https://public.korre.site/images/mcom-media.png",
22
+ },
17
23
  };