Skip to content

Commit a53d000

Browse files
committed
test
1 parent 6163517 commit a53d000

File tree

4 files changed

+24
-37
lines changed

4 files changed

+24
-37
lines changed

requirements.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,4 @@ fastjsonschema==2.16.2
88
Flask[async]==3.0.3
99
Flask-Cors==6.0.1
1010
werkzeug==3.0.3
11-
sqlalchemy==2.0.43
11+
Flask-SQLAlchemy==3.1.1

src/opengeodeweb_back/database.py

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
1-
from sqlalchemy import create_engine
2-
from sqlalchemy.orm import sessionmaker
1+
from flask_sqlalchemy import SQLAlchemy
32

3+
db = SQLAlchemy()
44

5-
def get_engine(db_path: str):
6-
return create_engine(f"sqlite:///{db_path}", echo=False)
7-
8-
9-
def get_session(engine):
10-
Session = sessionmaker(bind=engine)
11-
return Session()
5+
def init_db(app):
6+
db.init_app(app)
7+
with app.app_context():
8+
db.create_all()
9+
return db

src/opengeodeweb_back/models.py

Lines changed: 11 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,19 @@
11
import uuid
22
from datetime import datetime
3-
from sqlalchemy import Column, String, DateTime, JSON
4-
from sqlalchemy.orm import declarative_base
5-
6-
Base = declarative_base()
7-
3+
from sqlalchemy import String, DateTime, JSON
4+
from .database import db
85

96
def generate_uuid():
107
return str(uuid.uuid4())
118

12-
13-
class Data(Base):
9+
class Data(db.Model):
1410
__tablename__ = "datas"
1511

16-
id = Column(String, primary_key=True, default=generate_uuid)
17-
name = Column(String, nullable=False)
18-
native_file_name = Column(String, nullable=False)
19-
viewable_file_name = Column(String, nullable=False)
20-
binary_light_viewable = Column(String, nullable=True)
21-
geode_object = Column(String, nullable=False)
22-
input_files = Column(JSON, nullable=True)
23-
created_at = Column(DateTime, default=datetime.now)
12+
id = db.Column(String, primary_key=True, default=generate_uuid)
13+
name = db.Column(String, nullable=False)
14+
native_file_name = db.Column(String, nullable=False)
15+
viewable_file_name = db.Column(String, nullable=False)
16+
light_viewable = db.Column(String, nullable=True) # Renommé pour correspondre au code
17+
geode_object = db.Column(String, nullable=False)
18+
input_files = db.Column(JSON, nullable=True)
19+
created_at = db.Column(DateTime, default=datetime.now)

src/opengeodeweb_back/utils_functions.py

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,8 @@
1414

1515
# Local application imports
1616
from . import geode_functions
17-
from .models import Data, Base
18-
from .database import get_engine, get_session
19-
17+
from .models import Data
18+
from .database import db
2019

2120
def increment_request_counter(current_app):
2221
if "REQUEST_COUNTER" in current_app.config:
@@ -173,12 +172,6 @@ def save_all_viewables_and_return_info(
173172
with open(saved_light_viewable_file_path, "rb") as f:
174173
binary_light_viewable = f.read()
175174

176-
project_root_path = os.path.dirname(data_path)
177-
engine = get_engine(os.path.join(project_root_path, "db.sqlite3"))
178-
179-
Base.metadata.create_all(engine)
180-
session = get_session(engine)
181-
182175
data_entry = Data(
183176
id=generated_id,
184177
name=data.name(),
@@ -188,9 +181,9 @@ def save_all_viewables_and_return_info(
188181
geode_object=geode_object,
189182
input_files=additional_files or [],
190183
)
191-
session.add(data_entry)
192-
session.commit()
193-
session.close()
184+
185+
db.session.add(data_entry)
186+
db.session.commit()
194187

195188
return {
196189
"name": data.name(),

0 commit comments

Comments
 (0)