update Press to Jcloude

This commit is contained in:
jingrow 2025-12-24 02:08:36 +08:00
parent 8226a31793
commit 2e1e6d961b
64 changed files with 230 additions and 230 deletions

View File

@ -3,7 +3,7 @@
<template #body-content>
<div class="space-y-4">
<div class="flex items-center space-x-2">
<PressAutocomplete
<JcloudeAutocomplete
v-model="selectedTag"
:options="tagOptions"
label="Select or create a tag"
@ -31,7 +31,7 @@ import Autocomplete from '../components/Autocomplete.vue';
export default {
name: 'TagsDialog',
props: ['docname', 'pagetype'],
components: { ErrorMessage, PressAutocomplete: Autocomplete },
components: { ErrorMessage, JcloudeAutocomplete: Autocomplete },
data() {
return {
showDialog: true,

View File

@ -542,7 +542,7 @@ def get_permissions():
docperms = jingrow.db.sql(
f"""
SELECT `document_name`, GROUP_CONCAT(`action`) as `actions`
FROM `tabPress User Permission`
FROM `tabJcloude User Permission`
WHERE user='{user}' or `group` in {groups}
GROUP BY `document_name`
""",
@ -1194,29 +1194,29 @@ def remove_permission_group_user(name, user):
@jingrow.whitelist()
def get_permission_roles():
PressRole = jingrow.qb.PageType("Jcloude Role")
PressRoleUser = jingrow.qb.PageType("Jcloude Role User")
JcloudeRole = jingrow.qb.PageType("Jcloude Role")
JcloudeRoleUser = jingrow.qb.PageType("Jcloude Role User")
return (
jingrow.qb.from_(PressRole)
jingrow.qb.from_(JcloudeRole)
.select(
PressRole.name,
PressRole.admin_access,
PressRole.allow_billing,
PressRole.allow_apps,
PressRole.allow_partner,
PressRole.allow_site_creation,
PressRole.allow_bench_creation,
PressRole.allow_server_creation,
PressRole.allow_webhook_configuration,
PressRole.allow_dashboard,
PressRole.allow_customer,
PressRole.allow_leads,
PressRole.allow_contribution,
JcloudeRole.name,
JcloudeRole.admin_access,
JcloudeRole.allow_billing,
JcloudeRole.allow_apps,
JcloudeRole.allow_partner,
JcloudeRole.allow_site_creation,
JcloudeRole.allow_bench_creation,
JcloudeRole.allow_server_creation,
JcloudeRole.allow_webhook_configuration,
JcloudeRole.allow_dashboard,
JcloudeRole.allow_customer,
JcloudeRole.allow_leads,
JcloudeRole.allow_contribution,
)
.join(PressRoleUser)
.on((PressRole.name == PressRoleUser.parent) & (PressRoleUser.user == jingrow.session.user))
.where(PressRole.team == get_current_team())
.join(JcloudeRoleUser)
.on((JcloudeRole.name == JcloudeRoleUser.parent) & (JcloudeRoleUser.user == jingrow.session.user))
.where(JcloudeRole.team == get_current_team())
.run(as_dict=True)
)

View File

@ -39,7 +39,7 @@ if TYPE_CHECKING:
from elasticsearch_dsl.response import AggResponse
from elasticsearch_dsl.response.aggs import FieldBucket, FieldBucketData
from jcloude.jcloude.pagetype.jcloude_settings.jcloude_settings import PressSettings
from jcloude.jcloude.pagetype.jcloude_settings.jcloude_settings import JcloudeSettings
class Dataset(TypedDict):
"""Single element of list of Datasets returned for stacked histogram chart"""
@ -366,7 +366,7 @@ class NginxRequestGroupByChart(StackedGroupByChart):
def setup_search_filters(self):
super().setup_search_filters()
jcloude_settings: PressSettings = jingrow.get_cached_pg("Jcloude Settings")
jcloude_settings: JcloudeSettings = jingrow.get_cached_pg("Jcloude Settings")
if not (
jcloude_settings.monitor_server
and (

View File

@ -19,7 +19,7 @@ from jcloude.api.site import site_config, update_config
from jcloude.utils import log_error
if TYPE_CHECKING:
from jcloude.jcloude.pagetype.jcloude_settings.jcloude_settings import PressSettings
from jcloude.jcloude.pagetype.jcloude_settings.jcloude_settings import JcloudeSettings
class EmailLimitExceeded(TooManyRequestsError):
@ -156,7 +156,7 @@ def validate_plan(secret_key):
)
def make_spamd_request(jcloude_settings: PressSettings, message: bytes):
def make_spamd_request(jcloude_settings: JcloudeSettings, message: bytes):
headers = {}
if jcloude_settings.spamd_api_key:
spamd_api_secret = get_decrypted_password("Jcloude Settings", "Jcloude Settings", "spamd_api_secret")

View File

@ -26,23 +26,23 @@ def get_notifications(
if not filters:
filters = {}
PressNotification = jingrow.qb.PageType("Jcloude Notification")
JcloudeNotification = jingrow.qb.PageType("Jcloude Notification")
query = (
jingrow.qb.from_(PressNotification)
jingrow.qb.from_(JcloudeNotification)
.select(
PressNotification.name,
PressNotification.type,
PressNotification.read,
PressNotification.title,
PressNotification.message,
PressNotification.creation,
PressNotification.is_addressed,
PressNotification.is_actionable,
PressNotification.document_type,
PressNotification.document_name,
JcloudeNotification.name,
JcloudeNotification.type,
JcloudeNotification.read,
JcloudeNotification.title,
JcloudeNotification.message,
JcloudeNotification.creation,
JcloudeNotification.is_addressed,
JcloudeNotification.is_actionable,
JcloudeNotification.document_type,
JcloudeNotification.document_name,
)
.where(PressNotification.team == get_current_team())
.orderby(PressNotification.creation, order=jingrow.qb.desc)
.where(JcloudeNotification.team == get_current_team())
.orderby(JcloudeNotification.creation, order=jingrow.qb.desc)
.limit(limit_page_length)
.offset(limit_start)
)
@ -54,10 +54,10 @@ def get_notifications(
resources.update(release_groups)
if resources:
query = query.where(PressNotification.reference_name.isin(resources))
query = query.where(JcloudeNotification.reference_name.isin(resources))
if filters.get("read") == "Unread":
query = query.where(PressNotification.read == 0)
query = query.where(JcloudeNotification.read == 0)
notifications = query.run(as_dict=True)

View File

@ -53,22 +53,22 @@ def attempts(webhook: str):
pg = jingrow.get_pg("Jcloude Webhook", webhook)
pg.has_permission("read")
PressWebhookAttempt = jingrow.qb.PageType("Jcloude Webhook Attempt")
PressWebhookLog = jingrow.qb.PageType("Jcloude Webhook Log")
JcloudeWebhookAttempt = jingrow.qb.PageType("Jcloude Webhook Attempt")
JcloudeWebhookLog = jingrow.qb.PageType("Jcloude Webhook Log")
query = (
jingrow.qb.from_(PressWebhookAttempt)
jingrow.qb.from_(JcloudeWebhookAttempt)
.select(
PressWebhookAttempt.name,
PressWebhookAttempt.endpoint,
PressWebhookLog.event,
PressWebhookAttempt.status,
PressWebhookAttempt.response_status_code,
PressWebhookAttempt.timestamp,
JcloudeWebhookAttempt.name,
JcloudeWebhookAttempt.endpoint,
JcloudeWebhookLog.event,
JcloudeWebhookAttempt.status,
JcloudeWebhookAttempt.response_status_code,
JcloudeWebhookAttempt.timestamp,
)
.left_join(PressWebhookLog)
.on(PressWebhookAttempt.parent == PressWebhookLog.name)
.where(PressWebhookAttempt.webhook == pg.name)
.orderby(PressWebhookAttempt.timestamp, order=jingrow.qb.desc)
.left_join(JcloudeWebhookLog)
.on(JcloudeWebhookAttempt.parent == JcloudeWebhookLog.name)
.where(JcloudeWebhookAttempt.webhook == pg.name)
.orderby(JcloudeWebhookAttempt.timestamp, order=jingrow.qb.desc)
)
return query.run(as_dict=1)

View File

@ -37,16 +37,16 @@ def api(scope: Literal["billing", "partner"]):
team: Team = get_current_team(get_pg=True)
if team.is_team_owner() or team.is_admin_user():
return fn(*args, **kwargs)
PressRole = jingrow.qb.PageType("Jcloude Role")
PressRoleUser = jingrow.qb.PageType("Jcloude Role User")
JcloudeRole = jingrow.qb.PageType("Jcloude Role")
JcloudeRoleUser = jingrow.qb.PageType("Jcloude Role User")
has_permission = (
jingrow.qb.from_(PressRole)
.inner_join(PressRoleUser)
.on(PressRoleUser.parent == PressRole.name)
.select(Count(PressRole.name).as_("count"))
.where(PressRole.team == team.name)
.where(PressRole[key] == 1)
.where(PressRoleUser.user == jingrow.session.user)
jingrow.qb.from_(JcloudeRole)
.inner_join(JcloudeRoleUser)
.on(JcloudeRoleUser.parent == JcloudeRole.name)
.select(Count(JcloudeRole.name).as_("count"))
.where(JcloudeRole.team == team.name)
.where(JcloudeRole[key] == 1)
.where(JcloudeRoleUser.user == jingrow.session.user)
.run(as_dict=True)
.pop()
.get("count")
@ -74,16 +74,16 @@ def action():
team: Team = get_current_team(get_pg=True)
if team.is_team_owner() or team.is_admin_user():
return fn(self, *args, **kwargs)
PressRole = jingrow.qb.PageType("Jcloude Role")
PressRoleUser = jingrow.qb.PageType("Jcloude Role User")
JcloudeRole = jingrow.qb.PageType("Jcloude Role")
JcloudeRoleUser = jingrow.qb.PageType("Jcloude Role User")
has_permission = (
jingrow.qb.from_(PressRole)
.inner_join(PressRoleUser)
.on(PressRoleUser.parent == PressRole.name)
.select(Count(PressRole.name).as_("count"))
.where(PressRole.team == team.name)
.where(PressRole[key] == 1)
.where(PressRoleUser.user == jingrow.session.user)
jingrow.qb.from_(JcloudeRole)
.inner_join(JcloudeRoleUser)
.on(JcloudeRoleUser.parent == JcloudeRole.name)
.select(Count(JcloudeRole.name).as_("count"))
.where(JcloudeRole.team == team.name)
.where(JcloudeRole[key] == 1)
.where(JcloudeRoleUser.user == jingrow.session.user)
.run(as_dict=True)
.pop()
.get("count")
@ -159,15 +159,15 @@ def base_query() -> QueryBuilder:
"""
Get a base query for Jcloude Role documents based on the current team context.
"""
PressRole = jingrow.qb.PageType("Jcloude Role")
PressRoleUser = jingrow.qb.PageType("Jcloude Role User")
JcloudeRole = jingrow.qb.PageType("Jcloude Role")
JcloudeRoleUser = jingrow.qb.PageType("Jcloude Role User")
return (
jingrow.qb.from_(PressRole)
.select(PressRole.name)
.left_join(PressRoleUser)
.on(PressRoleUser.parent == PressRole.name)
.where(PressRole.team == get_current_team())
.where(PressRoleUser.user == jingrow.session.user)
jingrow.qb.from_(JcloudeRole)
.select(JcloudeRole.name)
.left_join(JcloudeRoleUser)
.on(JcloudeRoleUser.parent == JcloudeRole.name)
.where(JcloudeRole.team == get_current_team())
.where(JcloudeRoleUser.user == jingrow.session.user)
)

View File

@ -11,33 +11,33 @@ def check(base_query: QueryBuilder, document_type: str, document_name: str) -> b
def documents(base_query: QueryBuilder, document_type: str) -> list[str]:
PressRole = jingrow.qb.PageType("Jcloude Role")
PressRoleResource = jingrow.qb.PageType("Jcloude Role Resource")
JcloudeRole = jingrow.qb.PageType("Jcloude Role")
JcloudeRoleResource = jingrow.qb.PageType("Jcloude Role Resource")
return [
pg.document_name
for pg in base_query.inner_join(PressRoleResource)
for pg in base_query.inner_join(JcloudeRoleResource)
.on(
(PressRoleResource.parent == PressRole.name)
& (PressRoleResource.document_type == document_type)
& (Not(PressRoleResource.document_name.isnull()))
(JcloudeRoleResource.parent == JcloudeRole.name)
& (JcloudeRoleResource.document_type == document_type)
& (Not(JcloudeRoleResource.document_name.isnull()))
)
.select(PressRoleResource.document_name)
.select(JcloudeRoleResource.document_name)
.distinct()
.run(as_dict=True)
]
def document(base_query: QueryBuilder, document_type: str, document_name: str) -> bool:
PressRole = jingrow.qb.PageType("Jcloude Role")
PressRoleResource = jingrow.qb.PageType("Jcloude Role Resource")
JcloudeRole = jingrow.qb.PageType("Jcloude Role")
JcloudeRoleResource = jingrow.qb.PageType("Jcloude Role Resource")
return (
base_query.inner_join(PressRoleResource)
base_query.inner_join(JcloudeRoleResource)
.on(
(PressRoleResource.parent == PressRole.name)
& (PressRoleResource.document_type == document_type)
& (PressRoleResource.document_name == document_name)
(JcloudeRoleResource.parent == JcloudeRole.name)
& (JcloudeRoleResource.document_type == document_type)
& (JcloudeRoleResource.document_name == document_name)
)
.select(Count(PressRole.name).as_("document_count"))
.select(Count(JcloudeRole.name).as_("document_count"))
.run(as_dict=True)
.pop()
.get("document_count")

View File

@ -4,10 +4,10 @@ from jingrow.query_builder.terms import QueryBuilder
def check(base_query: QueryBuilder) -> bool:
PressRole = jingrow.qb.PageType("Jcloude Role")
JcloudeRole = jingrow.qb.PageType("Jcloude Role")
return (
base_query.where(PressRole.allow_apps == 1)
.select(Count(PressRole.name).as_("count"))
base_query.where(JcloudeRole.allow_apps == 1)
.select(Count(JcloudeRole.name).as_("count"))
.run(as_dict=True)
.pop()
.get("count")

View File

@ -4,17 +4,17 @@ from jingrow.query_builder.terms import QueryBuilder
def check(base_query: QueryBuilder, document_name: str) -> bool:
PressRole = jingrow.qb.PageType("Jcloude Role")
PressRoleResource = jingrow.qb.PageType("Jcloude Role Resource")
JcloudeRole = jingrow.qb.PageType("Jcloude Role")
JcloudeRoleResource = jingrow.qb.PageType("Jcloude Role Resource")
ServerSnapshot = jingrow.qb.PageType("Server Snapshot")
return (
base_query.left_join(PressRoleResource)
.on(PressRoleResource.parent == PressRole.name)
base_query.left_join(JcloudeRoleResource)
.on(JcloudeRoleResource.parent == JcloudeRole.name)
.left_join(ServerSnapshot)
.on(ServerSnapshot.name == document_name)
.select(Count(PressRole.name).as_("count"))
.where(PressRoleResource.document_type == "Server")
.where(PressRoleResource.document_name == ServerSnapshot.app_server)
.select(Count(JcloudeRole.name).as_("count"))
.where(JcloudeRoleResource.document_type == "Server")
.where(JcloudeRoleResource.document_name == ServerSnapshot.app_server)
.run(as_dict=True)
.pop()
.get("count")

View File

@ -4,17 +4,17 @@ from jingrow.query_builder.terms import QueryBuilder
def check(base_query: QueryBuilder, document_name: str) -> bool:
PressRole = jingrow.qb.PageType("Jcloude Role")
PressRoleResource = jingrow.qb.PageType("Jcloude Role Resource")
JcloudeRole = jingrow.qb.PageType("Jcloude Role")
JcloudeRoleResource = jingrow.qb.PageType("Jcloude Role Resource")
SiteBackup = jingrow.qb.PageType("Site Backup")
return (
base_query.left_join(PressRoleResource)
.on(PressRoleResource.parent == PressRole.name)
base_query.left_join(JcloudeRoleResource)
.on(JcloudeRoleResource.parent == JcloudeRole.name)
.left_join(SiteBackup)
.on(SiteBackup.name == document_name)
.select(Count(PressRole.name).as_("count"))
.where(PressRoleResource.document_type == "Site")
.where(PressRoleResource.document_name == SiteBackup.site)
.select(Count(JcloudeRole.name).as_("count"))
.where(JcloudeRoleResource.document_type == "Site")
.where(JcloudeRoleResource.document_name == SiteBackup.site)
.run(as_dict=True)
.pop()
.get("count")

View File

@ -4,10 +4,10 @@ from jingrow.query_builder.terms import QueryBuilder
def check(base_query: QueryBuilder) -> bool:
PressRole = jingrow.qb.PageType("Jcloude Role")
JcloudeRole = jingrow.qb.PageType("Jcloude Role")
return (
base_query.where(PressRole.allow_webhook_configuration == 1)
.select(Count(PressRole.name).as_("document_count"))
base_query.where(JcloudeRole.allow_webhook_configuration == 1)
.select(Count(JcloudeRole.name).as_("document_count"))
.run(as_dict=True)
.pop()
.get("document_count")

View File

@ -25,7 +25,7 @@ class AccountRequest(Page):
from jingrow.types import DF
from jcloude.jcloude.pagetype.account_request_jcloude_role.account_request_jcloude_role import (
AccountRequestPressRole,
AccountRequestJcloudeRole,
)
agreed_to_partner_consent: DF.Check
@ -52,7 +52,7 @@ class AccountRequest(Page):
otp_generated_at: DF.Datetime | None
phone_number: DF.Data | None
plan: DF.Link | None
jcloude_roles: DF.TableMultiSelect[AccountRequestPressRole]
jcloude_roles: DF.TableMultiSelect[AccountRequestJcloudeRole]
product_trial: DF.Link | None
referral_source: DF.Data | None
referrer_id: DF.Data | None

View File

@ -5,7 +5,7 @@
from jingrow.model.page import Page
class AccountRequestPressRole(Page):
class AccountRequestJcloudeRole(Page):
# begin: auto-generated types
# This code is auto-generated. Do not modify anything in this block.

View File

@ -62,7 +62,7 @@ if TYPE_CHECKING:
from jcloude.jcloude.pagetype.bench_update_app.bench_update_app import BenchUpdateApp
from jcloude.jcloude.pagetype.deploy_candidate.deploy_candidate import DeployCandidate
from jcloude.jcloude.pagetype.deploy_candidate_build.deploy_candidate_build import DeployCandidateBuild
from jcloude.jcloude.pagetype.jcloude_settings.jcloude_settings import PressSettings
from jcloude.jcloude.pagetype.jcloude_settings.jcloude_settings import JcloudeSettings
SupervisorctlActions = Literal[
"start",
@ -725,7 +725,7 @@ class Bench(Page):
def get_memory_info(self) -> tuple[bool, float, float]:
"""Returns a tuple: (is_info_available, free_memory_in_gb, required_memory_in_gb)"""
jcloude_settings: PressSettings = jingrow.get_cached_pg("Jcloude Settings")
jcloude_settings: JcloudeSettings = jingrow.get_cached_pg("Jcloude Settings")
required_memory_gb = jcloude_settings.minimum_rebuild_memory
free_memory_bytes = self.get_free_memory()

View File

@ -46,7 +46,7 @@ from jcloude.utils import get_current_team
from jcloude.utils.test import foreground_enqueue, foreground_enqueue_pg
if TYPE_CHECKING:
from jcloude.jcloude.pagetype.jcloude_settings.jcloude_settings import PressSettings
from jcloude.jcloude.pagetype.jcloude_settings.jcloude_settings import JcloudeSettings
from jcloude.jcloude.pagetype.team.team import Team
@ -107,7 +107,7 @@ class TestBench(JingrowTestCase):
high_memory_max = 4020
low_memory_max = 1029
jcloude_settings: PressSettings = jingrow.get_pg("Jcloude Settings")
jcloude_settings: JcloudeSettings = jingrow.get_pg("Jcloude Settings")
if not jcloude_settings.minimum_rebuild_memory:
jcloude_settings.certbot_directory = "./"

View File

@ -42,8 +42,8 @@ if typing.TYPE_CHECKING:
from jcloude.jcloude.pagetype.log_server.log_server import LogServer
from jcloude.jcloude.pagetype.monitor_server.monitor_server import MonitorServer
from jcloude.jcloude.pagetype.jcloude_job.jcloude_job import PressJob
from jcloude.jcloude.pagetype.jcloude_settings.jcloude_settings import PressSettings
from jcloude.jcloude.pagetype.jcloude_job.jcloude_job import JcloudeJob
from jcloude.jcloude.pagetype.jcloude_settings.jcloude_settings import JcloudeSettings
from jcloude.jcloude.pagetype.server.server import BaseServer
from jcloude.jcloude.pagetype.server_plan.server_plan import ServerPlan
from jcloude.jcloude.pagetype.virtual_machine.virtual_machine import VirtualMachine
@ -132,7 +132,7 @@ class Cluster(Page):
self.validate_hetzner_api_token()
def validate_hetzner_api_token(self):
settings: "PressSettings" = jingrow.get_single("Jcloude Settings")
settings: "JcloudeSettings" = jingrow.get_single("Jcloude Settings")
api_token = settings.get_password("hetzner_api_token")
client = Client(token=api_token)
try:
@ -150,7 +150,7 @@ class Cluster(Page):
jingrow.throw(f"An error occurred while validating the API token: {e}")
def validate_aws_credentials(self):
settings: "PressSettings" = jingrow.get_single("Jcloude Settings")
settings: "JcloudeSettings" = jingrow.get_single("Jcloude Settings")
if self.public and not self.aws_access_key_id:
self.aws_access_key_id = settings.aws_access_key_id
self.aws_secret_access_key = settings.get_password("aws_secret_access_key")
@ -193,7 +193,7 @@ class Cluster(Page):
]
# Get Hetzner API token from Jcloude Settings
settings: "PressSettings" = jingrow.get_single("Jcloude Settings")
settings: "JcloudeSettings" = jingrow.get_single("Jcloude Settings")
api_token = settings.get_password("hetzner_api_token")
client = Client(token=api_token)
@ -893,7 +893,7 @@ class Cluster(Page):
kms_key_id: str | None = None,
is_secondary: bool = False,
primary: str | None = None,
) -> tuple[BaseServer | MonitorServer | LogServer, PressJob]:
) -> tuple[BaseServer | MonitorServer | LogServer, JcloudeJob]:
"""Creates a server for the cluster
temporary_server: If you are creating a temporary server for some special purpose, set this to True.

View File

@ -63,7 +63,7 @@
"fieldname": "status",
"fieldtype": "Select",
"label": "Status",
"options": "Validating\nConfirmed\nAcknowledged\nInvestigating\nResolved\nAuto-Resolved\nPress-Resolved"
"options": "Validating\nConfirmed\nAcknowledged\nInvestigating\nResolved\nAuto-Resolved\nJcloude-Resolved"
},
{
"default": "Database Down",

View File

@ -43,7 +43,7 @@ if TYPE_CHECKING:
IncidentSettingsUser,
)
from jcloude.jcloude.pagetype.monitor_server.monitor_server import MonitorServer
from jcloude.jcloude.pagetype.jcloude_settings.jcloude_settings import PressSettings
from jcloude.jcloude.pagetype.jcloude_settings.jcloude_settings import JcloudeSettings
from jcloude.jcloude.pagetype.server.server import Server
INCIDENT_ALERT = "Sites Down" # TODO: make it a field or child table somewhere #
@ -367,7 +367,7 @@ class Incident(WebsiteGenerator):
@cached_property
def monitor_server(self) -> MonitorServer:
jcloude_settings: PressSettings = jingrow.get_cached_pg("Jcloude Settings")
jcloude_settings: JcloudeSettings = jingrow.get_cached_pg("Jcloude Settings")
if not (monitor_url := jcloude_settings.monitor_server):
jingrow.throw("Monitor Server not set in Jcloude Settings")
return jingrow.get_cached_pg("Monitor Server", monitor_url)
@ -482,12 +482,12 @@ class Incident(WebsiteGenerator):
@property
def twilio_phone_number(self):
jcloude_settings: PressSettings = jingrow.get_cached_pg("Jcloude Settings")
jcloude_settings: JcloudeSettings = jingrow.get_cached_pg("Jcloude Settings")
return Phone(jcloude_settings.twilio_phone_number)
@property
def twilio_client(self):
jcloude_settings: PressSettings = jingrow.get_cached_pg("Jcloude Settings")
jcloude_settings: JcloudeSettings = jingrow.get_cached_pg("Jcloude Settings")
try:
return jcloude_settings.twilio_client
except Exception:

View File

@ -6,7 +6,7 @@ from __future__ import annotations
from jingrow.model.page import Page
class PressFeedback(Page):
class JcloudeFeedback(Page):
# begin: auto-generated types
# This code is auto-generated. Do not modify anything in this block.

View File

@ -6,5 +6,5 @@
from jingrow.tests.utils import JingrowTestCase
class TestPressFeedback(JingrowTestCase):
class TestJcloudeFeedback(JingrowTestCase):
pass

View File

@ -10,7 +10,7 @@ from jingrow.utils import add_days, add_to_date
from jcloude.jcloude.pagetype.jcloude_job_step.jcloude_job_step import safe_exec
class PressJob(Page):
class JcloudeJob(Page):
# begin: auto-generated types
# This code is auto-generated. Do not modify anything in this block.
@ -232,7 +232,7 @@ def fail_stuck_jcloude_jobs():
limit=100,
)
for job_name in jobs:
job = PressJob("Jcloude Job", job_name)
job = JcloudeJob("Jcloude Job", job_name)
job.force_fail()
jingrow.db.commit()

View File

@ -5,5 +5,5 @@
from jingrow.tests.utils import JingrowTestCase
class TestPressJob(JingrowTestCase):
class TestJcloudeJob(JingrowTestCase):
pass

View File

@ -9,10 +9,10 @@ from jingrow.model.page import Page
from jingrow.utils.safe_exec import safe_exec
if TYPE_CHECKING:
from jcloude.jcloude.pagetype.jcloude_job.jcloude_job import PressJob
from jcloude.jcloude.pagetype.jcloude_job.jcloude_job import JcloudeJob
class PressJobStep(Page):
class JcloudeJobStep(Page):
# begin: auto-generated types
# This code is auto-generated. Do not modify anything in this block.
@ -45,7 +45,7 @@ class PressJobStep(Page):
{"parent": self.job_type, "step_name": self.step_name},
"script",
)
job: PressJob = jingrow.get_pg("Jcloude Job", self.job)
job: JcloudeJob = jingrow.get_pg("Jcloude Job", self.job)
arguments = json.loads(job.arguments)
try:
local = {"arguments": jingrow._dict(arguments), "result": None, "pg": job}

View File

@ -5,5 +5,5 @@
from jingrow.tests.utils import JingrowTestCase
class TestPressJobStep(JingrowTestCase):
class TestJcloudeJobStep(JingrowTestCase):
pass

View File

@ -5,7 +5,7 @@
from jingrow.model.page import Page
class PressJobType(Page):
class JcloudeJobType(Page):
# begin: auto-generated types
# This code is auto-generated. Do not modify anything in this block.
@ -14,11 +14,11 @@ class PressJobType(Page):
if TYPE_CHECKING:
from jingrow.types import DF
from jcloude.jcloude.pagetype.jcloude_job_type_step.jcloude_job_type_step import PressJobTypeStep
from jcloude.jcloude.pagetype.jcloude_job_type_step.jcloude_job_type_step import JcloudeJobTypeStep
callback_max_retry: DF.Int
callback_script: DF.Code | None
steps: DF.Table[PressJobTypeStep]
steps: DF.Table[JcloudeJobTypeStep]
# end: auto-generated types
pass

View File

@ -5,5 +5,5 @@
from jingrow.tests.utils import JingrowTestCase
class TestPressJobType(JingrowTestCase):
class TestJcloudeJobType(JingrowTestCase):
pass

View File

@ -5,7 +5,7 @@
from jingrow.model.page import Page
class PressJobTypeStep(Page):
class JcloudeJobTypeStep(Page):
# begin: auto-generated types
# This code is auto-generated. Do not modify anything in this block.

View File

@ -5,5 +5,5 @@
from jingrow.tests.utils import JingrowTestCase
class TestPressJobTypeStep(JingrowTestCase):
class TestJcloudeJobTypeStep(JingrowTestCase):
pass

View File

@ -5,7 +5,7 @@ import jingrow
from jingrow.model.page import Page
class PressMethodPermission(Page):
class JcloudeMethodPermission(Page):
# begin: auto-generated types
# This code is auto-generated. Do not modify anything in this block.

View File

@ -5,5 +5,5 @@
from jingrow.tests.utils import JingrowTestCase
class TestPressMethodPermission(JingrowTestCase):
class TestJcloudeMethodPermission(JingrowTestCase):
pass

View File

@ -9,7 +9,7 @@ from jcloude.api.client import dashboard_whitelist
from jcloude.jcloude.pagetype.communication_info.communication_info import get_communication_info
class PressNotification(Page):
class JcloudeNotification(Page):
# begin: auto-generated types
# This code is auto-generated. Do not modify anything in this block.

View File

@ -17,7 +17,7 @@ from jcloude.jcloude.pagetype.release_group.test_release_group import (
from jcloude.jcloude.pagetype.site.test_site import create_test_bench, create_test_site
class TestPressNotification(JingrowTestCase):
class TestJcloudeNotification(JingrowTestCase):
def setUp(self):
super().setUp()

View File

@ -13,7 +13,7 @@ DEFAULT_PERMISSIONS = {
}
class PressPermissionGroup(Page):
class JcloudePermissionGroup(Page):
# begin: auto-generated types
# This code is auto-generated. Do not modify anything in this block.
@ -23,13 +23,13 @@ class PressPermissionGroup(Page):
from jingrow.types import DF
from jcloude.jcloude.pagetype.jcloude_permission_group_user.jcloude_permission_group_user import (
PressPermissionGroupUser,
JcloudePermissionGroupUser,
)
permissions: DF.JSON | None
team: DF.Link
title: DF.Data
users: DF.Table[PressPermissionGroupUser]
users: DF.Table[JcloudePermissionGroupUser]
# end: auto-generated types
dashboard_fields: ClassVar = ["title", "users"]

View File

@ -11,7 +11,7 @@ from jcloude.jcloude.pagetype.jcloude_permission_group.jcloude_permission_group
from jcloude.jcloude.pagetype.team.test_team import create_test_team
class TestPressPermissionGroup(JingrowTestCase):
class TestJcloudePermissionGroup(JingrowTestCase):
def setUp(self):
super().setUp()

View File

@ -5,7 +5,7 @@
from jingrow.model.page import Page
class PressPermissionGroupUser(Page):
class JcloudePermissionGroupUser(Page):
# begin: auto-generated types
# This code is auto-generated. Do not modify anything in this block.

View File

@ -16,7 +16,7 @@ if TYPE_CHECKING:
from jcloude.jcloude.pagetype.team.team import Team
class PressRole(Page):
class JcloudeRole(Page):
# begin: auto-generated types
# This code is auto-generated. Do not modify anything in this block.
@ -25,8 +25,8 @@ class PressRole(Page):
if TYPE_CHECKING:
from jingrow.types import DF
from jcloude.jcloude.pagetype.jcloude_role_resource.jcloude_role_resource import PressRoleResource
from jcloude.jcloude.pagetype.jcloude_role_user.jcloude_role_user import PressRoleUser
from jcloude.jcloude.pagetype.jcloude_role_resource.jcloude_role_resource import JcloudeRoleResource
from jcloude.jcloude.pagetype.jcloude_role_user.jcloude_role_user import JcloudeRoleUser
admin_access: DF.Check
allow_apps: DF.Check
@ -40,10 +40,10 @@ class PressRole(Page):
allow_server_creation: DF.Check
allow_site_creation: DF.Check
allow_webhook_configuration: DF.Check
resources: DF.Table[PressRoleResource]
resources: DF.Table[JcloudeRoleResource]
team: DF.Link
title: DF.Data
users: DF.Table[PressRoleUser]
users: DF.Table[JcloudeRoleUser]
# end: auto-generated types
dashboard_fields = (

View File

@ -6,5 +6,5 @@ import jingrow
def execute():
jingrow.db.sql(
"UPDATE `tabPress Role` SET allow_billing = enable_billing, allow_apps = enable_apps"
"UPDATE `tabJcloude Role` SET allow_billing = enable_billing, allow_apps = enable_apps"
)

View File

@ -8,7 +8,7 @@ from jingrow.tests.utils import JingrowTestCase
from jcloude.jcloude.pagetype.team.test_team import create_test_team
class TestPressRole(JingrowTestCase):
class TestJcloudeRole(JingrowTestCase):
def setUp(self):
jingrow.set_user("Administrator")
jingrow.db.delete("Jcloude Role")

View File

@ -8,7 +8,7 @@ from jingrow.model.page import Page
from jcloude.api.client import dashboard_whitelist
class PressRolePermission(Page):
class JcloudeRolePermission(Page):
# begin: auto-generated types
# This code is auto-generated. Do not modify anything in this block.

View File

@ -5,5 +5,5 @@
from jingrow.tests.utils import JingrowTestCase
class TestPressRolePermission(JingrowTestCase):
class TestJcloudeRolePermission(JingrowTestCase):
pass

View File

@ -5,7 +5,7 @@
from jingrow.model.page import Page
class PressRoleResource(Page):
class JcloudeRoleResource(Page):
# begin: auto-generated types
# This code is auto-generated. Do not modify anything in this block.

View File

@ -5,7 +5,7 @@
from jingrow.model.page import Page
class PressRoleUser(Page):
class JcloudeRoleUser(Page):
# begin: auto-generated types
# This code is auto-generated. Do not modify anything in this block.

View File

@ -14,7 +14,7 @@ from jcloude.jcloude.pagetype.telegram_message.telegram_message import TelegramM
from jcloude.telegram_utils import Telegram
class PressSettings(Page):
class JcloudeSettings(Page):
# begin: auto-generated types
# This code is auto-generated. Do not modify anything in this block.

View File

@ -7,12 +7,12 @@ import typing
import jingrow
if typing.TYPE_CHECKING:
from jcloude.jcloude.pagetype.jcloude_settings.jcloude_settings import PressSettings
from jcloude.jcloude.pagetype.jcloude_settings.jcloude_settings import JcloudeSettings
def execute():
jingrow.reload_pagetype("Jcloude Settings")
settings: PressSettings = jingrow.get_single("Jcloude Settings")
settings: JcloudeSettings = jingrow.get_single("Jcloude Settings")
if not settings.minimum_rebuild_memory:
settings.minimum_rebuild_memory = 2

View File

@ -46,5 +46,5 @@ def create_test_jcloude_settings():
return settings
class TestPressSettings(JingrowTestCase):
class TestJcloudeSettings(JingrowTestCase):
pass

View File

@ -5,7 +5,7 @@
from jingrow.model.page import Page
class PressTag(Page):
class JcloudeTag(Page):
# begin: auto-generated types
# This code is auto-generated. Do not modify anything in this block.

View File

@ -21,5 +21,5 @@ def create_and_add_test_tag(name: str, pagetype: str, tag: str = "test_tag"):
return test_tag
class TestPressTag(JingrowTestCase):
class TestJcloudeTag(JingrowTestCase):
pass

View File

@ -8,7 +8,7 @@ from jingrow.model.page import Page
ALLOWED_CONFIG_PERMS = ["global", "restricted"]
class PressUserPermission(Page):
class JcloudeUserPermission(Page):
# begin: auto-generated types
# This code is auto-generated. Do not modify anything in this block.

View File

@ -11,7 +11,7 @@ from jcloude.jcloude.pagetype.site.test_site import create_test_site
from jcloude.jcloude.pagetype.team.test_team import create_test_team
class TestPressUserPermission(JingrowTestCase):
class TestJcloudeUserPermission(JingrowTestCase):
def setUp(self):
super().setUp()

View File

@ -20,7 +20,7 @@ from jcloude.overrides import get_permission_query_conditions_for_pagetype
from jcloude.utils import is_valid_hostname
class PressWebhook(Page):
class JcloudeWebhook(Page):
# begin: auto-generated types
# This code is auto-generated. Do not modify anything in this block.
@ -30,12 +30,12 @@ class PressWebhook(Page):
from jingrow.types import DF
from jcloude.jcloude.pagetype.jcloude_webhook_selected_event.jcloude_webhook_selected_event import (
PressWebhookSelectedEvent,
JcloudeWebhookSelectedEvent,
)
enabled: DF.Check
endpoint: DF.Data
events: DF.Table[PressWebhookSelectedEvent]
events: DF.Table[JcloudeWebhookSelectedEvent]
secret: DF.Data
team: DF.Link
# end: auto-generated types
@ -164,7 +164,7 @@ class PressWebhook(Page):
@dashboard_whitelist()
def delete(self):
jingrow.db.sql("delete from `tabPress Webhook Attempt` where webhook = %s", (self.name,))
jingrow.db.sql("delete from `tabJcloude Webhook Attempt` where webhook = %s", (self.name,))
jingrow.delete_pg("Jcloude Webhook", self.name)
@ -176,7 +176,7 @@ def auto_disable_high_delivery_failure_webhooks():
data = jingrow.db.sql(
"""
SELECT `endpoint`
FROM `tabPress Webhook Attempt`
FROM `tabJcloude Webhook Attempt`
WHERE `creation` >= NOW() - INTERVAL 1 HOUR
GROUP BY `endpoint`
HAVING (COUNT(CASE WHEN `status` = 'Failed' THEN 1 END) / COUNT(*)) * 100 > 70;

View File

@ -5,5 +5,5 @@
from jingrow.tests.utils import JingrowTestCase
class TestPressWebhook(JingrowTestCase):
class TestJcloudeWebhook(JingrowTestCase):
pass

View File

@ -7,7 +7,7 @@ import jingrow
from jingrow.model.page import Page
class PressWebhookAttempt(Page):
class JcloudeWebhookAttempt(Page):
# begin: auto-generated types
# This code is auto-generated. Do not modify anything in this block.

View File

@ -5,5 +5,5 @@
from jingrow.tests.utils import JingrowTestCase
class TestPressWebhookAttempt(JingrowTestCase):
class TestJcloudeWebhookAttempt(JingrowTestCase):
pass

View File

@ -5,7 +5,7 @@
from jingrow.model.page import Page
class PressWebhookEvent(Page):
class JcloudeWebhookEvent(Page):
# begin: auto-generated types
# This code is auto-generated. Do not modify anything in this block.

View File

@ -5,5 +5,5 @@
from jingrow.tests.utils import JingrowTestCase
class TestPressWebhookEvent(JingrowTestCase):
class TestJcloudeWebhookEvent(JingrowTestCase):
pass

View File

@ -13,7 +13,7 @@ from jingrow.utils import add_to_date, now
from jcloude.overrides import get_permission_query_conditions_for_pagetype
class PressWebhookLog(Page):
class JcloudeWebhookLog(Page):
# begin: auto-generated types
# This code is auto-generated. Do not modify anything in this block.
@ -22,9 +22,9 @@ class PressWebhookLog(Page):
if TYPE_CHECKING:
from jingrow.types import DF
from jcloude.jcloude.pagetype.jcloude_webhook_attempt.jcloude_webhook_attempt import PressWebhookAttempt
from jcloude.jcloude.pagetype.jcloude_webhook_attempt.jcloude_webhook_attempt import JcloudeWebhookAttempt
attempts: DF.Table[PressWebhookAttempt]
attempts: DF.Table[JcloudeWebhookAttempt]
event: DF.Link
next_retry_at: DF.Datetime | None
request_payload: DF.JSON
@ -92,16 +92,16 @@ class PressWebhookLog(Page):
def _process_webhook_call(self):
try:
PressWebhookSelectedEvent = jingrow.qb.PageType("Jcloude Webhook Selected Event")
PressWebhook = jingrow.qb.PageType("Jcloude Webhook")
JcloudeWebhookSelectedEvent = jingrow.qb.PageType("Jcloude Webhook Selected Event")
JcloudeWebhook = jingrow.qb.PageType("Jcloude Webhook")
query = (
jingrow.qb.from_(PressWebhookSelectedEvent)
.select(PressWebhook.name, PressWebhook.endpoint, PressWebhook.secret)
.left_join(PressWebhook)
.on(PressWebhookSelectedEvent.parent == PressWebhook.name)
.where(PressWebhookSelectedEvent.event == self.event)
.where(PressWebhook.team == self.team)
.where(PressWebhook.enabled == 1)
jingrow.qb.from_(JcloudeWebhookSelectedEvent)
.select(JcloudeWebhook.name, JcloudeWebhook.endpoint, JcloudeWebhook.secret)
.left_join(JcloudeWebhook)
.on(JcloudeWebhookSelectedEvent.parent == JcloudeWebhook.name)
.where(JcloudeWebhookSelectedEvent.event == self.event)
.where(JcloudeWebhook.team == self.team)
.where(JcloudeWebhook.enabled == 1)
)
webhooks = query.run(as_dict=True)
payload = json.loads(self.request_payload)

View File

@ -5,5 +5,5 @@
from jingrow.tests.utils import JingrowTestCase
class TestPressWebhookLog(JingrowTestCase):
class TestJcloudeWebhookLog(JingrowTestCase):
pass

View File

@ -5,7 +5,7 @@
from jingrow.model.page import Page
class PressWebhookSelectedEvent(Page):
class JcloudeWebhookSelectedEvent(Page):
# begin: auto-generated types
# This code is auto-generated. Do not modify anything in this block.

View File

@ -53,7 +53,7 @@ if typing.TYPE_CHECKING:
from jcloude.jcloude.pagetype.database_server.database_server import DatabaseServer
from jcloude.jcloude.pagetype.mariadb_variable.mariadb_variable import MariaDBVariable
from jcloude.jcloude.pagetype.nfs_volume_detachment.nfs_volume_detachment import NFSVolumeDetachment
from jcloude.jcloude.pagetype.jcloude_job.jcloude_job import PressJob
from jcloude.jcloude.pagetype.jcloude_job.jcloude_job import JcloudeJob
from jcloude.jcloude.pagetype.release_group.release_group import ReleaseGroup
from jcloude.jcloude.pagetype.server_mount.server_mount import ServerMount
from jcloude.jcloude.pagetype.server_plan.server_plan import ServerPlan
@ -1152,7 +1152,7 @@ class BaseServer(Page, TagHelpers):
def create_image(self):
self.run_jcloude_job("Create Server Snapshot")
def run_jcloude_job(self, job_name, arguments=None) -> PressJob:
def run_jcloude_job(self, job_name, arguments=None) -> JcloudeJob:
if arguments is None:
arguments = {}
return jingrow.get_pg(

View File

@ -13,7 +13,7 @@ from time import time
import jingrow
import pytz
from jcloude.jcloude.pagetype.jcloude_settings.jcloude_settings import PressSettings
from jcloude.jcloude.pagetype.jcloude_settings.jcloude_settings import JcloudeSettings
from jcloude.jcloude.pagetype.remote_file.remote_file import delete_remote_backup_objects
from jcloude.jcloude.pagetype.site.site import Literal, Site
from jcloude.jcloude.pagetype.site_backup.site_backup import SiteBackup
@ -256,7 +256,7 @@ class ScheduledBackupJob:
or 6
)
self.offsite_setup = PressSettings.is_offsite_setup()
self.offsite_setup = JcloudeSettings.is_offsite_setup()
self.server_time = datetime.now()
self.sites = Site.get_sites_for_backup(self.interval, backup_type=self.backup_type)
if self.backup_type == "Logical":

View File

@ -383,14 +383,14 @@ class Team(Page):
if member_to_remove:
self.remove(member_to_remove)
PressRole = jingrow.qb.PageType("Jcloude Role")
PressRoleUser = jingrow.qb.PageType("Jcloude Role User")
JcloudeRole = jingrow.qb.PageType("Jcloude Role")
JcloudeRoleUser = jingrow.qb.PageType("Jcloude Role User")
roles = (
jingrow.qb.from_(PressRole)
.join(PressRoleUser)
.on(PressRole.name == PressRoleUser.parent)
.where(PressRoleUser.user == member)
.select(PressRole.name)
jingrow.qb.from_(JcloudeRole)
.join(JcloudeRoleUser)
.on(JcloudeRole.name == JcloudeRoleUser.parent)
.where(JcloudeRoleUser.user == member)
.select(JcloudeRole.name)
.run(as_dict=True, pluck="name")
)
@ -839,16 +839,16 @@ class Team(Page):
"""
Checks if the current user has admin access in the team via roles.
"""
PressRole = jingrow.qb.PageType("Jcloude Role")
PressRoleUser = jingrow.qb.PageType("Jcloude Role User")
JcloudeRole = jingrow.qb.PageType("Jcloude Role")
JcloudeRoleUser = jingrow.qb.PageType("Jcloude Role User")
return (
jingrow.qb.from_(PressRoleUser)
.left_join(PressRole)
.on(PressRole.name == PressRoleUser.parent)
.select(Count(PressRoleUser.name).as_("count"))
.where(PressRole.team == self.name)
.where(PressRoleUser.user == jingrow.session.user)
.where(PressRole.admin_access == 1)
jingrow.qb.from_(JcloudeRoleUser)
.left_join(JcloudeRole)
.on(JcloudeRole.name == JcloudeRoleUser.parent)
.select(Count(JcloudeRoleUser.name).as_("count"))
.where(JcloudeRole.team == self.name)
.where(JcloudeRoleUser.user == jingrow.session.user)
.where(JcloudeRole.admin_access == 1)
.run(as_dict=1)
.pop()
.get("count", 0)
@ -864,16 +864,16 @@ class Team(Page):
def invite_team_member(self, email, roles=None):
from jingrow.utils.user import is_system_user
PressRole = jingrow.qb.PageType("Jcloude Role")
PressRoleUser = jingrow.qb.PageType("Jcloude Role User")
JcloudeRole = jingrow.qb.PageType("Jcloude Role")
JcloudeRoleUser = jingrow.qb.PageType("Jcloude Role User")
has_admin_access = (
jingrow.qb.from_(PressRole)
.select(PressRole.name)
.join(PressRoleUser)
.on((PressRole.name == PressRoleUser.parent) & (PressRoleUser.user == jingrow.session.user))
.where(PressRole.team == self.name)
.where(PressRole.admin_access == 1)
jingrow.qb.from_(JcloudeRole)
.select(JcloudeRole.name)
.join(JcloudeRoleUser)
.on((JcloudeRole.name == JcloudeRoleUser.parent) & (JcloudeRoleUser.user == jingrow.session.user))
.where(JcloudeRole.team == self.name)
.where(JcloudeRole.admin_access == 1)
)
if not is_system_user() and jingrow.session.user != self.user and not has_admin_access.run():

View File

@ -52,7 +52,7 @@ func logError(format string, args ...interface{}) {
// waitForUser pauses execution and waits for user to jcloude Enter
// This ensures error messages are visible before program exits
func waitForUser() {
fmt.Println("\nPress Enter to exit...")
fmt.Println("\nJcloude Enter to exit...")
fmt.Scanln()
}

View File

@ -99,7 +99,7 @@ func (m *Monitor) logFindings() {
latest.Disk.WriteLatencyMillis)
fmt.Fprintf(m.logFile, " Queue Depth: %.2f\n", latest.Disk.QueueDepth)
fmt.Fprintf(m.logFile, "\nPSI (Pressure Stall Information):\n")
fmt.Fprintf(m.logFile, "\nPSI (Jcloudeure Stall Information):\n")
fmt.Fprintf(m.logFile, " I/O: Some=%.2f%% Full=%.2f%%\n",
latest.PSI.IO_SomeAvg10, latest.PSI.IO_FullAvg10)
fmt.Fprintf(m.logFile, " Memory: Some=%.2f%% Full=%.2f%%\n",