db

package
v0.0.0-...-ef3362d Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 12, 2024 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

View Source
const MongoDbEnvName = "MONGO_DB_NAME"
View Source
const (
	Usercoll = "users"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type BookingStore

type BookingStore interface {
	InsertBooking(context.Context, *types.Booking) (*types.Booking, error)
	GetBookings(context.Context, bson.M) ([]*types.Booking, error)
	GetBookingsByID(context.Context, primitive.ObjectID) (*types.Booking, error)
	UpdateBooking(context.Context, string, bson.M) error
}

type Dropper

type Dropper interface {
	Drop(context.Context) error
}

type HotelStore

type HotelStore interface {
	InsertHotel(context.Context, *types.Hotel) (*types.Hotel, error)
	UpdateHotels(context.Context, bson.M, bson.M) error
	GetHotels(context.Context, bson.M) ([]*types.Hotel, error)
	GetHotelByID(context.Context, primitive.ObjectID) (*types.Hotel, error)
}

type MongoBookingStore

type MongoBookingStore struct {
	BookingStore
	// contains filtered or unexported fields
}

func NewMongoBookingStore

func NewMongoBookingStore(client *mongo.Client) *MongoBookingStore

func (*MongoBookingStore) GetBookings

func (s *MongoBookingStore) GetBookings(ctx context.Context, filter bson.M) ([]*types.Booking, error)

func (*MongoBookingStore) GetBookingsByID

func (s *MongoBookingStore) GetBookingsByID(ctx context.Context, id primitive.ObjectID) (*types.Booking, error)

func (*MongoBookingStore) InsertBooking

func (s *MongoBookingStore) InsertBooking(ctx context.Context, booking *types.Booking) (*types.Booking, error)

func (*MongoBookingStore) UpdateBooking

func (s *MongoBookingStore) UpdateBooking(ctx context.Context, id string, update bson.M) error

type MongoHotelStore

type MongoHotelStore struct {
	// contains filtered or unexported fields
}

func NewMongoHotelStore

func NewMongoHotelStore(client *mongo.Client) *MongoHotelStore

func (*MongoHotelStore) GetHotelByID

func (s *MongoHotelStore) GetHotelByID(ctx context.Context, id primitive.ObjectID) (*types.Hotel, error)

func (*MongoHotelStore) GetHotels

func (s *MongoHotelStore) GetHotels(ctx context.Context, filter bson.M) ([]*types.Hotel, error)

func (*MongoHotelStore) InsertHotel

func (s *MongoHotelStore) InsertHotel(ctx context.Context, hotel *types.Hotel) (*types.Hotel, error)

func (*MongoHotelStore) UpdateHotels

func (s *MongoHotelStore) UpdateHotels(ctx context.Context, filter bson.M, update bson.M) error

type MongoRoomStore

type MongoRoomStore struct {
	HotelStore *MongoHotelStore // Embed an instance of MongoHotelStore
	// contains filtered or unexported fields
}

func NewMongoRoomStore

func NewMongoRoomStore(client *mongo.Client, hotelStore *MongoHotelStore) *MongoRoomStore

func (*MongoRoomStore) GetRooms

func (s *MongoRoomStore) GetRooms(ctx context.Context, filter bson.M) ([]*types.Room, error)

func (*MongoRoomStore) InsertRoom

func (s *MongoRoomStore) InsertRoom(ctx context.Context, room *types.Room) (*types.Room, error)

func (*MongoRoomStore) UpdateHotels

func (s *MongoRoomStore) UpdateHotels(ctx context.Context, filter bson.M, update bson.M) error

type MongoUserStore

type MongoUserStore struct {
	// contains filtered or unexported fields
}

func NewMongoUserStore

func NewMongoUserStore(c *mongo.Client) *MongoUserStore

func (*MongoUserStore) DeleteUsers

func (s *MongoUserStore) DeleteUsers(ctx context.Context, id string) error

func (*MongoUserStore) Drop

func (s *MongoUserStore) Drop(ctx context.Context) error

func (*MongoUserStore) GetUserByEmail

func (s *MongoUserStore) GetUserByEmail(ctx context.Context, email string) (*types.User, error)

func (*MongoUserStore) GetUserByID

func (s *MongoUserStore) GetUserByID(ctx context.Context, id string) (*types.User, error)

func (*MongoUserStore) GetUsers

func (s *MongoUserStore) GetUsers(ctx context.Context) ([]*types.User, error)

func (*MongoUserStore) InsertUsers

func (s *MongoUserStore) InsertUsers(ctx context.Context, user *types.User) (*types.User, error)

func (*MongoUserStore) UpdateUsers

func (s *MongoUserStore) UpdateUsers(ctx context.Context, filter bson.M, params types.UpdateUserParams) error

type RoomStore

type RoomStore interface {
	InsertRoom(context.Context, *types.Room) (*types.Room, error)
	GetRooms(context.Context, bson.M) ([]*types.Room, error)
}

type Store

type Store struct {
	User    UserStorer
	Hotel   HotelStore
	Room    RoomStore
	Booking BookingStore
}

type UserStorer

type UserStorer interface {
	Dropper
	GetUserByEmail(context.Context, string) (*types.User, error)
	GetUserByID(context.Context, string) (*types.User, error)
	GetUsers(context.Context) ([]*types.User, error)
	InsertUsers(context.Context, *types.User) (*types.User, error)
	DeleteUsers(context.Context, string) error
	UpdateUsers(ctx context.Context, filter bson.M, params types.UpdateUserParams) error
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL