Compare commits
48 Commits
renovate/m
...
master
Author | SHA1 | Date | |
---|---|---|---|
99716cee1a | |||
7d8f8388f5 | |||
4608a247e1 | |||
abc54428c6 | |||
74c1522be2 | |||
e200b7eba7 | |||
a0ba9fe3b9 | |||
fb1e2bab89 | |||
3a148a2879 | |||
5005a2f0c2 | |||
ef1685dc82 | |||
aae46c69dd | |||
8d6686bd1b | |||
ec727121c9 | |||
595fd692a6 | |||
c6832203ad | |||
ca4ac359d3 | |||
5ce523a3fb | |||
3f42a0d989 | |||
d9ae92dbc2 | |||
047ec9feca | |||
a763877d2a | |||
31f6eb4a5e | |||
7cf0f191be | |||
03b678145a | |||
694a50ea0c | |||
0da0842f62 | |||
cc355a9510 | |||
29b3b9f6ba | |||
ef04592efa | |||
5ac072b5e8 | |||
6c4789b59b | |||
4f926f7786 | |||
49b2209517 | |||
12e9ad6362 | |||
8168984286 | |||
8489f738dd | |||
f4c56fd797 | |||
1a5e55f175 | |||
8561d75907 | |||
39d26eca9f | |||
8a7aaa8c17 | |||
478c310743 | |||
d0b1a19918 | |||
0352144807 | |||
850675ced8 | |||
88213456f1 | |||
5bafed745d |
848
geneit_app/package-lock.json
generated
848
geneit_app/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -5,45 +5,45 @@
|
||||
"type": "module",
|
||||
"dependencies": {
|
||||
"@babel/plugin-proposal-private-property-in-object": "^7.21.11",
|
||||
"@emotion/react": "^11.11.4",
|
||||
"@emotion/styled": "^11.11.0",
|
||||
"@fontsource/roboto": "^5.0.13",
|
||||
"@fullcalendar/core": "^6.1.14",
|
||||
"@fullcalendar/daygrid": "^6.1.14",
|
||||
"@fullcalendar/interaction": "^6.1.14",
|
||||
"@fullcalendar/list": "^6.1.14",
|
||||
"@fullcalendar/react": "^6.1.14",
|
||||
"@emotion/react": "^11.13.3",
|
||||
"@emotion/styled": "^11.13.0",
|
||||
"@fontsource/roboto": "^5.0.15",
|
||||
"@fullcalendar/core": "^6.1.15",
|
||||
"@fullcalendar/daygrid": "^6.1.15",
|
||||
"@fullcalendar/interaction": "^6.1.15",
|
||||
"@fullcalendar/list": "^6.1.15",
|
||||
"@fullcalendar/react": "^6.1.15",
|
||||
"@mdi/js": "^7.2.96",
|
||||
"@mdi/react": "^1.6.1",
|
||||
"@mui/icons-material": "^5.15.17",
|
||||
"@mui/lab": "^5.0.0-alpha.140",
|
||||
"@mui/material": "^5.15.17",
|
||||
"@mui/x-data-grid": "^7.1.1",
|
||||
"@mui/x-date-pickers": "^7.7.0",
|
||||
"@mui/x-tree-view": "^7.4.0",
|
||||
"@testing-library/jest-dom": "^6.4.5",
|
||||
"@testing-library/react": "^16.0.0",
|
||||
"@mui/icons-material": "^6.0.2",
|
||||
"@mui/lab": "^6.0.0-beta.9",
|
||||
"@mui/material": "^6.0.2",
|
||||
"@mui/x-data-grid": "^7.16.0",
|
||||
"@mui/x-date-pickers": "^7.16.0",
|
||||
"@mui/x-tree-view": "^7.16.0",
|
||||
"@testing-library/jest-dom": "^6.5.0",
|
||||
"@testing-library/react": "^16.0.1",
|
||||
"@testing-library/user-event": "^14.0.0",
|
||||
"@types/jest": "^29.0.0",
|
||||
"@types/react": "^18.3.2",
|
||||
"@types/react": "^18.3.5",
|
||||
"@types/react-dom": "^18.3.0",
|
||||
"@vitejs/plugin-react": "^4.2.1",
|
||||
"date-and-time": "^3.2.0",
|
||||
"dayjs": "^1.11.11",
|
||||
"date-and-time": "^3.5.0",
|
||||
"dayjs": "^1.11.13",
|
||||
"email-validator": "^2.0.4",
|
||||
"filesize": "^10.1.2",
|
||||
"filesize": "^10.1.6",
|
||||
"jspdf": "^2.5.1",
|
||||
"mui-color-input": "^2.0.3",
|
||||
"mui-color-input": "^4.0.0",
|
||||
"react": "^18.3.1",
|
||||
"react-dom": "^18.3.1",
|
||||
"react-easy-crop": "^5.0.7",
|
||||
"react-easy-crop": "^5.0.8",
|
||||
"react-qr-code": "^2.0.14",
|
||||
"react-router-dom": "^6.23.1",
|
||||
"react-router-dom": "^6.26.2",
|
||||
"react-zoom-pan-pinch": "^3.4.4",
|
||||
"svg2pdf.js": "^2.2.3",
|
||||
"typescript": "^5.4.5",
|
||||
"vite": "^5.2.11",
|
||||
"vite-tsconfig-paths": "^4.3.2",
|
||||
"typescript": "^5.6.2",
|
||||
"vite": "^5.4.3",
|
||||
"vite-tsconfig-paths": "^5.0.1",
|
||||
"web-vitals": "^3.5.2"
|
||||
},
|
||||
"scripts": {
|
||||
|
@ -11,7 +11,7 @@ import {
|
||||
} from "@mui/material";
|
||||
import Box from "@mui/material/Box";
|
||||
import Button from "@mui/material/Button";
|
||||
import Grid from "@mui/material/Grid";
|
||||
import Grid from "@mui/material/Grid2";
|
||||
import TextField from "@mui/material/TextField";
|
||||
import Typography from "@mui/material/Typography";
|
||||
import * as React from "react";
|
||||
@ -167,7 +167,7 @@ export function LoginRoute(): React.ReactElement {
|
||||
</Button>
|
||||
|
||||
<Grid container>
|
||||
<Grid item xs>
|
||||
<Grid>
|
||||
<Typography variant="body2" color={"primary"}>
|
||||
<Link
|
||||
to="/password_forgotten"
|
||||
@ -177,7 +177,7 @@ export function LoginRoute(): React.ReactElement {
|
||||
</Link>
|
||||
</Typography>
|
||||
</Grid>
|
||||
<Grid item>
|
||||
<Grid>
|
||||
<Typography variant="body2" color={"primary"}>
|
||||
<Link
|
||||
to="/new-account"
|
||||
|
@ -3,7 +3,8 @@ import DeleteIcon from "@mui/icons-material/Delete";
|
||||
import EditIcon from "@mui/icons-material/Edit";
|
||||
import FileDownloadIcon from "@mui/icons-material/FileDownload";
|
||||
import SaveIcon from "@mui/icons-material/Save";
|
||||
import { Button, Grid, Stack } from "@mui/material";
|
||||
import { Button, Stack } from "@mui/material";
|
||||
import Grid from "@mui/material/Grid2";
|
||||
import React from "react";
|
||||
import { useNavigate, useParams } from "react-router-dom";
|
||||
import { ServerApi } from "../../../api/ServerApi";
|
||||
@ -352,7 +353,7 @@ export function CouplePage(p: {
|
||||
|
||||
<Grid container spacing={2}>
|
||||
{/* General info */}
|
||||
<Grid item sm={12} md={6}>
|
||||
<Grid size={{ sm: 12, md: 6 }}>
|
||||
<PropertiesBox title="Informations générales">
|
||||
{/* Husband */}
|
||||
<br />
|
||||
@ -427,7 +428,7 @@ export function CouplePage(p: {
|
||||
|
||||
{
|
||||
/* Photo */ !family.family.disable_couple_photos && (
|
||||
<Grid item sm={12} md={6}>
|
||||
<Grid size={{ sm: 12, md: 6 }}>
|
||||
<PropertiesBox title="Photo">
|
||||
<div style={{ textAlign: "center" }}>
|
||||
<CouplePhoto couple={couple} width={150} />
|
||||
@ -474,7 +475,7 @@ export function CouplePage(p: {
|
||||
|
||||
{/* Children */}
|
||||
{p.children && (
|
||||
<Grid item sm={12} md={6}>
|
||||
<Grid size={{ sm: 12, md: 6 }}>
|
||||
<PropertiesBox title="Enfants">
|
||||
{p.children.length === 0 ? (
|
||||
<>Aucun enfant</>
|
||||
|
@ -7,12 +7,12 @@ import FileDownloadIcon from "@mui/icons-material/FileDownload";
|
||||
import SaveIcon from "@mui/icons-material/Save";
|
||||
import {
|
||||
Button,
|
||||
Grid,
|
||||
ListItemAvatar,
|
||||
ListItemButton,
|
||||
ListItemText,
|
||||
Stack,
|
||||
} from "@mui/material";
|
||||
import Grid from "@mui/material/Grid2";
|
||||
import * as EmailValidator from "email-validator";
|
||||
import React from "react";
|
||||
import { useNavigate, useParams } from "react-router-dom";
|
||||
@ -384,7 +384,7 @@ export function MemberPage(p: {
|
||||
|
||||
<Grid container spacing={2}>
|
||||
{/* General info */}
|
||||
<Grid item sm={12} md={6}>
|
||||
<Grid size={{ sm: 12, md: 6 }}>
|
||||
<PropertiesBox title="Informations générales">
|
||||
{/* Sex */}
|
||||
<SexSelection
|
||||
@ -504,7 +504,7 @@ export function MemberPage(p: {
|
||||
</Grid>
|
||||
|
||||
{/* Photo */}
|
||||
<Grid item sm={12} md={6}>
|
||||
<Grid size={{ sm: 12, md: 6 }}>
|
||||
<PropertiesBox title="Photo">
|
||||
<div style={{ textAlign: "center" }}>
|
||||
<MemberPhoto member={member} width={150} />
|
||||
@ -549,7 +549,7 @@ export function MemberPage(p: {
|
||||
|
||||
{/* Contact */}
|
||||
{(p.editing || member.hasContactInfo) && (
|
||||
<Grid item sm={12} md={6}>
|
||||
<Grid size={{ sm: 12, md: 6 }}>
|
||||
<PropertiesBox title="Contact">
|
||||
{/* Email */}
|
||||
<PropEdit
|
||||
@ -630,7 +630,7 @@ export function MemberPage(p: {
|
||||
|
||||
{/* Bio */}
|
||||
{(p.editing || member.hasNote) && (
|
||||
<Grid item sm={12} md={6}>
|
||||
<Grid size={{ sm: 12, md: 6 }}>
|
||||
<PropertiesBox title="Biographie">
|
||||
<PropEdit
|
||||
label="Biographie"
|
||||
@ -651,7 +651,7 @@ export function MemberPage(p: {
|
||||
|
||||
{/* Couples */}
|
||||
{p.couples && (
|
||||
<Grid item sm={12} md={6}>
|
||||
<Grid size={{ sm: 12, md: 6 }}>
|
||||
<PropertiesBox title={member.sex === "F" ? "Époux" : "Épouse"}>
|
||||
{p.couples!.length === 0 ? (
|
||||
<>{member.sex === "F" ? "Aucun époux" : "Aucune épouse"}</>
|
||||
@ -678,7 +678,7 @@ export function MemberPage(p: {
|
||||
|
||||
{/* Children */}
|
||||
{p.children && (
|
||||
<Grid item sm={12} md={6}>
|
||||
<Grid size={{ sm: 12, md: 6 }}>
|
||||
<PropertiesBox title="Enfants">
|
||||
{p.children.length === 0 ? (
|
||||
<>Aucun enfant</>
|
||||
@ -707,7 +707,7 @@ export function MemberPage(p: {
|
||||
|
||||
{/* Siblings */}
|
||||
{p.siblings && (
|
||||
<Grid item sm={12} md={6}>
|
||||
<Grid size={{ sm: 12, md: 6 }}>
|
||||
<PropertiesBox title="Frères et sœurs">
|
||||
{p.siblings.length === 0 ? (
|
||||
<>Aucun frère ou sœur</>
|
||||
|
@ -3,7 +3,7 @@ import Icon from "@mdi/react";
|
||||
import Avatar from "@mui/material/Avatar";
|
||||
import Box from "@mui/material/Box";
|
||||
import CssBaseline from "@mui/material/CssBaseline";
|
||||
import Grid from "@mui/material/Grid";
|
||||
import Grid from "@mui/material/Grid2";
|
||||
import Paper from "@mui/material/Paper";
|
||||
import Typography from "@mui/material/Typography";
|
||||
import * as React from "react";
|
||||
@ -40,10 +40,7 @@ export function BaseLoginPage() {
|
||||
<Grid container component="main" sx={{ height: "100vh" }}>
|
||||
<CssBaseline />
|
||||
<Grid
|
||||
item
|
||||
xs={false}
|
||||
sm={4}
|
||||
md={7}
|
||||
size={{ xs: false, sm: 4, md: 7 }}
|
||||
sx={{
|
||||
backgroundImage: "url(/login_splash.jpg)",
|
||||
backgroundRepeat: "no-repeat",
|
||||
@ -55,7 +52,12 @@ export function BaseLoginPage() {
|
||||
backgroundPosition: "center",
|
||||
}}
|
||||
/>
|
||||
<Grid item xs={12} sm={8} md={5} component={Paper} elevation={6} square>
|
||||
<Grid
|
||||
size={{ xs: 12, sm: 8, md: 5 }}
|
||||
component={Paper}
|
||||
elevation={6}
|
||||
square
|
||||
>
|
||||
<Box
|
||||
sx={{
|
||||
my: 8,
|
||||
|
1356
geneit_backend/Cargo.lock
generated
1356
geneit_backend/Cargo.lock
generated
File diff suppressed because it is too large
Load Diff
@ -7,37 +7,37 @@ edition = "2021"
|
||||
|
||||
[dependencies]
|
||||
log = "0.4.21"
|
||||
env_logger = "0.11.3"
|
||||
clap = { version = "4.5.4", features = ["derive", "env"] }
|
||||
lazy_static = "1.4.0"
|
||||
lazy-regex = "3.1.0"
|
||||
anyhow = "1.0.83"
|
||||
actix-web = "4.5.1"
|
||||
env_logger = "0.11.5"
|
||||
clap = { version = "4.5.17", features = ["derive", "env"] }
|
||||
lazy_static = "1.5.0"
|
||||
lazy-regex = "3.3.0"
|
||||
anyhow = "1.0.87"
|
||||
actix-web = "4.9.0"
|
||||
actix-cors = "0.7.0"
|
||||
actix-multipart = "0.7.0"
|
||||
actix-remote-ip = "0.1.0"
|
||||
futures-util = "0.3.30"
|
||||
diesel = { version = "2.1.6", features = ["postgres"] }
|
||||
diesel = { version = "2.2.4", features = ["postgres"] }
|
||||
diesel_migrations = "2.1.0"
|
||||
serde = { version = "1.0.198", features = ["derive"] }
|
||||
serde_json = "1.0.117"
|
||||
mailchecker = "6.0.4"
|
||||
redis = "0.25.3"
|
||||
lettre = "0.11.7"
|
||||
serde = { version = "1.0.210", features = ["derive"] }
|
||||
serde_json = "1.0.128"
|
||||
mailchecker = "6.0.8"
|
||||
redis = "0.27.0"
|
||||
lettre = "0.11.8"
|
||||
rand = "0.8.5"
|
||||
bcrypt = "0.15.1"
|
||||
light-openid = "1.0.2"
|
||||
thiserror = "1.0.60"
|
||||
serde_with = "3.8.1"
|
||||
rust_iso3166 = "0.1.12"
|
||||
rust-s3 = "0.34.0"
|
||||
rust-s3 = "0.35.1"
|
||||
sha2 = "0.10.8"
|
||||
image = "0.25.1"
|
||||
uuid = { version = "1.8.0", features = ["v4"] }
|
||||
httpdate = "1.0.3"
|
||||
zip = "2.0.0"
|
||||
zip = "2.2.0"
|
||||
mime_guess = "2.0.4"
|
||||
tempfile = "3.10.1"
|
||||
tempfile = "3.12.0"
|
||||
base64 = "0.22.0"
|
||||
ical = { version = "0.11.0", features = ["generator", "ical", "vcard"] }
|
||||
chrono = "0.4.38"
|
||||
chrono = "0.4.38"
|
||||
|
@ -6,4 +6,4 @@ RUN apt-get update \
|
||||
|
||||
COPY geneit_backend /usr/local/bin/geneit_backend
|
||||
|
||||
ENTRYPOINT /usr/local/bin/geneit_backend
|
||||
ENTRYPOINT ["/usr/local/bin/geneit_backend"]
|
||||
|
@ -194,6 +194,7 @@ impl AppConfig {
|
||||
db: self.redis_db_number,
|
||||
username: self.redis_username.clone(),
|
||||
password: Some(self.redis_password.clone()),
|
||||
protocol: Default::default(),
|
||||
},
|
||||
}
|
||||
}
|
||||
@ -245,7 +246,7 @@ impl AppConfig {
|
||||
}
|
||||
|
||||
/// Get S3 bucket
|
||||
pub fn s3_bucket(&self) -> anyhow::Result<Bucket> {
|
||||
pub fn s3_bucket(&self) -> anyhow::Result<Box<Bucket>> {
|
||||
Ok(Bucket::new(
|
||||
&self.s3_bucket_name,
|
||||
Region::Custom {
|
||||
|
@ -45,14 +45,14 @@ where
|
||||
{
|
||||
let value_str = serde_json::to_string(value)?;
|
||||
|
||||
execute_request(|conn| Ok(conn.set_ex(key, value_str, lifetime.as_secs())?))?;
|
||||
execute_request(|conn| Ok(conn.set_ex::<_, _, ()>(key, value_str, lifetime.as_secs())?))?;
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
/// Remove a value from Redis
|
||||
pub async fn remove_value(key: &str) -> anyhow::Result<()> {
|
||||
execute_request(|conn| Ok(conn.del(key)?))?;
|
||||
execute_request(|conn| Ok(conn.del::<_, ()>(key)?))?;
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user