Source code for orm.project
import re
from typing import List
import sqlalchemy as sql
from sqlalchemy.orm import (
Mapped,
mapped_column,
relationship,
)
from sqlalchemy.ext.hybrid import hybrid_property
from app.model.orm.orm_base import OrmBase
[docs]
class Project(OrmBase):
@hybrid_property
@hybrid_property
@hybrid_property
@property
@property
@staticmethod
[docs]
def generate_public_id(db_session):
last_string_id = db_session.scalars(
sql.select(Project.publicId)
.order_by(Project.publicId.desc())
.limit(1)
).one_or_none()
if last_string_id:
last_numeric_id = int(re.sub(r'PMGDB0*', '', last_string_id))
else:
last_numeric_id = 0
return "PMGDB{:06d}".format(last_numeric_id + 1)