counseling-schema 0.1.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.
Files changed (45) hide show
  1. package/dist/appointment.schema.d.ts +144 -0
  2. package/dist/appointment.schema.d.ts.map +1 -0
  3. package/dist/appointment.schema.js +42 -0
  4. package/dist/appointment.schema.js.map +1 -0
  5. package/dist/chat.schema.d.ts +24 -0
  6. package/dist/chat.schema.d.ts.map +1 -0
  7. package/dist/chat.schema.js +22 -0
  8. package/dist/chat.schema.js.map +1 -0
  9. package/dist/clinic-profile.schema.d.ts +346 -0
  10. package/dist/clinic-profile.schema.d.ts.map +1 -0
  11. package/dist/clinic-profile.schema.js +64 -0
  12. package/dist/clinic-profile.schema.js.map +1 -0
  13. package/dist/counselor-profile.schema.d.ts +326 -0
  14. package/dist/counselor-profile.schema.d.ts.map +1 -0
  15. package/dist/counselor-profile.schema.js +56 -0
  16. package/dist/counselor-profile.schema.js.map +1 -0
  17. package/dist/enquiry.schema.d.ts +40 -0
  18. package/dist/enquiry.schema.d.ts.map +1 -0
  19. package/dist/enquiry.schema.js +21 -0
  20. package/dist/enquiry.schema.js.map +1 -0
  21. package/dist/enums.d.ts +52 -0
  22. package/dist/enums.d.ts.map +1 -0
  23. package/dist/enums.js +131 -0
  24. package/dist/enums.js.map +1 -0
  25. package/dist/index.d.ts +11 -0
  26. package/dist/index.d.ts.map +1 -0
  27. package/dist/index.js +21 -0
  28. package/dist/index.js.map +1 -0
  29. package/dist/review.schema.d.ts +34 -0
  30. package/dist/review.schema.d.ts.map +1 -0
  31. package/dist/review.schema.js +18 -0
  32. package/dist/review.schema.js.map +1 -0
  33. package/dist/search.schema.d.ts +149 -0
  34. package/dist/search.schema.d.ts.map +1 -0
  35. package/dist/search.schema.js +33 -0
  36. package/dist/search.schema.js.map +1 -0
  37. package/dist/specializations.d.ts +33 -0
  38. package/dist/specializations.d.ts.map +1 -0
  39. package/dist/specializations.js +163 -0
  40. package/dist/specializations.js.map +1 -0
  41. package/dist/subscription.schema.d.ts +10 -0
  42. package/dist/subscription.schema.d.ts.map +1 -0
  43. package/dist/subscription.schema.js +7 -0
  44. package/dist/subscription.schema.js.map +1 -0
  45. package/package.json +34 -0
