Skip to main content

ReservationRepo

No overview available.

Methods


Get()

@classmethod
def Get(
ctx: context.Context,
key: string
) - > *models.Reservation, error

Fetches a reservation by its unique key. Callers use this to retrieve details of a specific reservation.

Parameters

NameTypeDescription
ctxcontext.ContextThe context for the request, used for cancellation and deadlines.
keystringThe unique identifier for the reservation to retrieve.

Returns

TypeDescription
*models.Reservation, errorThe reservation object if found, otherwise an error.

Create()

@classmethod
def Create(
ctx: context.Context,
reservation: *models.Reservation
) - > error

Creates a new reservation in the repository. This method is used to persist a new reservation record.

Parameters

NameTypeDescription
ctxcontext.ContextThe context for the request, used for cancellation and deadlines.
reservation*models.ReservationThe reservation object to be created.

Returns

TypeDescription
errorAn error if the reservation could not be created, otherwise nil.

UpdateIfExpiredOrOwned()

@classmethod
def UpdateIfExpiredOrOwned(
ctx: context.Context,
reservation: *models.Reservation,
now: time.Time
) - > error

Updates an existing reservation only if it is expired or currently owned by the provided reservation's owner. This ensures that reservations are updated under specific conditions.

Parameters

NameTypeDescription
ctxcontext.ContextThe context for the request, used for cancellation and deadlines.
reservation*models.ReservationThe reservation object containing the updated data and owner information.
nowtime.TimeThe current time, used to check if the reservation has expired.

Returns

TypeDescription
errorAn error if the update fails or conditions are not met, otherwise nil.

DeleteByKeyAndOwner()

@classmethod
def DeleteByKeyAndOwner(
ctx: context.Context,
key: string,
ownerID: string
) - > error

Deletes a reservation identified by its key and owner ID. This method ensures that only the owner can delete their reservation.

Parameters

NameTypeDescription
ctxcontext.ContextThe context for the request, used for cancellation and deadlines.
keystringThe unique identifier of the reservation to delete.
ownerIDstringThe ID of the owner attempting to delete the reservation.

Returns

TypeDescription
errorAn error if the deletion fails or the owner does not match, otherwise nil.