@thejob/schema 1.0.95 → 1.0.97

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,19 @@
1
+ import { InferType } from "../yup-extended";
2
+ import { GroupMembershipStatus } from "./group.schema";
3
+ export declare const GroupMembershipSchema: import("yup").ObjectSchema<{
4
+ id: string;
5
+ groupId: string;
6
+ userId: string;
7
+ status: NonNullable<GroupMembershipStatus | undefined>;
8
+ createdAt: number | undefined;
9
+ updatedAt: number | undefined;
10
+ }, import("yup").AnyObject, {
11
+ id: undefined;
12
+ groupId: undefined;
13
+ userId: undefined;
14
+ status: undefined;
15
+ createdAt: undefined;
16
+ updatedAt: undefined;
17
+ }, "">;
18
+ export type TGroupMembershipSchema = InferType<typeof GroupMembershipSchema>;
19
+ //# sourceMappingURL=group-membership.schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"group-membership.schema.d.ts","sourceRoot":"","sources":["../../../src/group/group-membership.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAiC,MAAM,iBAAiB,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;MAUhC,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,SAAS,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GroupMembershipSchema = void 0;
4
+ const yup_extended_1 = require("../yup-extended");
5
+ const group_schema_1 = require("./group.schema");
6
+ exports.GroupMembershipSchema = (0, yup_extended_1.object)({
7
+ id: (0, yup_extended_1.string)().objectId().required().label("ID"),
8
+ groupId: (0, yup_extended_1.string)().required().label("Group ID"),
9
+ userId: (0, yup_extended_1.string)().required().label("User ID"),
10
+ status: (0, yup_extended_1.mixed)()
11
+ .oneOf(Object.values(group_schema_1.GroupMembershipStatus))
12
+ .required()
13
+ .label("Status"),
14
+ createdAt: (0, yup_extended_1.number)().optional().label("Created At"),
15
+ updatedAt: (0, yup_extended_1.number)().optional().label("Updated At"),
16
+ });
@@ -1,4 +1,13 @@
1
1
  import { InferType } from "../yup-extended";
2
+ export declare enum GroupVisibility {
3
+ Public = "public",
4
+ Private = "private"
5
+ }
6
+ export declare enum GroupMembershipStatus {
7
+ Pending = "pending",
8
+ Approved = "approved",
9
+ Rejected = "rejected"
10
+ }
2
11
  export declare const GroupTranslationSchema: import("yup").ObjectSchema<{
3
12
  language: string;
4
13
  name: string;
@@ -19,55 +28,6 @@ export declare const GroupTranslationSchema: import("yup").ObjectSchema<{
19
28
  };
20
29
  }, "">;
21
30
  export type TGroupTranslationSchema = InferType<typeof GroupTranslationSchema>;
