Backend kodeeksempler Flashcards

1
Q

CONTROL LIMIT

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

export const controlLimitGetSchema = z.object({
sheet_type: z.nativeEnum(SheetType),
});

export type ControlLimitGet = z.infer<typeof>;</typeof>

A

Denne kode bruger Zod til at definere et JSON-schema, der specificerer, at et objekt skal have et felt kaldet sheet_type, hvis værdi skal være en gyldig SheetType.

Derefter oprettes en TypeScript-type der afspejler dette schema.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

const get = async (req: Request, res: Response) => {
try {
const params = controlLimitGetSchema.parse(req.params);

	const controlLimit = await ControlLimit.findAll({
		where: {
			sheet_type: params.sheet_type,
		},
		order: [['id', 'ASC']],
	});
A

Denne funktion håndterer en GET-request, hvor den først validerer parametrene fra URL’en.

Derefter hente den alle rækker fra databasetabellen ControlLimit, hvor sheet_type matcher værdien fra de validerede parametre.

Resultatet af requestet er sorteret efter id i stigende rækkefølge.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

export const controlLimitBodyPostSchema = z.array(
z.object({
id: z.number(),
name: z.string(),
value: z.number(),
color: z.string(),
}),
);

export type ControlLimitPostBody = z.infer<typeof>;</typeof>

A

Denne kode bruger Zod til at definere et JSON-schema for et array af objekter og opretter derefter en TypeScript-type, der reflekterer dette schema.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

const post = async (req: Request, res: Response) => {
try {
const limits = controlLimitBodyPostSchema.parse(req.body);
const { sheet_type } = controlLimitParamsPostSchema.parse(req.params);

	await ControlLimit.destroy({
		where: {
			sheetType: sheet_type,
		},
	});

	const promises = limits.map(async limit =>
		ControlLimit.upsert({ ...limit, sheetType: sheet_type }),
	);
	await Promise.all(promises);

	res.send(
		await ControlLimit.findAll({
			where: { sheetType: sheet_type },
			order: [['id', 'ASC']],
		}),
	);
A

Denne kode opdaterer kontrolgrænser i databasen ved at slette eksisterende data og indsætte nye data baseret på det modtagne request.

Resultatet er en opdateret liste af kontrolgrænser, der sendes som svar på requestet.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

FILE RECEIVER

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q
A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly