Merge branch 'release/1.10.0'
This commit is contained in:
@@ -4,7 +4,7 @@ import { notFound } from 'next/navigation';
|
||||
export async function GET(request: Request, { params:{ id } }: { params: { id:string } }) {
|
||||
const [locationID, billID] = id.split('-');
|
||||
|
||||
const [location, bill] = await fetchBillById(locationID, billID) ?? [];
|
||||
const [location, bill] = await fetchBillById(locationID, billID, true) ?? [];
|
||||
|
||||
if(!bill?.attachment) {
|
||||
notFound();
|
||||
|
||||
@@ -196,14 +196,27 @@ export const updateOrAddBill = withUser(async (user:AuthenticatedUser, locationI
|
||||
}
|
||||
})
|
||||
|
||||
export const fetchBillById = withUser(async (user:AuthenticatedUser, locationID:string, billID:string) => {
|
||||
export const fetchBillById = withUser(async (user:AuthenticatedUser, locationID:string, billID:string, includeAttachmentBinary:boolean = false) => {
|
||||
|
||||
const { id: userId } = user;
|
||||
|
||||
const dbClient = await getDbClient();
|
||||
|
||||
// don't include the attachment binary data in the response
|
||||
// if the attachment binary data is not needed
|
||||
const projection = includeAttachmentBinary ? {} : {
|
||||
"bills.attachment.fileContentsBase64": 0,
|
||||
};
|
||||
|
||||
// find a location with the given locationID
|
||||
const billLocation = await dbClient.collection<BillingLocation>("lokacije").findOne({ _id: locationID, userId })
|
||||
const billLocation = await dbClient.collection<BillingLocation>("lokacije").findOne(
|
||||
{
|
||||
_id: locationID,
|
||||
userId
|
||||
},
|
||||
{
|
||||
projection
|
||||
})
|
||||
|
||||
if(!billLocation) {
|
||||
console.log(`Location ${locationID} not found`);
|
||||
|
||||
@@ -105,10 +105,18 @@ export const fetchAllLocations = withUser(async (user:AuthenticatedUser, year:nu
|
||||
|
||||
// fetch all locations for the given year
|
||||
const locations = await dbClient.collection<BillingLocation>("lokacije")
|
||||
.find({
|
||||
userId,
|
||||
"yearMonth.year": year,
|
||||
})
|
||||
.find(
|
||||
{
|
||||
userId,
|
||||
"yearMonth.year": year,
|
||||
},
|
||||
{
|
||||
projection: {
|
||||
// don't include the attachment binary data in the response
|
||||
"bill.attachment.fileContentsBase64": 0,
|
||||
},
|
||||
}
|
||||
)
|
||||
.sort({
|
||||
"yearMonth.year": -1,
|
||||
"yearMonth.month": -1,
|
||||
@@ -130,7 +138,16 @@ export const fetchLocationById = withUser(async (user:AuthenticatedUser, locatio
|
||||
const { id: userId } = user;
|
||||
|
||||
// find a location with the given locationID
|
||||
const billLocation = await dbClient.collection<BillingLocation>("lokacije").findOne({ _id: locationID, userId});
|
||||
const billLocation = await dbClient.collection<BillingLocation>("lokacije")
|
||||
.findOne(
|
||||
{ _id: locationID, userId },
|
||||
{
|
||||
projection: {
|
||||
// don't include the attachment binary data in the response
|
||||
"bill.attachment.fileContentsBase64": 0,
|
||||
},
|
||||
}
|
||||
);
|
||||
|
||||
if(!billLocation) {
|
||||
console.log(`Location ${locationID} not found`);
|
||||
|
||||
@@ -9,7 +9,7 @@ networks:
|
||||
|
||||
services:
|
||||
web-app:
|
||||
image: utility-bills-tracker:1.9.1
|
||||
image: utility-bills-tracker:1.10.0
|
||||
networks:
|
||||
- traefik-network
|
||||
- mongo-network
|
||||
|
||||
Reference in New Issue
Block a user