@@ -0,0 +1,144 @@
1
+ import { z } from "zod";
2
+ export declare const createAppointmentSchema: z.ZodObject<{
3
+ providerId: z.ZodString;
4
+ providerType: z.ZodEnum<{
5
+ counselor: "counselor";
6
+ clinic: "clinic";
7
+ }>;
8
+ specialization: z.ZodOptional<z.ZodObject<{
9
+ category: z.ZodEnum<{
10
+ mental_health: "mental_health";
11
+ neurodiversity: "neurodiversity";
12
+ relationship: "relationship";
13
+ family: "family";
14
+ career: "career";
15
+ child_adolescent: "child_adolescent";
16
+ addiction: "addiction";
17
+ sexual_health: "sexual_health";
18
+ trauma: "trauma";
19
+ wellness: "wellness";
20
+ corporate: "corporate";
21
+ legal: "legal";
22
+ }>;
23
+ issue: z.ZodOptional<z.ZodEnum<{
24
+ harassment: "harassment";
25
+ anxiety: "anxiety";
26
+ depression: "depression";
27
+ stress: "stress";
28
+ ocd: "ocd";
29
+ ptsd: "ptsd";
30
+ bipolar: "bipolar";
31
+ schizophrenia: "schizophrenia";
32
+ grief: "grief";
33
+ anger_management: "anger_management";
34
+ panic_disorder: "panic_disorder";
35
+ phobias: "phobias";
36
+ eating_disorders: "eating_disorders";
37
+ adhd: "adhd";
38
+ autism_asd: "autism_asd";
39
+ dyslexia: "dyslexia";
40
+ sensory_processing: "sensory_processing";
41
+ giftedness: "giftedness";
42
+ tourettes: "tourettes";
43
+ dyscalculia: "dyscalculia";
44
+ learning_disabilities: "learning_disabilities";
45
+ marriage_counseling: "marriage_counseling";
46
+ couple_therapy: "couple_therapy";
47
+ pre_marital: "pre_marital";
48
+ divorce_separation: "divorce_separation";
49
+ infidelity: "infidelity";
50
+ communication_issues: "communication_issues";
51
+ long_distance: "long_distance";
52
+ parenting: "parenting";
53
+ co_parenting: "co_parenting";
54
+ family_conflict: "family_conflict";
55
+ blended_families: "blended_families";
56
+ elder_care_stress: "elder_care_stress";
57
+ sibling_issues: "sibling_issues";
58
+ adoption: "adoption";
59
+ career_change: "career_change";
60
+ job_stress: "job_stress";
61
+ burnout: "burnout";
62
+ work_life_balance: "work_life_balance";
63
+ interview_anxiety: "interview_anxiety";
64
+ leadership_coaching: "leadership_coaching";
65
+ workplace_conflict: "workplace_conflict";
66
+ behavioral_issues: "behavioral_issues";
67
+ school_anxiety: "school_anxiety";
68
+ bullying: "bullying";
69
+ teen_depression: "teen_depression";
70
+ identity_issues: "identity_issues";
71
+ academic_pressure: "academic_pressure";
72
+ screen_addiction: "screen_addiction";
73
+ substance_abuse: "substance_abuse";
74
+ alcohol: "alcohol";
75
+ gambling: "gambling";
76
+ internet_gaming: "internet_gaming";
77
+ smoking: "smoking";
78
+ pornography: "pornography";
79
+ shopping: "shopping";
80
+ sexual_dysfunction: "sexual_dysfunction";
81
+ gender_identity: "gender_identity";
82
+ lgbtq_support: "lgbtq_support";
83
+ intimacy_issues: "intimacy_issues";
84
+ abuse_survivors: "abuse_survivors";
85
+ domestic_violence: "domestic_violence";
86
+ childhood_trauma: "childhood_trauma";
87
+ accident_recovery: "accident_recovery";
88
+ war_conflict: "war_conflict";
89
+ natural_disaster: "natural_disaster";
90
+ stress_management: "stress_management";
91
+ mindfulness: "mindfulness";
92
+ sleep_issues: "sleep_issues";
93
+ self_esteem: "self_esteem";
94
+ life_transitions: "life_transitions";
95
+ expat_adjustment: "expat_adjustment";
96
+ retirement: "retirement";
97
+ eap_counseling: "eap_counseling";
98
+ executive_coaching: "executive_coaching";
99
+ team_dynamics: "team_dynamics";
100
+ diversity_inclusion: "diversity_inclusion";
101
+ pre_litigation_counseling: "pre_litigation_counseling";
102
+ mediation: "mediation";
103
+ custody_counseling: "custody_counseling";
104
+ victim_advocacy: "victim_advocacy";
105
+ }>>;
106
+ }, z.core.$strip>>;
107
+ scheduledDate: z.ZodCoercedDate<unknown>;
108
+ scheduledSlot: z.ZodObject<{
109
+ startTime: z.ZodString;
110
+ endTime: z.ZodString;
111
+ }, z.core.$strip>;
112
+ clientNotes: z.ZodOptional<z.ZodString>;
113
+ }, z.core.$strip>;
114
+ export type CreateAppointmentInput = z.infer<typeof createAppointmentSchema>;
115
+ export declare const rescheduleAppointmentSchema: z.ZodObject<{
116
+ scheduledDate: z.ZodCoercedDate<unknown>;
117
+ scheduledSlot: z.ZodObject<{
118
+ startTime: z.ZodString;
119
+ endTime: z.ZodString;
120
+ }, z.core.$strip>;
121
+ reason: z.ZodOptional<z.ZodString>;
122
+ }, z.core.$strip>;
123
+ export type RescheduleAppointmentInput = z.infer<typeof rescheduleAppointmentSchema>;
124
+ export declare const cancelAppointmentSchema: z.ZodObject<{
125
+ reason: z.ZodOptional<z.ZodString>;
126
+ }, z.core.$strip>;
127
+ export type CancelAppointmentInput = z.infer<typeof cancelAppointmentSchema>;
128
+ export declare const appointmentListQuerySchema: z.ZodObject<{
129
+ page: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
130
+ limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
131
+ status: z.ZodOptional<z.ZodEnum<{
132
+ upcoming: "upcoming";
133
+ completed: "completed";
134
+ cancelled: "cancelled";
135
+ no_show: "no_show";
136
+ rescheduled: "rescheduled";
137
+ }>>;
138
+ }, z.core.$strip>;
139
+ export type AppointmentListQuery = z.infer<typeof appointmentListQuerySchema>;
140
+ export declare const availableSlotsQuerySchema: z.ZodObject<{
141
+ date: z.ZodCoercedDate<unknown>;
142
+ }, z.core.$strip>;
143
+ export type AvailableSlotsQuery = z.infer<typeof availableSlotsQuerySchema>;
144
+ //# sourceMappingURL=appointment.schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appointment.schema.d.ts","sourceRoot":"","sources":["../src/appointment.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAalC,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAI7E,eAAO,MAAM,2BAA2B;;;;;;;iBAOtC,CAAC;AAEH,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAIrF,eAAO,MAAM,uBAAuB;;iBAElC,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAI7E,eAAO,MAAM,0BAA0B;;;;;;;;;;iBAIrC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAI9E,eAAO,MAAM,yBAAyB;;iBAEpC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC"}
@@ -0,0 +1,42 @@
1
+ import { z } from "zod";
2
+ import { PROVIDER_TYPE, APPOINTMENT_STATUS } from "./enums.js";
3
+ import { COUNSELING_CATEGORY, ALL_ISSUES } from "./specializations.js";
4
+ // ─── Create (Book) ──────────────────────────────────────────────────
5
+ export const createAppointmentSchema = z.object({
6
+ providerId: z.string().min(1),
7
+ providerType: z.enum(PROVIDER_TYPE),
8
+ specialization: z.object({
9
+ category: z.enum(COUNSELING_CATEGORY),
10
+ issue: z.enum(ALL_ISSUES).optional(),
11
+ }).optional(),
12
+ scheduledDate: z.coerce.date(),
13
+ scheduledSlot: z.object({
14
+ startTime: z.string().regex(/^\d{2}:\d{2}$/, "Must be HH:mm format"),
15
+ endTime: z.string().regex(/^\d{2}:\d{2}$/, "Must be HH:mm format"),
16
+ }),
17
+ clientNotes: z.string().trim().max(1000).optional(),
18
+ });
19
+ // ─── Reschedule ──────────────────────────────────────────────────────
20
+ export const rescheduleAppointmentSchema = z.object({
21
+ scheduledDate: z.coerce.date(),
22
+ scheduledSlot: z.object({
23
+ startTime: z.string().regex(/^\d{2}:\d{2}$/),
24
+ endTime: z.string().regex(/^\d{2}:\d{2}$/),
25
+ }),
26
+ reason: z.string().trim().max(500).optional(),
27
+ });
28
+ // ─── Cancel ──────────────────────────────────────────────────────────
29
+ export const cancelAppointmentSchema = z.object({
30
+ reason: z.string().trim().max(500).optional(),
31
+ });
32
+ // ─── Query ───────────────────────────────────────────────────────────
33
+ export const appointmentListQuerySchema = z.object({
34
+ page: z.coerce.number().int().min(1).default(1),
35
+ limit: z.coerce.number().int().min(1).max(50).default(20),
36
+ status: z.enum(APPOINTMENT_STATUS).optional(),
37
+ });
38
+ // ─── Available slots query ───────────────────────────────────────────
39
+ export const availableSlotsQuerySchema = z.object({
40
+ date: z.coerce.date(),
41
+ });
42
+ //# sourceMappingURL=appointment.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appointment.schema.js","sourceRoot":"","sources":["../src/appointment.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEvE,uEAAuE;AAEvE,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7B,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC;IACnC,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC;QACvB,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC;QACrC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE;KACrC,CAAC,CAAC,QAAQ,EAAE;IACb,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE;IAC9B,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC;QACtB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,eAAe,EAAE,sBAAsB,CAAC;QACpE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,eAAe,EAAE,sBAAsB,CAAC;KACnE,CAAC;IACF,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;CACpD,CAAC,CAAC;AAIH,wEAAwE;AAExE,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE;IAC9B,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC;QACtB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC;QAC5C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC;KAC3C,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;CAC9C,CAAC,CAAC;AAIH,wEAAwE;AAExE,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;CAC9C,CAAC,CAAC;AAIH,wEAAwE;AAExE,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACzD,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,QAAQ,EAAE;CAC9C,CAAC,CAAC;AAIH,wEAAwE;AAExE,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE;CACtB,CAAC,CAAC","sourcesContent":["import { z } from \"zod\";\nimport { PROVIDER_TYPE, APPOINTMENT_STATUS } from \"./enums.js\";\nimport { COUNSELING_CATEGORY, ALL_ISSUES } from \"./specializations.js\";\n\n// ─── Create (Book) ──────────────────────────────────────────────────\n\nexport const createAppointmentSchema = z.object({\n providerId: z.string().min(1),\n providerType: z.enum(PROVIDER_TYPE),\n specialization: z.object({\n category: z.enum(COUNSELING_CATEGORY),\n issue: z.enum(ALL_ISSUES).optional(),\n }).optional(),\n scheduledDate: z.coerce.date(),\n scheduledSlot: z.object({\n startTime: z.string().regex(/^\\d{2}:\\d{2}$/, \"Must be HH:mm format\"),\n endTime: z.string().regex(/^\\d{2}:\\d{2}$/, \"Must be HH:mm format\"),\n }),\n clientNotes: z.string().trim().max(1000).optional(),\n});\n\nexport type CreateAppointmentInput = z.infer<typeof createAppointmentSchema>;\n\n// ─── Reschedule ──────────────────────────────────────────────────────\n\nexport const rescheduleAppointmentSchema = z.object({\n scheduledDate: z.coerce.date(),\n scheduledSlot: z.object({\n startTime: z.string().regex(/^\\d{2}:\\d{2}$/),\n endTime: z.string().regex(/^\\d{2}:\\d{2}$/),\n }),\n reason: z.string().trim().max(500).optional(),\n});\n\nexport type RescheduleAppointmentInput = z.infer<typeof rescheduleAppointmentSchema>;\n\n// ─── Cancel ──────────────────────────────────────────────────────────\n\nexport const cancelAppointmentSchema = z.object({\n reason: z.string().trim().max(500).optional(),\n});\n\nexport type CancelAppointmentInput = z.infer<typeof cancelAppointmentSchema>;\n\n// ─── Query ───────────────────────────────────────────────────────────\n\nexport const appointmentListQuerySchema = z.object({\n page: z.coerce.number().int().min(1).default(1),\n limit: z.coerce.number().int().min(1).max(50).default(20),\n status: z.enum(APPOINTMENT_STATUS).optional(),\n});\n\nexport type AppointmentListQuery = z.infer<typeof appointmentListQuerySchema>;\n\n// ─── Available slots query ───────────────────────────────────────────\n\nexport const availableSlotsQuerySchema = z.object({\n date: z.coerce.date(),\n});\n\nexport type AvailableSlotsQuery = z.infer<typeof availableSlotsQuerySchema>;\n"]}
@@ -0,0 +1,24 @@
1
+ import { z } from "zod";
2
+ export declare const startChatSchema: z.ZodObject<{
3
+ providerId: z.ZodString;
4
+ providerType: z.ZodEnum<{
5
+ counselor: "counselor";
6
+ clinic: "clinic";
7
+ }>;
8
+ }, z.core.$strip>;
9
+ export type StartChatInput = z.infer<typeof startChatSchema>;
10
+ export declare const sendMessageSchema: z.ZodObject<{
11
+ text: z.ZodString;
12
+ }, z.core.$strip>;
13
+ export type SendMessageInput = z.infer<typeof sendMessageSchema>;
14
+ export declare const messageListQuerySchema: z.ZodObject<{
15
+ page: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
16
+ limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
17
+ }, z.core.$strip>;
18
+ export type MessageListQuery = z.infer<typeof messageListQuerySchema>;
19
+ export declare const chatListQuerySchema: z.ZodObject<{
20
+ page: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
21
+ limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
22
+ }, z.core.$strip>;
23
+ export type ChatListQuery = z.infer<typeof chatListQuerySchema>;
24
+ //# sourceMappingURL=chat.schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat.schema.d.ts","sourceRoot":"","sources":["../src/chat.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,eAAe;;;;;;iBAG1B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAI7D,eAAO,MAAM,iBAAiB;;iBAE5B,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAIjE,eAAO,MAAM,sBAAsB;;;iBAGjC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAItE,eAAO,MAAM,mBAAmB;;;iBAG9B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { z } from "zod";
2
+ import { PROVIDER_TYPE } from "./enums.js";
3
+ // ─── Start Chat ──────────────────────────────────────────────────────
4
+ export const startChatSchema = z.object({
5
+ providerId: z.string().min(1),
6
+ providerType: z.enum(PROVIDER_TYPE),
7
+ });
8
+ // ─── Send Message ────────────────────────────────────────────────────
9
+ export const sendMessageSchema = z.object({
10
+ text: z.string().trim().min(1).max(2000),
11
+ });
12
+ // ─── Query (messages) ────────────────────────────────────────────────
13
+ export const messageListQuerySchema = z.object({
14
+ page: z.coerce.number().int().min(1).default(1),
15
+ limit: z.coerce.number().int().min(1).max(100).default(50),
16
+ });
17
+ // ─── Query (chat list) ──────────────────────────────────────────────
18
+ export const chatListQuerySchema = z.object({
19
+ page: z.coerce.number().int().min(1).default(1),
20
+ limit: z.coerce.number().int().min(1).max(50).default(20),
21
+ });
22
+ //# sourceMappingURL=chat.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat.schema.js","sourceRoot":"","sources":["../src/chat.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,wEAAwE;AAExE,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7B,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC;CACpC,CAAC,CAAC;AAIH,wEAAwE;AAExE,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;CACzC,CAAC,CAAC;AAIH,wEAAwE;AAExE,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CAC3D,CAAC,CAAC;AAIH,uEAAuE;AAEvE,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CAC1D,CAAC,CAAC","sourcesContent":["import { z } from \"zod\";\nimport { PROVIDER_TYPE } from \"./enums.js\";\n\n// ─── Start Chat ──────────────────────────────────────────────────────\n\nexport const startChatSchema = z.object({\n providerId: z.string().min(1),\n providerType: z.enum(PROVIDER_TYPE),\n});\n\nexport type StartChatInput = z.infer<typeof startChatSchema>;\n\n// ─── Send Message ────────────────────────────────────────────────────\n\nexport const sendMessageSchema = z.object({\n text: z.string().trim().min(1).max(2000),\n});\n\nexport type SendMessageInput = z.infer<typeof sendMessageSchema>;\n\n// ─── Query (messages) ────────────────────────────────────────────────\n\nexport const messageListQuerySchema = z.object({\n page: z.coerce.number().int().min(1).default(1),\n limit: z.coerce.number().int().min(1).max(100).default(50),\n});\n\nexport type MessageListQuery = z.infer<typeof messageListQuerySchema>;\n\n// ─── Query (chat list) ──────────────────────────────────────────────\n\nexport const chatListQuerySchema = z.object({\n page: z.coerce.number().int().min(1).default(1),\n limit: z.coerce.number().int().min(1).max(50).default(20),\n});\n\nexport type ChatListQuery = z.infer<typeof chatListQuerySchema>;\n"]}
@@ -0,0 +1,346 @@
1
+ import { z } from "zod";
2
+ export declare const createClinicProfileSchema: z.ZodObject<{
3
+ clinicName: z.ZodString;
4
+ headline: z.ZodString;
5
+ description: z.ZodString;
6
+ photos: z.ZodArray<z.ZodString>;
7
+ logo: z.ZodOptional<z.ZodString>;
8
+ specializations: z.ZodArray<z.ZodObject<{
9
+ category: z.ZodEnum<{
10
+ mental_health: "mental_health";
11
+ neurodiversity: "neurodiversity";
12
+ relationship: "relationship";
13
+ family: "family";
14
+ career: "career";
15
+ child_adolescent: "child_adolescent";
16
+ addiction: "addiction";
17
+ sexual_health: "sexual_health";
18
+ trauma: "trauma";
19
+ wellness: "wellness";
20
+ corporate: "corporate";
21
+ legal: "legal";
22
+ }>;
23
+ issues: z.ZodArray<z.ZodEnum<{
24
+ harassment: "harassment";
25
+ anxiety: "anxiety";
26
+ depression: "depression";
27
+ stress: "stress";
28
+ ocd: "ocd";
29
+ ptsd: "ptsd";
30
+ bipolar: "bipolar";
31
+ schizophrenia: "schizophrenia";
32
+ grief: "grief";
33
+ anger_management: "anger_management";
34
+ panic_disorder: "panic_disorder";
35
+ phobias: "phobias";
36
+ eating_disorders: "eating_disorders";
37
+ adhd: "adhd";
38
+ autism_asd: "autism_asd";
39
+ dyslexia: "dyslexia";
40
+ sensory_processing: "sensory_processing";
41
+ giftedness: "giftedness";
42
+ tourettes: "tourettes";
43
+ dyscalculia: "dyscalculia";
44
+ learning_disabilities: "learning_disabilities";
45
+ marriage_counseling: "marriage_counseling";
46
+ couple_therapy: "couple_therapy";
47
+ pre_marital: "pre_marital";
48
+ divorce_separation: "divorce_separation";
49
+ infidelity: "infidelity";
50
+ communication_issues: "communication_issues";
51
+ long_distance: "long_distance";
52
+ parenting: "parenting";
53
+ co_parenting: "co_parenting";
54
+ family_conflict: "family_conflict";
55
+ blended_families: "blended_families";
56
+ elder_care_stress: "elder_care_stress";
57
+ sibling_issues: "sibling_issues";
58
+ adoption: "adoption";
59
+ career_change: "career_change";
60
+ job_stress: "job_stress";
61
+ burnout: "burnout";
62
+ work_life_balance: "work_life_balance";
63
+ interview_anxiety: "interview_anxiety";
64
+ leadership_coaching: "leadership_coaching";
65
+ workplace_conflict: "workplace_conflict";
66
+ behavioral_issues: "behavioral_issues";
67
+ school_anxiety: "school_anxiety";
68
+ bullying: "bullying";
69
+ teen_depression: "teen_depression";
70
+ identity_issues: "identity_issues";
71
+ academic_pressure: "academic_pressure";
72
+ screen_addiction: "screen_addiction";
73
+ substance_abuse: "substance_abuse";
74
+ alcohol: "alcohol";
75
+ gambling: "gambling";
76
+ internet_gaming: "internet_gaming";
77
+ smoking: "smoking";
78
+ pornography: "pornography";
79
+ shopping: "shopping";
80
+ sexual_dysfunction: "sexual_dysfunction";
81
+ gender_identity: "gender_identity";
82
+ lgbtq_support: "lgbtq_support";
83
+ intimacy_issues: "intimacy_issues";
84
+ abuse_survivors: "abuse_survivors";
85
+ domestic_violence: "domestic_violence";
86
+ childhood_trauma: "childhood_trauma";
87
+ accident_recovery: "accident_recovery";
88
+ war_conflict: "war_conflict";
89
+ natural_disaster: "natural_disaster";
90
+ stress_management: "stress_management";
91
+ mindfulness: "mindfulness";
92
+ sleep_issues: "sleep_issues";
93
+ self_esteem: "self_esteem";
94
+ life_transitions: "life_transitions";
95
+ expat_adjustment: "expat_adjustment";
96
+ retirement: "retirement";
97
+ eap_counseling: "eap_counseling";
98
+ executive_coaching: "executive_coaching";
99
+ team_dynamics: "team_dynamics";
100
+ diversity_inclusion: "diversity_inclusion";
101
+ pre_litigation_counseling: "pre_litigation_counseling";
102
+ mediation: "mediation";
103
+ custody_counseling: "custody_counseling";
104
+ victim_advocacy: "victim_advocacy";
105
+ }>>;
106
+ }, z.core.$strip>>;
107
+ approaches: z.ZodOptional<z.ZodArray<z.ZodEnum<{
108
+ CBT: "CBT";
109
+ DBT: "DBT";
110
+ Psychodynamic: "Psychodynamic";
111
+ Humanistic: "Humanistic";
112
+ Person_Centered: "Person_Centered";
113
+ Solution_Focused: "Solution_Focused";
114
+ EMDR: "EMDR";
115
+ Art_Therapy: "Art_Therapy";
116
+ Play_Therapy: "Play_Therapy";
117
+ Mindfulness_Based: "Mindfulness_Based";
118
+ Narrative_Therapy: "Narrative_Therapy";
119
+ Family_Systems: "Family_Systems";
120
+ Gestalt: "Gestalt";
121
+ ACT: "ACT";
122
+ Motivational_Interviewing: "Motivational_Interviewing";
123
+ Eclectic: "Eclectic";
124
+ }>>>;
125
+ practitioners: z.ZodOptional<z.ZodArray<z.ZodObject<{
126
+ name: z.ZodString;
127
+ qualifications: z.ZodOptional<z.ZodArray<z.ZodString>>;
128
+ specializations: z.ZodOptional<z.ZodArray<z.ZodString>>;
129
+ experienceYears: z.ZodOptional<z.ZodNumber>;
130
+ }, z.core.$strip>>>;
131
+ practitionerCount: z.ZodNumber;
132
+ yearEstablished: z.ZodOptional<z.ZodNumber>;
133
+ facilities: z.ZodOptional<z.ZodArray<z.ZodEnum<{
134
+ waiting_room: "waiting_room";
135
+ play_area: "play_area";
136
+ wheelchair_accessible: "wheelchair_accessible";
137
+ parking: "parking";
138
+ wifi: "wifi";
139
+ private_rooms: "private_rooms";
140
+ group_room: "group_room";
141
+ cctv: "cctv";
142
+ ac: "ac";
143
+ garden_area: "garden_area";
144
+ }>>>;
145
+ languages: z.ZodArray<z.ZodString>;
146
+ bookingFee: z.ZodNumber;
147
+ feeRangeMin: z.ZodNumber;
148
+ feeRangeMax: z.ZodNumber;
149
+ revenueModel: z.ZodDefault<z.ZodEnum<{
150
+ commission: "commission";
151
+ subscription: "subscription";
152
+ }>>;
153
+ availability: z.ZodArray<z.ZodObject<{
154
+ dayOfWeek: z.ZodNumber;
155
+ slots: z.ZodArray<z.ZodObject<{
156
+ startTime: z.ZodString;
157
+ endTime: z.ZodString;
158
+ }, z.core.$strip>>;
159
+ }, z.core.$strip>>;
160
+ location: z.ZodObject<{
161
+ type: z.ZodLiteral<"Point">;
162
+ coordinates: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
163
+ }, z.core.$strip>;
164
+ locality: z.ZodString;
165
+ address: z.ZodString;
166
+ city: z.ZodString;
167
+ state: z.ZodOptional<z.ZodString>;
168
+ operatingHours: z.ZodOptional<z.ZodObject<{
169
+ open: z.ZodString;
170
+ close: z.ZodString;
171
+ }, z.core.$strip>>;
172
+ }, z.core.$strip>;
173
+ export type CreateClinicProfileInput = z.infer<typeof createClinicProfileSchema>;
174
+ export declare const updateClinicProfileSchema: z.ZodObject<{
175
+ clinicName: z.ZodOptional<z.ZodString>;
176
+ headline: z.ZodOptional<z.ZodString>;
177
+ description: z.ZodOptional<z.ZodString>;
178
+ photos: z.ZodOptional<z.ZodArray<z.ZodString>>;
179
+ logo: z.ZodOptional<z.ZodOptional<z.ZodString>>;
180
+ specializations: z.ZodOptional<z.ZodArray<z.ZodObject<{
181
+ category: z.ZodEnum<{
182
+ mental_health: "mental_health";
183
+ neurodiversity: "neurodiversity";
184
+ relationship: "relationship";
185
+ family: "family";
186
+ career: "career";
187
+ child_adolescent: "child_adolescent";
188
+ addiction: "addiction";
189
+ sexual_health: "sexual_health";
190
+ trauma: "trauma";
191
+ wellness: "wellness";
192
+ corporate: "corporate";
193
+ legal: "legal";
194
+ }>;
195
+ issues: z.ZodArray<z.ZodEnum<{
196
+ harassment: "harassment";
197
+ anxiety: "anxiety";
198
+ depression: "depression";
199
+ stress: "stress";
200
+ ocd: "ocd";
201
+ ptsd: "ptsd";
202
+ bipolar: "bipolar";
203
+ schizophrenia: "schizophrenia";
204
+ grief: "grief";
205
+ anger_management: "anger_management";
206
+ panic_disorder: "panic_disorder";
207
+ phobias: "phobias";
208
+ eating_disorders: "eating_disorders";
209
+ adhd: "adhd";
210
+ autism_asd: "autism_asd";
211
+ dyslexia: "dyslexia";
212
+ sensory_processing: "sensory_processing";
213
+ giftedness: "giftedness";
214
+ tourettes: "tourettes";
215
+ dyscalculia: "dyscalculia";
216
+ learning_disabilities: "learning_disabilities";
217
+ marriage_counseling: "marriage_counseling";
218
+ couple_therapy: "couple_therapy";
219
+ pre_marital: "pre_marital";
220
+ divorce_separation: "divorce_separation";
221
+ infidelity: "infidelity";
222
+ communication_issues: "communication_issues";
223
+ long_distance: "long_distance";
224
+ parenting: "parenting";
225
+ co_parenting: "co_parenting";
226
+ family_conflict: "family_conflict";
227
+ blended_families: "blended_families";
228
+ elder_care_stress: "elder_care_stress";
229
+ sibling_issues: "sibling_issues";
230
+ adoption: "adoption";
231
+ career_change: "career_change";
232
+ job_stress: "job_stress";
233
+ burnout: "burnout";
234
+ work_life_balance: "work_life_balance";
235
+ interview_anxiety: "interview_anxiety";
236
+ leadership_coaching: "leadership_coaching";
237
+ workplace_conflict: "workplace_conflict";
238
+ behavioral_issues: "behavioral_issues";
239
+ school_anxiety: "school_anxiety";
240
+ bullying: "bullying";
241
+ teen_depression: "teen_depression";
242
+ identity_issues: "identity_issues";
243
+ academic_pressure: "academic_pressure";
244
+ screen_addiction: "screen_addiction";
245
+ substance_abuse: "substance_abuse";
246
+ alcohol: "alcohol";
247
+ gambling: "gambling";
248
+ internet_gaming: "internet_gaming";
249
+ smoking: "smoking";
250
+ pornography: "pornography";
251
+ shopping: "shopping";
252
+ sexual_dysfunction: "sexual_dysfunction";
253
+ gender_identity: "gender_identity";
254
+ lgbtq_support: "lgbtq_support";
255
+ intimacy_issues: "intimacy_issues";
256
+ abuse_survivors: "abuse_survivors";
257
+ domestic_violence: "domestic_violence";
258
+ childhood_trauma: "childhood_trauma";
259
+ accident_recovery: "accident_recovery";
260
+ war_conflict: "war_conflict";
261
+ natural_disaster: "natural_disaster";
262
+ stress_management: "stress_management";
263
+ mindfulness: "mindfulness";
264
+ sleep_issues: "sleep_issues";
265
+ self_esteem: "self_esteem";
266
+ life_transitions: "life_transitions";
267
+ expat_adjustment: "expat_adjustment";
268
+ retirement: "retirement";
269
+ eap_counseling: "eap_counseling";
270
+ executive_coaching: "executive_coaching";
271
+ team_dynamics: "team_dynamics";
272
+ diversity_inclusion: "diversity_inclusion";
273
+ pre_litigation_counseling: "pre_litigation_counseling";
274
+ mediation: "mediation";
275
+ custody_counseling: "custody_counseling";
276
+ victim_advocacy: "victim_advocacy";
277
+ }>>;
278
+ }, z.core.$strip>>>;
279
+ approaches: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodEnum<{
280
+ CBT: "CBT";
281
+ DBT: "DBT";
282
+ Psychodynamic: "Psychodynamic";
283
+ Humanistic: "Humanistic";
284
+ Person_Centered: "Person_Centered";
285
+ Solution_Focused: "Solution_Focused";
286
+ EMDR: "EMDR";
287
+ Art_Therapy: "Art_Therapy";
288
+ Play_Therapy: "Play_Therapy";
289
+ Mindfulness_Based: "Mindfulness_Based";
290
+ Narrative_Therapy: "Narrative_Therapy";
291
+ Family_Systems: "Family_Systems";
292
+ Gestalt: "Gestalt";
293
+ ACT: "ACT";
294
+ Motivational_Interviewing: "Motivational_Interviewing";
295
+ Eclectic: "Eclectic";
296
+ }>>>>;
297
+ practitioners: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
298
+ name: z.ZodString;
299
+ qualifications: z.ZodOptional<z.ZodArray<z.ZodString>>;
300
+ specializations: z.ZodOptional<z.ZodArray<z.ZodString>>;
301
+ experienceYears: z.ZodOptional<z.ZodNumber>;
302
+ }, z.core.$strip>>>>;
303
+ practitionerCount: z.ZodOptional<z.ZodNumber>;
304
+ yearEstablished: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
305
+ facilities: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodEnum<{
306
+ waiting_room: "waiting_room";
307
+ play_area: "play_area";
308
+ wheelchair_accessible: "wheelchair_accessible";
309
+ parking: "parking";
310
+ wifi: "wifi";
311
+ private_rooms: "private_rooms";
312
+ group_room: "group_room";
313
+ cctv: "cctv";
314
+ ac: "ac";
315
+ garden_area: "garden_area";
316
+ }>>>>;
317
+ languages: z.ZodOptional<z.ZodArray<z.ZodString>>;
318
+ bookingFee: z.ZodOptional<z.ZodNumber>;
319
+ feeRangeMin: z.ZodOptional<z.ZodNumber>;
320
+ feeRangeMax: z.ZodOptional<z.ZodNumber>;
321
+ revenueModel: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
322
+ commission: "commission";
323
+ subscription: "subscription";
324
+ }>>>;
325
+ availability: z.ZodOptional<z.ZodArray<z.ZodObject<{
326
+ dayOfWeek: z.ZodNumber;
327
+ slots: z.ZodArray<z.ZodObject<{
328
+ startTime: z.ZodString;
329
+ endTime: z.ZodString;
330
+ }, z.core.$strip>>;
331
+ }, z.core.$strip>>>;
332
+ location: z.ZodOptional<z.ZodObject<{
333
+ type: z.ZodLiteral<"Point">;
334
+ coordinates: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
335
+ }, z.core.$strip>>;
336
+ locality: z.ZodOptional<z.ZodString>;
337
+ address: z.ZodOptional<z.ZodString>;
338
+ city: z.ZodOptional<z.ZodString>;
339
+ state: z.ZodOptional<z.ZodOptional<z.ZodString>>;
340
+ operatingHours: z.ZodOptional<z.ZodOptional<z.ZodObject<{
341
+ open: z.ZodString;
342
+ close: z.ZodString;
343
+ }, z.core.$strip>>>;
344
+ }, z.core.$strip>;
345
+ export type UpdateClinicProfileInput = z.infer<typeof updateClinicProfileSchema>;
346
+ //# sourceMappingURL=clinic-profile.schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clinic-profile.schema.d.ts","sourceRoot":"","sources":["../src/clinic-profile.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAsCxB,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAqCpC,CAAC;AAEH,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAIjF,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAsC,CAAC;AAC7E,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC"}