36 lines
1.1 KiB
Python
36 lines
1.1 KiB
Python
import os
|
|
from flask import current_app
|
|
from sqlalchemy import desc
|
|
from applications.models import db
|
|
from applications.models.admin_photo import Photo, PhotoSchema
|
|
from applications.service.upload import photos
|
|
|
|
|
|
def get_photo(page, limit):
|
|
photo = Photo.query.order_by(desc(Photo.create_time)).paginate(page=page, per_page=limit, error_out=False)
|
|
count = Photo.query.count()
|
|
role_schema = PhotoSchema(many=True)
|
|
output = role_schema.dump(photo.items)
|
|
return output, count
|
|
|
|
|
|
def upload_one(photo, mime):
|
|
filename = photos.save(photo)
|
|
file_url = photos.url(filename)
|
|
|
|
upload_url = current_app.config.get("UPLOADED_PHOTOS_DEST")
|
|
size = os.path.getsize(upload_url + '/' + filename)
|
|
photo = Photo(name=filename, href=file_url, mime=mime, size=size)
|
|
db.session.add(photo)
|
|
db.session.commit()
|
|
return file_url
|
|
|
|
|
|
def delete_photo_by_id(id):
|
|
photo_name = Photo.query.filter_by(id=id).first().name
|
|
photo = Photo.query.filter_by(id=id).delete()
|
|
db.session.commit()
|
|
upload_url = current_app.config.get("UPLOADED_PHOTOS_DEST")
|
|
os.remove(upload_url + '/' + photo_name)
|
|
return photo
|