@shophost/rest-api 2.0.56 → 2.0.58
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/package.json +1 -1
- package/src/core/notifications/email.service.d.ts +2 -1
- package/src/core/notifications/email.service.js +1 -1
- package/src/core/notifications/email.service.js.map +1 -1
- package/src/features/reservation/emails/reservation-updated.email.d.ts +10 -0
- package/src/features/reservation/emails/reservation-updated.email.js +1 -0
- package/src/features/reservation/emails/reservation-updated.email.js.map +1 -0
- package/src/features/reservation/reservation.handler.js +1 -1
- package/src/features/reservation/reservation.handler.js.map +1 -1
- package/src/features/reservation/reservation.route.d.ts +102 -0
- package/src/features/reservation/reservation.route.js +1 -1
- package/src/features/reservation/reservation.route.js.map +1 -1
- package/src/features/reservation/reservation.schema.d.ts +131 -0
- package/src/features/reservation/reservation.schema.js +1 -1
- package/src/features/reservation/reservation.schema.js.map +1 -1
- package/src/features/reservation/reservation.service.d.ts +17 -7
- package/src/features/reservation/reservation.service.js +1 -1
- package/src/features/reservation/reservation.service.js.map +1 -1
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { CreateEmailOptions, CreateEmailRequestOptions } from "resend";
|
|
2
2
|
import { Order, Organization, Reservation, User } from "../../schemas";
|
|
3
3
|
interface ReservationWithRelations extends Reservation {
|
|
4
|
-
user: User;
|
|
4
|
+
user: User | null;
|
|
5
5
|
organization: Organization;
|
|
6
6
|
}
|
|
7
7
|
interface EmailServiceOptions {
|
|
@@ -34,5 +34,6 @@ declare class EmailService {
|
|
|
34
34
|
* Sends a reservation notification email to an organization member
|
|
35
35
|
*/
|
|
36
36
|
sendReservationNotificationEmail(member: User, reservation: ReservationWithRelations): Promise<void>;
|
|
37
|
+
sendReservationUpdatedEmail(reservation: ReservationWithRelations): Promise<void>;
|
|
37
38
|
}
|
|
38
39
|
export { EmailService };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__awaiter as
|
|
1
|
+
import{__awaiter as n}from"tslib";import{Resend as r}from"resend";import{OrderConfirmationEmail as a}from"../../features/order/emails/order-confirmation.email";import s from"../../features/order/emails/order-notification.email";import{ReservationCancellationEmail as m}from"../../features/reservation/emails/reservation-cancellation.email";import{ReservationConfirmationEmail as d}from"../../features/reservation/emails/reservation-confirmation.email";import l from"../../features/reservation/emails/reservation-notification.email";import{ReservationUpdatedEmail as c}from"../../features/reservation/emails/reservation-updated.email";class f{constructor(e={}){e.apiKey&&(this.resend=new r(e.apiKey)),this.fromEmail=e.fromEmail}getFromAddress(e){var i,o;const t=(o=(i=this.fromEmail)!==null&&i!==void 0?i:e.email)!==null&&o!==void 0?o:"info@shophost.io";return`${e.name} <${t}>`}sendEmail(e,i){return n(this,void 0,void 0,function*(){this.resend&&(yield this.resend.emails.send(e))})}sendOrderConfirmationEmail(e,i,o){return n(this,void 0,void 0,function*(){console.log(`Sending order confirmation email to ${e.email}`),yield this.sendEmail({from:this.getFromAddress(i),to:[e.email],subject:`Order Confirmation - Order #${o.referenceId} | ${i.name}`,react:a({user:e,organization:i,order:o})})})}sendOrderNotificationEmail(e,i,o,t){return n(this,void 0,void 0,function*(){console.log(`Sending order notification email to ${i.email}`),yield this.sendEmail({from:this.getFromAddress(o),to:[i.email],subject:`You have received a new order | ${o.name}`,react:s({user:e,organization:o,order:t})})})}sendReservationConfirmationEmail(e){return n(this,void 0,void 0,function*(){const i=e.user,o=e.organization;i?.email&&(console.log(`Sending reservation confirmation email to ${i.email}`),yield this.sendEmail({from:this.getFromAddress(o),to:[i.email],subject:`Reservation Confirmation - ${o.name}`,react:d({user:i,organization:o,reservation:e})}))})}sendReservationCancellationEmail(e){return n(this,void 0,void 0,function*(){const i=e.user,o=e.organization;i?.email&&(console.log(`Sending reservation cancellation email to ${i.email}`),yield this.sendEmail({from:this.getFromAddress(o),to:[i.email],subject:`Reservation Cancelled - ${o.name}`,react:m({user:i,organization:o,reservation:e})}))})}sendReservationNotificationEmail(e,i){return n(this,void 0,void 0,function*(){const o=i.user,t=i.organization;o&&(console.log(`Sending reservation notification email to ${e.email}`),yield this.sendEmail({from:this.getFromAddress(t),to:[e.email],subject:`New Reservation Request | ${t.name}`,react:l({user:o,member:e,organization:t,reservation:i})}))})}sendReservationUpdatedEmail(e){return n(this,void 0,void 0,function*(){const i=e.user,o=e.organization;i?.email&&(console.log(`Sending reservation updated email to ${i.email}`),yield this.sendEmail({from:this.getFromAddress(o),to:[i.email],subject:`Reservation Updated - ${o.name}`,react:c({user:i,organization:o,reservation:e})}))})}}export{f as EmailService};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email.service.js","sourceRoot":"","sources":["../../../../../../packages/rest-api/src/core/notifications/email.service.ts"],"names":[],"mappings":";AACA,OAAO,EAAiD,MAAM,EAAE,MAAM,QAAQ,CAAC;AAE/E,OAAO,EAAE,sBAAsB,EAAE,MAAM,sDAAsD,CAAC;AAC9F,OAAO,sBAAsB,MAAM,sDAAsD,CAAC;AAC1F,OAAO,EAAE,4BAA4B,EAAE,MAAM,kEAAkE,CAAC;AAChH,OAAO,EAAE,4BAA4B,EAAE,MAAM,kEAAkE,CAAC;AAChH,OAAO,4BAA4B,MAAM,kEAAkE,CAAC;
|
|
1
|
+
{"version":3,"file":"email.service.js","sourceRoot":"","sources":["../../../../../../packages/rest-api/src/core/notifications/email.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { Organization, Reservation, User } from "../../../schemas";
|
|
3
|
+
interface EmailTemplateProps {
|
|
4
|
+
user: User;
|
|
5
|
+
organization: Organization;
|
|
6
|
+
reservation: Reservation;
|
|
7
|
+
}
|
|
8
|
+
declare const ReservationUpdatedEmail: React.FC<Readonly<EmailTemplateProps>>;
|
|
9
|
+
export default ReservationUpdatedEmail;
|
|
10
|
+
export { ReservationUpdatedEmail };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as e,jsxs as t}from"react/jsx-runtime";import{format as x}from"date-fns";import{Body as N,Column as d,Container as b,Head as k,Heading as v,Hr as A,Html as T,Img as r,Link as c,Preview as j,Row as n,Section as i,Tailwind as B,Text as a}from"../../../core/email/components";const u=({user:y,organization:l,reservation:s})=>{var m,o,h,g,p;const f=`Your reservation with ${l.name} has been updated`,w=x(new Date(s.date),"dd.MM.yyyy 'at' HH:mm");return t(T,{children:[e(k,{}),e(j,{children:f}),e(B,{children:t(N,{className:"bg-gray-50 font-sans",children:[t(b,{className:"bg-gray-50 p-6 max-w-[600px]",children:[e(i,{className:"mb-6",children:t(n,{children:[e(d,{className:"w-[80%]",children:e(r,{alt:`${l.name} logo`,height:"100",src:(m=l.logoFile)===null||m===void 0?void 0:m.url,className:"rounded-lg"})}),e(d,{align:"right",children:t(n,{align:"right",children:[e(d,{children:e(c,{href:"https://www.instagram.com/madrasbistro/",children:e(r,{alt:"Instagram",className:"mx-[4px]",height:"36",src:"https://react.email/static/instagram-logo.png",width:"36"})})}),e(d,{children:e(c,{href:"https://www.facebook.com/madrasBistro/",children:e(r,{alt:"Facebook",className:"mx-[4px]",height:"36",src:"https://react.email/static/facebook-logo.png",width:"36"})})})]})})]})}),t(i,{children:[t(v,{className:"text-3xl font-bold text-gray-800 mb-0",children:["Hi ",y.firstname,","]}),e(a,{className:"text-gray-600 mb-2 text-lg",children:"Your reservation details have been updated."})]})]}),t(b,{className:"mx-auto max-w-[600px] rounded-xl bg-white px-6",children:[e(i,{className:"mb-6",children:t(n,{children:[t(d,{className:"w-[60%]",children:[e(a,{className:"text-gray-500 mb-0",children:"Updated reservation details"}),t(a,{className:"font-semibold text-gray-800 my-0",children:[s.firstname," ",s.lastname]}),t(a,{className:"font-semibold text-gray-800 my-0",children:["Reference: ",s.referenceId]}),t(a,{className:"font-semibold text-gray-800 my-0",children:["Date and Time: ",w]}),t(a,{className:"font-semibold text-gray-800 my-0",children:["Number of Guests: ",s.guests]}),e(a,{className:"text-gray-500 mb-0",children:"Phone"}),e(a,{className:"font-semibold text-gray-800 my-0",children:s.phone})]}),e(d,{className:"w-[40%] p-0 mt-0",align:"right",valign:"top",children:e(a,{className:"text-gray-500 mb-0 pt-1",children:x(new Date,"dd.MM.yyyy")})})]})}),e(A,{className:"border-gray-200 mt-4"}),t(i,{className:"mb-6",children:[t(a,{className:"text-gray-700",children:["Your updated reservation is now scheduled with"," ",l.name,". If anything still needs to change, please contact us directly at ",l.phone,"."]}),e(a,{className:"text-gray-700",children:"We look forward to welcoming you."})]})]}),e(i,{className:"text-center bg-gray-50 py-5",children:t("table",{className:"w-full",children:[e("tr",{className:"w-full",children:e("td",{align:"center",children:((o=l.logoFile)===null||o===void 0?void 0:o.url)&&e(r,{alt:`${l.name} logo`,height:"100",src:l.logoFile.url,className:"rounded-lg"})})}),e("tr",{className:"w-full",children:t("td",{align:"center",children:[e(a,{className:"my-[8px] text-[16px] font-semibold text-xl pt-2 text-gray-900",children:l.name}),t(a,{className:"my-[8px] text-[16px] leading-[24px] text-gray-500",children:[(h=l.address)===null||h===void 0?void 0:h.addressLineOne,","," ",(g=l.address)===null||g===void 0?void 0:g.zipCode," ",(p=l.address)===null||p===void 0?void 0:p.city]}),e(a,{className:"mb-0 mt-[4px] text-[16px] leading-[24px] text-gray-500",children:l.phone})]})}),e("tr",{children:e("td",{align:"center",children:t(n,{className:"table-cell h-[44px] w-[56px] align-bottom pt-5",children:[e(d,{className:"pr-[8px]",children:e(c,{href:"https://www.facebook.com/madrasBistro/",children:e(r,{alt:"Facebook",height:"36",src:"https://react.email/static/facebook-logo.png",width:"36"})})}),e(d,{children:e(c,{href:"https://www.instagram.com/madrasbistro/",children:e(r,{alt:"Instagram",height:"36",src:"https://react.email/static/instagram-logo.png",width:"36"})})})]})})})]})})]})})]})},I={user:{id:"VD0OJ52f0mdAnm5YePP6BAW6hdbaCjAJ",name:"Abhishek Shaji",email:"kontakt@abhishek.pl",emailVerified:!0,image:"https://lh3.googleusercontent.com/a/ACg8ocKbkCAMTNvMizjXNxcm1aYtBiWnYpCYmU-7aE2Ft_M_uiHheZ5f=s96-c",createdAt:"2025-03-22T22:54:40.260Z",updatedAt:"2025-03-22T22:54:40.260Z",firstname:"Abhishek",lastname:"Shaji"},reservation:{id:"cm94wbpbm0000itx1iv9k2mqr",referenceId:"PH6LD6",firstname:"Abhishek",lastname:"Shaji",phone:"+48570135862",guests:6,date:new Date("2025-04-08T20:00:00.000Z"),createdAt:"2025-03-22T22:54:40.260Z",acceptedAt:"2025-03-22T23:00:23.456Z",cancelledAt:null},organization:{id:"cm8kthfdq0001lg03b59mdy7b",name:"Madras Bistro",phone:"+48570135862",email:"contact@madrasbistro.pl",createdAt:"2025-03-22T23:05:14.271Z",legalEntityId:null,address:{id:"cm8kthfdr0002lg0350ijialt",firstname:null,lastname:null,phone:null,addressLineOne:"Plac Bohater\xF3w Getta 2",doorNumber:null,addressLineTwo:"3",zipCode:"33-332",city:"Krak\xF3w",country:"PL",latitude:50.04647,longitude:19.95508,isDefault:!1,deliveryInstructions:null,placeId:"ChIJJ0oJ4wdbFkcRzM2QfH7O49o",createdAt:"2025-03-22T23:05:14.271Z",createdBy:null,updatedAt:"2025-03-22T23:05:14.271Z",updatedBy:null,deletedAt:null,deletedBy:null},configurationId:"cm8kthfdr0003lg03zmxz6v4j",logo:null,logoId:"cm8kthfdq0000lg0351daejow",updatedAt:"2025-03-22T23:05:14.271Z",updatedBy:null,deletedAt:null,deletedBy:null,slug:"madras-bistro"}};u.PreviewProps=I;export default u;export{u as ReservationUpdatedEmail};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reservation-updated.email.js","sourceRoot":"","sources":["../../../../../../../packages/rest-api/src/features/reservation/emails/reservation-updated.email.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__awaiter as s}from"tslib";import{createApiRouter as
|
|
1
|
+
import{__awaiter as s}from"tslib";import{createApiRouter as u}from"../../core/hono/hono";import{reservationRoute as d}from"./reservation.route";export const registerReservationHandlers=i=>{const n=u();return n.openapi(d.createReservation,e=>s(void 0,void 0,void 0,function*(){const o=e.get("auth"),t=e.req.valid("json"),a=e.req.valid("param");let r=null;try{r=yield o.getCurrentUser()}catch{}const v=yield i.createReservation(a.organizationId,r,t);return e.json(v,201)})),n.openapi(d.getMyReservations,e=>s(void 0,void 0,void 0,function*(){const o=e.get("auth"),t=e.req.valid("param"),a=e.req.valid("query"),r=yield o.getCurrentUser(),v=yield i.getMyReservations(r.id,t.organizationId,a);return e.json(v,200)})),n.openapi(d.getReservation,e=>s(void 0,void 0,void 0,function*(){const o=e.get("auth"),t=e.req.valid("param"),a=yield o.getCurrentUser(),r=yield i.getReservation(a,t.organizationId,t.reservationId);return e.json(r,200)})),n.openapi(d.getReservations,e=>s(void 0,void 0,void 0,function*(){const o=e.get("auth"),t=e.req.valid("param"),a=e.req.valid("query");yield o.isGranted("read");const r=yield i.getReservations(t.organizationId,a);return e.json(r,200)})),n.openapi(d.getUserReservations,e=>s(void 0,void 0,void 0,function*(){const o=e.get("auth"),t=e.req.valid("param");yield o.isGranted("read");const a=yield i.getUserReservations(t.userId,t.organizationId);return e.json(a,200)})),n.openapi(d.updateReservation,e=>s(void 0,void 0,void 0,function*(){const o=e.get("auth"),t=e.req.valid("param"),a=e.req.valid("json");yield o.isGranted("update");const r=yield i.updateReservation(t.organizationId,t.reservationId,a);return e.json(r,200)})),n.openapi(d.updateReservationStatus,e=>s(void 0,void 0,void 0,function*(){const o=e.get("auth"),t=e.req.valid("param");yield o.isGranted("update");const a=yield i.updateStatus(t.organizationId,t.reservationId,t.operation);return e.json(a,200)})),n.openapi(d.deleteReservation,e=>s(void 0,void 0,void 0,function*(){const o=e.get("auth"),t=e.req.valid("param");return yield o.isGranted("delete"),yield i.deleteReservation(t.organizationId,t.reservationId),e.body(null,204)})),n};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reservation.handler.js","sourceRoot":"","sources":["../../../../../../packages/rest-api/src/features/reservation/reservation.handler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"reservation.handler.js","sourceRoot":"","sources":["../../../../../../packages/rest-api/src/features/reservation/reservation.handler.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAGvD,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,OAA2B,EAAE,EAAE;IACzE,MAAM,GAAG,GAAG,eAAe,EAAE,CAAC;IAE9B,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,CAAO,CAAC,EAAE,EAAE;QAC1D,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC3B,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACjC,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAEpC,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,IAAI,CAAC;YACH,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QACrC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,qEAAqE;QACvE,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,iBAAiB,CACjD,MAAM,CAAC,cAAc,EACrB,IAAI,EACJ,IAAI,CACL,CAAC;QAEF,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IAClC,CAAC,CAAA,CAAC,CAAC;IAEH,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,CAAO,CAAC,EAAE,EAAE;QAC1D,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC3B,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACnC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAEzC,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAClD,IAAI,CAAC,EAAE,EACP,MAAM,CAAC,cAAc,EACrB,KAAK,CACN,CAAC;QAEF,OAAO,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;IACnC,CAAC,CAAA,CAAC,CAAC;IAEH,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,cAAc,EAAE,CAAO,CAAC,EAAE,EAAE;QACvD,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC3B,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAEzC,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,cAAc,CAC9C,IAAI,EACJ,MAAM,CAAC,cAAc,EACrB,MAAM,CAAC,aAAa,CACrB,CAAC;QAEF,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IAClC,CAAC,CAAA,CAAC,CAAC;IAEH,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,eAAe,EAAE,CAAO,CAAC,EAAE,EAAE;QACxD,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC3B,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAEnC,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAE7B,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,eAAe,CAChD,MAAM,CAAC,cAAc,EACrB,KAAK,CACN,CAAC;QAEF,OAAO,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;IACnC,CAAC,CAAA,CAAC,CAAC;IAEH,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,CAAO,CAAC,EAAE,EAAE;QAC5D,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC3B,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAEpC,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAE7B,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,mBAAmB,CACpD,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,cAAc,CACtB,CAAC;QAEF,OAAO,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;IACnC,CAAC,CAAA,CAAC,CAAC;IAEH,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,CAAO,CAAC,EAAE,EAAE;QAC1D,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC3B,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAEjC,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAE/B,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,iBAAiB,CACjD,MAAM,CAAC,cAAc,EACrB,MAAM,CAAC,aAAa,EACpB,IAAI,CACL,CAAC;QAEF,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IAClC,CAAC,CAAA,CAAC,CAAC;IAEH,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,uBAAuB,EAAE,CAAO,CAAC,EAAE,EAAE;QAChE,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC3B,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAEpC,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAE/B,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,YAAY,CAC5C,MAAM,CAAC,cAAc,EACrB,MAAM,CAAC,aAAa,EACpB,MAAM,CAAC,SAAS,CACjB,CAAC;QAEF,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IAClC,CAAC,CAAA,CAAC,CAAC;IAEH,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,CAAO,CAAC,EAAE,EAAE;QAC1D,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC3B,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAEpC,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAE/B,MAAM,OAAO,CAAC,iBAAiB,CAC7B,MAAM,CAAC,cAAc,EACrB,MAAM,CAAC,aAAa,CACrB,CAAC;QAEF,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC3B,CAAC,CAAA,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACb,CAAC,CAAC"}
|
|
@@ -310,6 +310,8 @@ export declare const reservationRoute: {
|
|
|
310
310
|
ji: "ji";
|
|
311
311
|
zu: "zu";
|
|
312
312
|
}>>;
|
|
313
|
+
from: z.ZodOptional<z.ZodCoercedDate<unknown>>;
|
|
314
|
+
to: z.ZodOptional<z.ZodCoercedDate<unknown>>;
|
|
313
315
|
}, z.core.$strip>;
|
|
314
316
|
};
|
|
315
317
|
responses: {
|
|
@@ -675,6 +677,106 @@ export declare const reservationRoute: {
|
|
|
675
677
|
} & {
|
|
676
678
|
getRoutingPath(): string;
|
|
677
679
|
};
|
|
680
|
+
updateReservation: {
|
|
681
|
+
description: string | undefined;
|
|
682
|
+
method: import("@hono/zod-openapi").RouteConfig["method"];
|
|
683
|
+
operationId: string;
|
|
684
|
+
path: string;
|
|
685
|
+
request: {
|
|
686
|
+
body: {
|
|
687
|
+
content: {
|
|
688
|
+
"application/json": {
|
|
689
|
+
schema: z.ZodObject<{
|
|
690
|
+
date: z.ZodPipe<z.ZodAny, z.ZodTransform<Date, any>>;
|
|
691
|
+
guests: z.ZodPipe<z.ZodAny, z.ZodTransform<number, any>>;
|
|
692
|
+
firstname: z.ZodPipe<z.ZodAny, z.ZodTransform<string, any>>;
|
|
693
|
+
lastname: z.ZodPipe<z.ZodAny, z.ZodTransform<string, any>>;
|
|
694
|
+
}, z.core.$strip>;
|
|
695
|
+
};
|
|
696
|
+
};
|
|
697
|
+
required: boolean;
|
|
698
|
+
};
|
|
699
|
+
} & {
|
|
700
|
+
headers: z.ZodObject<{
|
|
701
|
+
"accept-language": z.ZodOptional<z.ZodString>;
|
|
702
|
+
cookie: z.ZodOptional<z.ZodString>;
|
|
703
|
+
}, z.core.$strip>;
|
|
704
|
+
} & {
|
|
705
|
+
params: z.ZodObject<{
|
|
706
|
+
organizationId: z.ZodString;
|
|
707
|
+
reservationId: z.ZodString;
|
|
708
|
+
}, z.core.$strip>;
|
|
709
|
+
} & Record<never, never>;
|
|
710
|
+
responses: {
|
|
711
|
+
200: {
|
|
712
|
+
content: {
|
|
713
|
+
"application/json": {
|
|
714
|
+
schema: z.ZodObject<{
|
|
715
|
+
id: z.ZodString;
|
|
716
|
+
firstname: z.ZodString;
|
|
717
|
+
lastname: z.ZodString;
|
|
718
|
+
guests: z.ZodCoercedNumber<unknown>;
|
|
719
|
+
phone: z.ZodString;
|
|
720
|
+
date: z.ZodCoercedDate<unknown>;
|
|
721
|
+
referenceId: z.ZodString;
|
|
722
|
+
acceptedAt: z.ZodOptional<z.ZodNullable<z.ZodDate>>;
|
|
723
|
+
cancelledAt: z.ZodOptional<z.ZodNullable<z.ZodDate>>;
|
|
724
|
+
createdAt: z.ZodOptional<z.ZodNullable<z.ZodDate>>;
|
|
725
|
+
}, z.core.$strip>;
|
|
726
|
+
};
|
|
727
|
+
};
|
|
728
|
+
description: string;
|
|
729
|
+
};
|
|
730
|
+
400: {
|
|
731
|
+
content: {
|
|
732
|
+
"application/json": {
|
|
733
|
+
schema: z.ZodObject<{
|
|
734
|
+
status: z.ZodNumber;
|
|
735
|
+
message: z.ZodString;
|
|
736
|
+
}, z.core.$strip>;
|
|
737
|
+
};
|
|
738
|
+
};
|
|
739
|
+
description: string;
|
|
740
|
+
};
|
|
741
|
+
401: {
|
|
742
|
+
content: {
|
|
743
|
+
"application/json": {
|
|
744
|
+
schema: z.ZodObject<{
|
|
745
|
+
status: z.ZodNumber;
|
|
746
|
+
message: z.ZodString;
|
|
747
|
+
}, z.core.$strip>;
|
|
748
|
+
};
|
|
749
|
+
};
|
|
750
|
+
description: string;
|
|
751
|
+
};
|
|
752
|
+
404: {
|
|
753
|
+
content: {
|
|
754
|
+
"application/json": {
|
|
755
|
+
schema: z.ZodObject<{
|
|
756
|
+
status: z.ZodNumber;
|
|
757
|
+
message: z.ZodString;
|
|
758
|
+
}, z.core.$strip>;
|
|
759
|
+
};
|
|
760
|
+
};
|
|
761
|
+
description: string;
|
|
762
|
+
};
|
|
763
|
+
500: {
|
|
764
|
+
content: {
|
|
765
|
+
"application/json": {
|
|
766
|
+
schema: z.ZodObject<{
|
|
767
|
+
status: z.ZodNumber;
|
|
768
|
+
message: z.ZodString;
|
|
769
|
+
}, z.core.$strip>;
|
|
770
|
+
};
|
|
771
|
+
};
|
|
772
|
+
description: string;
|
|
773
|
+
};
|
|
774
|
+
};
|
|
775
|
+
summary: string;
|
|
776
|
+
tags: string[];
|
|
777
|
+
} & {
|
|
778
|
+
getRoutingPath(): string;
|
|
779
|
+
};
|
|
678
780
|
updateReservationStatus: {
|
|
679
781
|
description: string | undefined;
|
|
680
782
|
method: import("@hono/zod-openapi").RouteConfig["method"];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{z as a}from"@hono/zod-openapi";import{createApiRoute as t}from"../../core/hono/hono";import{CreateReservationSchema as
|
|
1
|
+
import{z as a}from"@hono/zod-openapi";import{createApiRoute as t}from"../../core/hono/hono";import{CreateReservationSchema as p,ErrorSchema as e,HeaderSchema as r,OrganizationParams as n,PaginationMetaSchema as i,PaginationQuerySchema as d,ReservationListQuerySchema as v,ReservationSchema as o,UpdateReservationSchema as m}from"../../schemas";const s=a.object({organizationId:a.string().openapi({description:"Organization ID",example:"clj1234567890abcdef",param:{in:"path",name:"organizationId"}}),reservationId:a.string().openapi({description:"Reservation ID",example:"clj1234567890abcdef",param:{in:"path",name:"reservationId"}})}),c=a.object({organizationId:a.string().openapi({description:"Organization ID",example:"clj1234567890abcdef",param:{in:"path",name:"organizationId"}}),userId:a.string().openapi({description:"User ID",example:"clj1234567890abcdef",param:{in:"path",name:"userId"}})}),R=s.extend({operation:a.enum(["accept","cancel"]).openapi({description:"Operation",example:"accept",param:{in:"path",name:"operation"}})}),h=t({body:p,description:"Create a new reservation",headers:r,method:"POST",operationId:"createReservation",path:"/:organizationId/reservations",pathParams:n,responses:{201:o,400:e,401:e,500:e},summary:"Create Reservation",tags:["Reservation"]}),u=t({description:"Get a specific reservation by ID",headers:r,method:"GET",operationId:"getReservation",path:"/:organizationId/reservations/:reservationId",pathParams:s,responses:{200:o,400:e,401:e,404:e,500:e},summary:"Get Reservation",tags:["Reservation"]}),g=t({description:"Get all reservations for an organization",headers:r,method:"GET",operationId:"getReservations",path:"/:organizationId/reservations",pathParams:n,query:v,responses:{200:a.object({list:a.array(o),meta:i}),400:e,401:e,500:e},summary:"Get Reservations",tags:["Reservation"]}),I=t({description:"Get paginated reservations for the authenticated user",headers:r,method:"GET",operationId:"getMyReservations",path:"/:organizationId/reservations/me",pathParams:n,query:d,responses:{200:a.object({list:a.array(o),meta:i}),400:e,401:e,500:e},summary:"Get My Reservations",tags:["Reservation"]}),l=t({description:"Get all reservations for a user",headers:r,method:"GET",operationId:"getUserReservations",path:"/:organizationId/reservations/user/:userId",pathParams:c,responses:{200:a.array(o),400:e,401:e,404:e,500:e},summary:"Get User Reservations",tags:["Reservation"]}),y=t({body:m,description:"Update an existing reservation",headers:r,method:"PATCH",operationId:"updateReservation",path:"/:organizationId/reservations/:reservationId",pathParams:s,responses:{200:o,400:e,401:e,404:e,500:e},summary:"Update Reservation",tags:["Reservation"]}),b=t({body:a.object({}).optional(),bodyRequired:!1,description:"Update the status of a reservation",headers:r,method:"PATCH",operationId:"updateReservationStatus",path:"/:organizationId/reservations/:reservationId/:operation",pathParams:R,responses:{200:o,400:e,401:e,404:e,500:e},summary:"Update Reservation Status",tags:["Reservation"]}),z=t({body:a.object({}).optional(),bodyRequired:!1,description:"Delete a reservation",headers:r,method:"DELETE",operationId:"deleteReservation",path:"/:organizationId/reservations/:reservationId",pathParams:s,responses:{204:null,400:e,401:e,404:e,500:e},summary:"Delete Reservation",tags:["Reservation"]});export const reservationRoute={createReservation:h,getReservation:u,getReservations:g,getMyReservations:I,getUserReservations:l,updateReservation:y,updateReservationStatus:b,deleteReservation:z};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reservation.route.js","sourceRoot":"","sources":["../../../../../../packages/rest-api/src/features/reservation/reservation.route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,mBAAmB,CAAC;AAEtC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EACL,uBAAuB,EACvB,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,
|
|
1
|
+
{"version":3,"file":"reservation.route.js","sourceRoot":"","sources":["../../../../../../packages/rest-api/src/features/reservation/reservation.route.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,5 +18,136 @@ export declare const CreateReservationSchema: z.ZodObject<{
|
|
|
18
18
|
phone: z.ZodPipe<z.ZodAny, z.ZodTransform<string, any>>;
|
|
19
19
|
date: z.ZodPipe<z.ZodAny, z.ZodTransform<Date, any>>;
|
|
20
20
|
}, z.core.$strip>;
|
|
21
|
+
export declare const UpdateReservationSchema: z.ZodObject<{
|
|
22
|
+
date: z.ZodPipe<z.ZodAny, z.ZodTransform<Date, any>>;
|
|
23
|
+
guests: z.ZodPipe<z.ZodAny, z.ZodTransform<number, any>>;
|
|
24
|
+
firstname: z.ZodPipe<z.ZodAny, z.ZodTransform<string, any>>;
|
|
25
|
+
lastname: z.ZodPipe<z.ZodAny, z.ZodTransform<string, any>>;
|
|
26
|
+
}, z.core.$strip>;
|
|
27
|
+
export declare const ReservationListQuerySchema: z.ZodObject<{
|
|
28
|
+
page: z.ZodDefault<z.ZodOptional<z.ZodCoercedNumber<unknown>>>;
|
|
29
|
+
limit: z.ZodDefault<z.ZodOptional<z.ZodCoercedNumber<unknown>>>;
|
|
30
|
+
search: z.ZodOptional<z.ZodString>;
|
|
31
|
+
published: z.ZodOptional<z.ZodCoercedBoolean<unknown>>;
|
|
32
|
+
locale: z.ZodOptional<z.ZodEnum<{
|
|
33
|
+
id: "id";
|
|
34
|
+
af: "af";
|
|
35
|
+
sq: "sq";
|
|
36
|
+
ar_dz: "ar_dz";
|
|
37
|
+
ar_bh: "ar_bh";
|
|
38
|
+
ar_eg: "ar_eg";
|
|
39
|
+
ar_iq: "ar_iq";
|
|
40
|
+
ar_jo: "ar_jo";
|
|
41
|
+
ar_kw: "ar_kw";
|
|
42
|
+
ar_lb: "ar_lb";
|
|
43
|
+
ar_ly: "ar_ly";
|
|
44
|
+
ar_ma: "ar_ma";
|
|
45
|
+
ar_om: "ar_om";
|
|
46
|
+
ar_qa: "ar_qa";
|
|
47
|
+
ar_sa: "ar_sa";
|
|
48
|
+
ar_sy: "ar_sy";
|
|
49
|
+
ar_tn: "ar_tn";
|
|
50
|
+
ar_ae: "ar_ae";
|
|
51
|
+
ar_ye: "ar_ye";
|
|
52
|
+
eu: "eu";
|
|
53
|
+
be: "be";
|
|
54
|
+
bg: "bg";
|
|
55
|
+
ca: "ca";
|
|
56
|
+
zh_hk: "zh_hk";
|
|
57
|
+
zh_cn: "zh_cn";
|
|
58
|
+
zh_sg: "zh_sg";
|
|
59
|
+
zh_tw: "zh_tw";
|
|
60
|
+
hr: "hr";
|
|
61
|
+
cs: "cs";
|
|
62
|
+
da: "da";
|
|
63
|
+
nl_be: "nl_be";
|
|
64
|
+
nl: "nl";
|
|
65
|
+
en: "en";
|
|
66
|
+
en_au: "en_au";
|
|
67
|
+
en_bz: "en_bz";
|
|
68
|
+
en_ca: "en_ca";
|
|
69
|
+
en_ie: "en_ie";
|
|
70
|
+
en_jm: "en_jm";
|
|
71
|
+
en_nz: "en_nz";
|
|
72
|
+
en_za: "en_za";
|
|
73
|
+
en_tt: "en_tt";
|
|
74
|
+
en_gb: "en_gb";
|
|
75
|
+
en_us: "en_us";
|
|
76
|
+
et: "et";
|
|
77
|
+
fo: "fo";
|
|
78
|
+
fa: "fa";
|
|
79
|
+
fi: "fi";
|
|
80
|
+
fr_be: "fr_be";
|
|
81
|
+
fr_ca: "fr_ca";
|
|
82
|
+
fr_lu: "fr_lu";
|
|
83
|
+
fr: "fr";
|
|
84
|
+
fr_ch: "fr_ch";
|
|
85
|
+
gd: "gd";
|
|
86
|
+
de_at: "de_at";
|
|
87
|
+
de_li: "de_li";
|
|
88
|
+
de_lu: "de_lu";
|
|
89
|
+
de: "de";
|
|
90
|
+
de_ch: "de_ch";
|
|
91
|
+
el: "el";
|
|
92
|
+
he: "he";
|
|
93
|
+
hi: "hi";
|
|
94
|
+
hu: "hu";
|
|
95
|
+
is: "is";
|
|
96
|
+
ga: "ga";
|
|
97
|
+
it: "it";
|
|
98
|
+
it_ch: "it_ch";
|
|
99
|
+
ja: "ja";
|
|
100
|
+
ko: "ko";
|
|
101
|
+
ku: "ku";
|
|
102
|
+
lv: "lv";
|
|
103
|
+
lt: "lt";
|
|
104
|
+
mk: "mk";
|
|
105
|
+
ml: "ml";
|
|
106
|
+
ms: "ms";
|
|
107
|
+
mt: "mt";
|
|
108
|
+
no: "no";
|
|
109
|
+
nb: "nb";
|
|
110
|
+
nn: "nn";
|
|
111
|
+
pl: "pl";
|
|
112
|
+
pt_br: "pt_br";
|
|
113
|
+
pt: "pt";
|
|
114
|
+
pa: "pa";
|
|
115
|
+
rm: "rm";
|
|
116
|
+
ro: "ro";
|
|
117
|
+
ro_md: "ro_md";
|
|
118
|
+
ru: "ru";
|
|
119
|
+
ru_md: "ru_md";
|
|
120
|
+
sr: "sr";
|
|
121
|
+
sk: "sk";
|
|
122
|
+
sl: "sl";
|
|
123
|
+
sb: "sb";
|
|
124
|
+
es_ar: "es_ar";
|
|
125
|
+
es_bo: "es_bo";
|
|
126
|
+
es_cl: "es_cl";
|
|
127
|
+
es_co: "es_co";
|
|
128
|
+
es_cr: "es_cr";
|
|
129
|
+
es_do: "es_do";
|
|
130
|
+
es_ec: "es_ec";
|
|
131
|
+
es_sv: "es_sv";
|
|
132
|
+
es_gt: "es_gt";
|
|
133
|
+
es_hn: "es_hn";
|
|
134
|
+
es_mx: "es_mx";
|
|
135
|
+
es: "es";
|
|
136
|
+
sv: "sv";
|
|
137
|
+
sv_fi: "sv_fi";
|
|
138
|
+
th: "th";
|
|
139
|
+
tr: "tr";
|
|
140
|
+
uk: "uk";
|
|
141
|
+
ur: "ur";
|
|
142
|
+
vi: "vi";
|
|
143
|
+
cy: "cy";
|
|
144
|
+
ji: "ji";
|
|
145
|
+
zu: "zu";
|
|
146
|
+
}>>;
|
|
147
|
+
from: z.ZodOptional<z.ZodCoercedDate<unknown>>;
|
|
148
|
+
to: z.ZodOptional<z.ZodCoercedDate<unknown>>;
|
|
149
|
+
}, z.core.$strip>;
|
|
21
150
|
export type Reservation = z.infer<typeof ReservationSchema>;
|
|
22
151
|
export type CreateReservation = z.infer<typeof CreateReservationSchema>;
|
|
152
|
+
export type UpdateReservation = z.infer<typeof UpdateReservationSchema>;
|
|
153
|
+
export type ReservationListQuery = z.infer<typeof ReservationListQuerySchema>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{z as t}from"@hono/zod-openapi";import{requiredNumber as a}from"../../schemas/number.schema";const
|
|
1
|
+
import{z as t}from"@hono/zod-openapi";import{requiredNumber as a}from"../../schemas/number.schema";import{PaginationQuerySchema as i}from"../../schemas/pagination.schema";const n=e=>t.any().transform(r=>typeof r=="string"?r.trim():"").refine(r=>r.length>0,{message:`${e} is required`}),o=t.any().transform(e=>e==null||e===""?Number.NaN:Number(e)).refine(e=>Number.isFinite(e)&&e>0,{message:"Number of guests is required"}),s=t.any().refine(e=>e!=null&&e!=="",{message:"Reservation date is required"}).transform(e=>new Date(e)).refine(e=>!Number.isNaN(e.getTime()),{message:"Reservation date is required"});export const ReservationSchema=t.object({id:t.string().openapi({description:"Unique identifier for the order",example:"clj1234567890abcdef"}),firstname:t.string().openapi({description:"Customer's first name",example:"John"}),lastname:t.string().openapi({description:"Customer's last name",example:"Doe"}),guests:a,phone:t.string().openapi({description:"Customer's phone number",example:"+1234567890"}),date:t.coerce.date().openapi({description:"Reservation date and time",example:"2023-06-14T16:20:00Z"}),referenceId:t.string().openapi({description:"External reference ID for the order",example:"ORD-12345"}),acceptedAt:t.date().nullable().optional().openapi({description:"Date when the order was accepted",example:"2023-06-15T14:30:00Z"}),cancelledAt:t.date().nullable().optional().openapi({description:"Date when the order was cancelled",example:"2023-06-14T16:20:00Z"}),createdAt:t.date().nullable().optional().openapi({description:"Date when the order was created",example:"2023-06-14T16:20:00Z"})}).openapi("Reservation"),CreateReservationSchema=ReservationSchema.pick({firstname:!0,lastname:!0,guests:!0,phone:!0,date:!0}).extend({firstname:n("First name").openapi({description:"Customer's first name",example:"John"}),lastname:n("Last name").openapi({description:"Customer's last name",example:"Doe"}),guests:o.openapi({description:"Number of guests included in the reservation",example:2}),phone:n("Phone number").openapi({description:"Customer's phone number",example:"+1234567890"}),date:s.openapi({description:"Reservation date and time",example:"2023-06-14T16:20:00Z"})}).openapi("CreateReservation"),UpdateReservationSchema=CreateReservationSchema.pick({firstname:!0,lastname:!0,guests:!0,date:!0}).openapi("UpdateReservation"),ReservationListQuerySchema=i.extend({from:t.coerce.date().optional().openapi({description:"Filter reservations scheduled from this date and time",example:"2026-03-01T00:00:00.000Z"}),to:t.coerce.date().optional().openapi({description:"Filter reservations scheduled up to this date and time",example:"2026-03-31T23:59:59.999Z"})}).openapi("ReservationListQuery");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reservation.schema.js","sourceRoot":"","sources":["../../../../../../packages/rest-api/src/features/reservation/reservation.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,mBAAmB,CAAC;AAEtC,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"reservation.schema.js","sourceRoot":"","sources":["../../../../../../packages/rest-api/src/features/reservation/reservation.schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { z } from "@hono/zod-openapi";
|
|
2
2
|
import { PrismaClientType } from "../../core/lib/prisma";
|
|
3
|
-
import { CreateReservationSchema, User } from "../../schemas";
|
|
3
|
+
import { CreateReservationSchema, ReservationListQuery, UpdateReservationSchema, User } from "../../schemas";
|
|
4
4
|
import { IntegrationRegistry } from "../integration/integration-registry";
|
|
5
5
|
declare class ReservationService {
|
|
6
6
|
private readonly prisma;
|
|
@@ -41,12 +41,7 @@ declare class ReservationService {
|
|
|
41
41
|
/**
|
|
42
42
|
* Get all reservations for an organization
|
|
43
43
|
*/
|
|
44
|
-
getReservations(organizationId: string, query: {
|
|
45
|
-
page?: number;
|
|
46
|
-
limit?: number;
|
|
47
|
-
search?: string;
|
|
48
|
-
locale?: string | null;
|
|
49
|
-
}): Promise<{
|
|
44
|
+
getReservations(organizationId: string, query: ReservationListQuery): Promise<{
|
|
50
45
|
meta: {
|
|
51
46
|
isFirstPage: boolean;
|
|
52
47
|
isLastPage: boolean;
|
|
@@ -111,6 +106,21 @@ declare class ReservationService {
|
|
|
111
106
|
cancelledAt?: Date | null | undefined;
|
|
112
107
|
createdAt?: Date | null | undefined;
|
|
113
108
|
}[]>;
|
|
109
|
+
/**
|
|
110
|
+
* Update an existing reservation
|
|
111
|
+
*/
|
|
112
|
+
updateReservation(organizationId: string, reservationId: string, body: z.infer<typeof UpdateReservationSchema>): Promise<{
|
|
113
|
+
id: string;
|
|
114
|
+
firstname: string;
|
|
115
|
+
lastname: string;
|
|
116
|
+
guests: number;
|
|
117
|
+
phone: string;
|
|
118
|
+
date: Date;
|
|
119
|
+
referenceId: string;
|
|
120
|
+
acceptedAt?: Date | null | undefined;
|
|
121
|
+
cancelledAt?: Date | null | undefined;
|
|
122
|
+
createdAt?: Date | null | undefined;
|
|
123
|
+
}>;
|
|
114
124
|
/**
|
|
115
125
|
* Update reservation status
|
|
116
126
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__awaiter as o}from"tslib";import{z as
|
|
1
|
+
import{__awaiter as o}from"tslib";import{z as l}from"@hono/zod-openapi";import{customAlphabet as f}from"nanoid";import{HttpException as d}from"../../core/exceptions/http-exception";import{EmailService as h}from"../../core/notifications/email.service";import{PaginationMetaSchema as v,ReservationSchema as c}from"../../schemas";import{getStoredResendConfig as g}from"../integration/integration-config";const p=f("1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ",6);class w{constructor(i,t){this.prisma=i,this.integrationRegistry=t,this.emailServices=new Map}getEmailService(i){return o(this,void 0,void 0,function*(){var t;const e=g(yield this.integrationRegistry.get(i,"resend")),s=JSON.stringify(e??null),r=this.emailServices.get(i);if(r?.signature===s)return(t=r.service)!==null&&t!==void 0?t:void 0;const n=e?.apiKey?new h({apiKey:e.apiKey,fromEmail:e.fromEmail}):null;return this.emailServices.set(i,{service:n,signature:s}),n??void 0})}createReservation(i,t,e){return o(this,void 0,void 0,function*(){var s;const r=yield this.prisma.organization.findFirst({where:{id:i},include:{configuration:!0}});if(!r)throw new d(404,"Organization not found");if(!(!((s=r.configuration)===null||s===void 0)&&s.isAcceptingReservations))throw new d(400,"This organization is not accepting reservations at the moment");const n=yield this.prisma.reservation.create({data:Object.assign({referenceId:p(),firstname:e.firstname,lastname:e.lastname,guests:e.guests,phone:e.phone,date:e.date,organization:{connect:{id:i}}},t?{user:{connect:{id:t.id}}}:{}),include:{organization:{include:{address:!0,configuration:!0,logoFile:!0,members:{include:{user:!0}}}},user:!0}}),a=yield this.getEmailService(i);for(const u of n.organization.members)yield a?.sendReservationNotificationEmail(u.user,n);return c.parse(n)})}getReservation(i,t,e){return o(this,void 0,void 0,function*(){const s=yield this.prisma.reservation.findUnique({where:{id:e,organizationId:t,user:{id:i.id}}});if(!s)throw new d(404,"Reservation not found");return c.parse(s)})}getReservations(i,t){return o(this,void 0,void 0,function*(){const{page:e=1,limit:s=10,search:r,from:n,to:a}=t,[u,m]=yield this.prisma.reservation.paginate({orderBy:{createdAt:"desc"},where:Object.assign(Object.assign({organizationId:i},n||a?{date:Object.assign(Object.assign({},n?{gte:n}:{}),a?{lte:a}:{})}:{}),r&&{OR:[{firstname:{contains:r,mode:"insensitive"}},{lastname:{contains:r,mode:"insensitive"}},{referenceId:{contains:r,mode:"insensitive"}}]}),include:{user:!0}}).withPages({page:e,limit:s});return l.object({meta:v,list:l.array(c)}).parse({meta:m,list:u})})}getMyReservations(i,t,e){return o(this,void 0,void 0,function*(){const{page:s=1,limit:r=10,search:n}=e,[a,u]=yield this.prisma.reservation.paginate({orderBy:{createdAt:"desc"},where:Object.assign({organizationId:t,userId:i},n&&{referenceId:{contains:n,mode:"insensitive"}})}).withPages({page:s,limit:r});return l.object({meta:v,list:l.array(c)}).parse({meta:u,list:a})})}getUserReservations(i,t){return o(this,void 0,void 0,function*(){const e=yield this.prisma.reservation.findMany({where:{organizationId:t,userId:i}});return l.array(c).parse(e)})}updateReservation(i,t,e){return o(this,void 0,void 0,function*(){const s=yield this.prisma.reservation.findUnique({where:{id:t,organizationId:i}});if(!s)throw new d(404,"Reservation not found");if(s.cancelledAt)throw new d(400,"Cancelled reservations cannot be edited");const r=yield this.prisma.reservation.update({where:{id:t},data:{firstname:e.firstname,lastname:e.lastname,guests:e.guests,date:e.date},include:{organization:{include:{address:!0,configuration:!0,logoFile:!0,members:{include:{user:!0}}}},user:!0}}),n=yield this.getEmailService(i);return yield n?.sendReservationUpdatedEmail(r),c.parse(r)})}updateStatus(i,t,e){return o(this,void 0,void 0,function*(){if(!(yield this.prisma.reservation.findUnique({where:{id:t,organizationId:i}})))throw new d(404,"Reservation not found");let r={};switch(e){case"accept":r={acceptedAt:new Date};break;case"cancel":r={cancelledAt:new Date};break}const n=yield this.prisma.reservation.update({where:{id:t},data:r,include:{organization:{include:{address:!0,configuration:!0,logoFile:!0,members:{include:{user:!0}}}},user:!0}}),a=yield this.getEmailService(i);return e==="cancel"&&(yield a?.sendReservationCancellationEmail(n)),e==="accept"&&(yield a?.sendReservationConfirmationEmail(n)),c.parse(n)})}deleteReservation(i,t){return o(this,void 0,void 0,function*(){if(!(yield this.prisma.reservation.findUnique({where:{id:t,organizationId:i}})))throw new d(404,"Reservation not found");yield this.prisma.reservation.delete({where:{id:t}})})}}export{w as ReservationService};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reservation.service.js","sourceRoot":"","sources":["../../../../../../packages/rest-api/src/features/reservation/reservation.service.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,mBAAmB,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAExC,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAErE,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAC;AACtE,OAAO,EAEL,oBAAoB,
|
|
1
|
+
{"version":3,"file":"reservation.service.js","sourceRoot":"","sources":["../../../../../../packages/rest-api/src/features/reservation/reservation.service.ts"],"names":[],"mappings":"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"}
|