ソースを参照

feat: can replace logo. (#1752)

tags/0.3.34
Garfield Dai 1年前
コミット
7c43123956
コミッターのメールアドレスに関連付けられたアカウントが存在しません
1個のファイルの変更14行の追加2行の削除
  1. 14
    2
      api/controllers/web/site.py

+ 14
- 2
api/controllers/web/site.py ファイルの表示

# -*- coding:utf-8 -*- # -*- coding:utf-8 -*-
import os

from flask_restful import fields, marshal_with from flask_restful import fields, marshal_with
from werkzeug.exceptions import Forbidden from werkzeug.exceptions import Forbidden


from controllers.web.wraps import WebApiResource from controllers.web.wraps import WebApiResource
from extensions.ext_database import db from extensions.ext_database import db
from models.model import Site from models.model import Site
from services.billing_service import BillingService




class AppSiteApi(WebApiResource): class AppSiteApi(WebApiResource):
'site': fields.Nested(site_fields), 'site': fields.Nested(site_fields),
'model_config': fields.Nested(model_config_fields, allow_null=True), 'model_config': fields.Nested(model_config_fields, allow_null=True),
'plan': fields.String, 'plan': fields.String,
'can_replace_logo': fields.Boolean,
} }


@marshal_with(app_fields) @marshal_with(app_fields)
if not site: if not site:
raise Forbidden() raise Forbidden()


return AppSiteInfo(app_model.tenant, app_model, site, end_user.id)
edition = os.environ.get('EDITION')
can_replace_logo = False

if edition == 'CLOUD':
info = BillingService.get_info(app_model.tenant_id)
can_replace_logo = info['can_replace_logo']

return AppSiteInfo(app_model.tenant, app_model, site, end_user.id, can_replace_logo)




api.add_resource(AppSiteApi, '/site') api.add_resource(AppSiteApi, '/site')
class AppSiteInfo: class AppSiteInfo:
"""Class to store site information.""" """Class to store site information."""


def __init__(self, tenant, app, site, end_user):
def __init__(self, tenant, app, site, end_user, can_replace_logo):
"""Initialize AppSiteInfo instance.""" """Initialize AppSiteInfo instance."""
self.app_id = app.id self.app_id = app.id
self.end_user_id = end_user self.end_user_id = end_user
self.site = site self.site = site
self.model_config = None self.model_config = None
self.plan = tenant.plan self.plan = tenant.plan
self.can_replace_logo = can_replace_logo


if app.enable_site and site.prompt_public: if app.enable_site and site.prompt_public:
app_model_config = app.app_model_config app_model_config = app.app_model_config

読み込み中…
キャンセル
保存