error TS2305: Module '"@inbaltickets/common"' has no exported member 'OrderStatus'

11 Views Asked by At

i have shared library called common, in my shared library i have index.ts:

export * from './errors/bad-request-error';
export * from './errors/custom-error';
export * from './errors/data-base-connection-error';
export * from './errors/not-authorized-error';
export * from './errors/not-found-error';
export * from './errors/request-validation-error';

export * from './middlewares/current-user';
export * from './middlewares/error-handler';
export * from './middlewares/require-auth';
export * from './middlewares/validate-request';

export * from './events/base-listener';
export * from './events/base-publisher';
export * from './events/subjects';
export * from './events/ticket-created-event';
export * from './events/ticket-updated-event';
export * from './events/types/order-status';
export * from './events/order-created-event';
export * from './events/order-cancelled-event';

in './events/types/order-status' there is:

export declare enum OrderStatus {
  Created = 'created', 
  Cancelled = 'cancelled', 
  AwaitingPayment = 'awaiting:payment', 
  Complete = 'complete' 
}

i import this package to another project, in the project i have order model:

import mongoose from "mongoose";
import { TicketDoc } from "./ticket";
import { OrderStatus } from '@inbaltickets/common'

export { OrderStatus };

interface OrderAttrs {
  userId: string;
  status: OrderStatus;
  expiresAt: Date;
  ticket: TicketDoc;
}

interface OrderDoc extends mongoose.Document{
  userId: string;
  status: OrderStatus;
  expiresAt: Date;
  ticket: TicketDoc;
}

interface OrderModel extends mongoose.Model<OrderDoc>{
  build(attrs: OrderAttrs): OrderDoc;
}

const orderSchema = new mongoose.Schema({
  userId:{
    type: String,
    required: true
  },
  status:{
    type: String,
    required: true,
    enum: Object.values(OrderStatus),
    default: OrderStatus.Created
  },
  expiresAt:{
    type: mongoose.Schema.Types.Date
  },
  ticket:{
    type: mongoose.Schema.Types.ObjectId,
    ref: 'Ticket'
  }
},{
  toJSON: {
    transform(doc, ret) {
      ret.id = ret._id;
      delete ret._id;
    }
  }
});

orderSchema.statics.build = (attrs: OrderAttrs) => {
  return new Order(attrs);
};

const Order = mongoose.model<OrderDoc, OrderModel>('Order', orderSchema);

export { Order };

when i tried to compile the project through skaffold it give me this error: error TS2305: Module '"@inbaltickets/common"' has no exported member 'OrderStatus'.

how can i solve it?

0

There are 0 best solutions below