22
- export declare const GroupFormSchema: import("yup").ObjectSchema<{
23
- name: string;
24
- description: string | undefined;
25
- slug: string | undefined;
26
- filterQuery: {
27
- courses?: string | undefined;
28
- jobs?: string | undefined;
29
- discussions?: string | undefined;
30
- };
31
- countries: string[];
32
- logo: string | undefined;
33
- banner: string | undefined;
34
- isFeatured: boolean | undefined;
35
- featuredMarkets: string[];
36
- seo: {
37
- description?: string | undefined;
38
- keywords?: string[] | undefined;
39
- };
40
- translation: {
41
- description?: string | undefined;
42
- slug?: string | undefined;
43
- seo?: {
44
- description?: string | undefined;
45
- keywords?: string[] | undefined;
46
- } | undefined;
47
- language: string;
48
- name: string;
49
- }[] | undefined;
50
- }, import("yup").AnyObject, {
51
- name: undefined;
52
- description: undefined;
53
- slug: undefined;
54
- filterQuery: {
55
- jobs: undefined;
56
- courses: undefined;
57
- discussions: undefined;
58
- };
59
- countries: "";
60
- logo: undefined;
61
- banner: undefined;
62
- isFeatured: undefined;
63
- featuredMarkets: never[];
64
- seo: {
65
- description: undefined;
66
- keywords: "";
67
- };
68
- translation: "";
69
- }, "">;
70
- export type TGroupFormSchema = InferType<typeof GroupFormSchema>;
71
31
  export declare const GroupSchema: import("yup").ObjectSchema<{
72
32
  id: string;
73
33
  shortId: string;
@@ -79,6 +39,9 @@ export declare const GroupSchema: import("yup").ObjectSchema<{
79
39
  isFeatured: boolean | undefined;
80
40
  featuredMarkets: (string | undefined)[];
81
41
  followersCount: number | undefined;
42
+ membersCount: number | undefined;
43
+ visibility: GroupVisibility;
44
+ termsAndConditions: string | undefined;
82
45
  countries: (string | undefined)[] | undefined;
83
46
  filterQuery: {
84
47
  courses?: string | undefined;
@@ -112,6 +75,9 @@ export declare const GroupSchema: import("yup").ObjectSchema<{
112
75
  isFeatured: undefined;
113
76
  featuredMarkets: never[];
114
77
  followersCount: undefined;
78
+ membersCount: undefined;
79
+ visibility: GroupVisibility.Public;
80
+ termsAndConditions: undefined;
115
81
  countries: "";
116
82
  filterQuery: {
117
83
  jobs: undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"group.schema.d.ts","sourceRoot":"","sources":["../../../src/group/group.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,SAAS,EAIV,MAAM,iBAAiB,CAAC;AAIzB,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;MASjC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,SAAS,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAI/E,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA0B1B,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,SAAS,CAAC,OAAO,eAAe,CAAC,CAAC;AAIjE,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAsCA,CAAC;AAEzB,MAAM,MAAM,YAAY,GAAG,SAAS,CAAC,OAAO,WAAW,CAAC,CAAC"}
1
+ {"version":3,"file":"group.schema.d.ts","sourceRoot":"","sources":["../../../src/group/group.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,SAAS,EAKV,MAAM,iBAAiB,CAAC;AAIzB,oBAAY,eAAe;IACzB,MAAM,WAAW;IACjB,OAAO,YAAY;CACpB;AAED,oBAAY,qBAAqB;IAC/B,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,QAAQ,aAAa;CACtB;AAID,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;MASjC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,SAAS,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAI/E,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA4CA,CAAC;AAEzB,MAAM,MAAM,YAAY,GAAG,SAAS,CAAC,OAAO,WAAW,CAAC,CAAC"}
@@ -1,7 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GroupSchema = exports.GroupFormSchema = exports.GroupTranslationSchema = void 0;
3
+ exports.GroupSchema = exports.GroupTranslationSchema = exports.GroupMembershipStatus = exports.GroupVisibility = void 0;
4
4
  const yup_extended_1 = require("../yup-extended");
5
+ // ─── Enums ──────────────────────────────────────────────────────────────────
6
+ var GroupVisibility;
7
+ (function (GroupVisibility) {
8
+ GroupVisibility["Public"] = "public";
9
+ GroupVisibility["Private"] = "private";
10
+ })(GroupVisibility || (exports.GroupVisibility = GroupVisibility = {}));
11
+ var GroupMembershipStatus;
12
+ (function (GroupMembershipStatus) {
13
+ GroupMembershipStatus["Pending"] = "pending";
14
+ GroupMembershipStatus["Approved"] = "approved";
15
+ GroupMembershipStatus["Rejected"] = "rejected";
16
+ })(GroupMembershipStatus || (exports.GroupMembershipStatus = GroupMembershipStatus = {}));
5
17
  // ─── Translation Schema ─────────────────────────────────────────────────────
6
18
  exports.GroupTranslationSchema = (0, yup_extended_1.object)({
7
19
  language: (0, yup_extended_1.string)().required("Language is required"),
@@ -13,34 +25,6 @@ exports.GroupTranslationSchema = (0, yup_extended_1.object)({
13
25
  keywords: (0, yup_extended_1.array)().of((0, yup_extended_1.string)().required()).optional(),
14
26
  }).optional(),
15
27
  });
16
- // ─── Form Schema (admin create / edit) ───────────────────────────────────────
17
- exports.GroupFormSchema = (0, yup_extended_1.object)({
18
- name: (0, yup_extended_1.string)().required("Name is required"),
19
- description: (0, yup_extended_1.string)().optional(),
20
- slug: (0, yup_extended_1.string)().optional(),
21
- filterQuery: (0, yup_extended_1.object)({
22
- jobs: (0, yup_extended_1.string)().optional(),
23
- courses: (0, yup_extended_1.string)().optional(),
24
- discussions: (0, yup_extended_1.string)().optional(),
25
- }).required("Filter query is required"),
26
- countries: (0, yup_extended_1.array)()
27
- .of((0, yup_extended_1.string)().required())
28
- .min(1, "At least one country is required")
29
- .required(),
30
- logo: (0, yup_extended_1.string)().optional(),
31
- banner: (0, yup_extended_1.string)().optional(),
32
- isFeatured: (0, yup_extended_1.boolean)().optional(),
33
- featuredMarkets: (0, yup_extended_1.array)()
34
- .of((0, yup_extended_1.string)().required())
35
- .optional()
36
- .default([])
37
- .label("Featured Markets"),
38
- seo: (0, yup_extended_1.object)({
39
- description: (0, yup_extended_1.string)().optional(),
40
- keywords: (0, yup_extended_1.array)().of((0, yup_extended_1.string)().required()).optional(),
41
- }),
42
- translation: (0, yup_extended_1.array)().of(exports.GroupTranslationSchema).optional(),
43
- });
44
28
  // ─── Full Document Schema ────────────────────────────────────────────────────
45
29
  exports.GroupSchema = (0, yup_extended_1.object)()
46
30
  .shape({
@@ -58,6 +42,12 @@ exports.GroupSchema = (0, yup_extended_1.object)()
58
42
  .default([])
59
43
  .label("Featured Markets"),
60
44
  followersCount: (0, yup_extended_1.number)().min(0).label("Followers Count"),
45
+ membersCount: (0, yup_extended_1.number)().min(0).label("Members Count"),
46
+ visibility: (0, yup_extended_1.mixed)()
47
+ .oneOf(Object.values(GroupVisibility))
48
+ .default(GroupVisibility.Public)
49
+ .label("Visibility"),
50
+ termsAndConditions: (0, yup_extended_1.string)().optional().label("Terms and Conditions"),
61
51
  countries: (0, yup_extended_1.array)().of((0, yup_extended_1.string)()).optional().label("Countries"),
62
52
  filterQuery: (0, yup_extended_1.object)()
63
53
  .shape({
@@ -1,2 +1,3 @@
1
1
  export * from "./group.schema";
2
+ export * from "./group-membership.schema";
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/group/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/group/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,2BAA2B,CAAC"}
@@ -15,3 +15,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./group.schema"), exports);
18
+ __exportStar(require("./group-membership.schema"), exports);
@@ -590,6 +590,14 @@ export interface IDurationSchema {
590
590
  export interface IFieldOfStudySchema {
591
591
  name: string;
592
592
  }
593
+ export interface IGroupMembershipSchema {
594
+ createdAt?: number | undefined;
595
+ updatedAt?: number | undefined;
596
+ id: string;
597
+ status: NonNullable<import("/Users/nadeem.ahmad/Documents/GitHub/thejob-yup-schema/src/group/group.schema").GroupMembershipStatus | undefined>;
598
+ userId: string;
599
+ groupId: string;
600
+ }
593
601
  export interface IGroupTranslationSchema {
594
602
  slug?: string | undefined;
595
603
  description?: string | undefined;
@@ -600,35 +608,6 @@ export interface IGroupTranslationSchema {
600
608
  name: string;
601
609
  language: string;
602
610
  }
603
- export interface IGroupFormSchema {
604
- slug?: string | undefined;
605
- logo?: string | undefined;
606
- isFeatured?: boolean | undefined;
607
- description?: string | undefined;
608
- banner?: string | undefined;
609
- translation?: {
610
- slug?: string | undefined;
611
- description?: string | undefined;
612
- seo?: {
613
- description?: string | undefined;
614
- keywords?: string[] | undefined;
615
- } | undefined;
616
- name: string;
617
- language: string;
618
- }[] | undefined;
619
- name: string;
620
- featuredMarkets: string[];
621
- seo: {
622
- description?: string | undefined;
623
- keywords?: string[] | undefined;
624
- };
625
- filterQuery: {
626
- jobs?: string | undefined;
627
- courses?: string | undefined;
628
- discussions?: string | undefined;
629
- };
630
- countries: string[];
631
- }
632
611
  export interface IGroupSchema {
633
612
  logo?: string | undefined;
634
613
  isFeatured?: boolean | undefined;
@@ -639,8 +618,10 @@ export interface IGroupSchema {
639
618
  description?: string | undefined;
640
619
  keywords?: (string | undefined)[] | undefined;
641
620
  } | undefined;
642
- countries?: (string | undefined)[] | undefined;
643
621
  banner?: string | undefined;
622
+ membersCount?: number | undefined;
623
+ termsAndConditions?: string | undefined;
624
+ countries?: (string | undefined)[] | undefined;
644
625
  translation?: {
645
626
  slug?: string | undefined;
646
627
  description?: string | undefined;
@@ -657,6 +638,7 @@ export interface IGroupSchema {
657
638
  name: string;
658
639
  featuredMarkets: (string | undefined)[];
659
640
  description: string;
641
+ visibility: import("/Users/nadeem.ahmad/Documents/GitHub/thejob-yup-schema/src/group/group.schema").GroupVisibility;
660
642
  filterQuery: {
661
643
  jobs?: string | undefined;
662
644
  courses?: string | undefined;
@@ -1203,11 +1185,7 @@ export interface IPageSchema {
1203
1185
  dark?: string | null | undefined;
1204
1186
  light: string;
1205
1187
  } | null;
1206
- categories: {
1207
- logo?: string | undefined;
1208
- id: string;
1209
- name: string;
1210
- }[];
1188
+ categories: string[];
1211
1189
  isFeatured: boolean;
1212
1190
  featuredMarkets: string[];
1213
1191
  status: NonNullable<import("/Users/nadeem.ahmad/Documents/GitHub/thejob-yup-schema/src/page/page.constant").PageStatus | undefined>;