chore: clean up dead UI code and regenerate schema
- Remove non-functional search bar, notifications and settings buttons from header - Remove leftover console.log and unused useAttrs import in sidebar - Remove unused scoped CSS in computers/index.vue (Tailwind-only template) - Regenerate database/schema.ts after running migrations locally - Ignore .serena/ local tooling directory - Refresh package-lock.json after npm install
This commit is contained in:
1 parent
b3c8d691b4
commit
ec6734f491
6 files changed
+186
-653
No files matched your search
@@ -28,6 +28,7 @@ coverage
|
||||
.fleet
|
||||
.idea
|
||||
.vscode
|
||||
.serena
|
||||
*.swp
|
||||
*.swo
|
||||
|
||||
|
||||
@@ -7,134 +7,6 @@
|
||||
import { BaseModel, column } from '@adonisjs/lucid/orm'
|
||||
import { DateTime } from 'luxon'
|
||||
|
||||
export class AccessListSchema extends BaseModel {
|
||||
static $columns = ['createdOn', 'id', 'isDeleted', 'meta', 'modifiedOn', 'name', 'ownerUserId', 'passAuth', 'satisfyAny'] as const
|
||||
$columns = AccessListSchema.$columns
|
||||
@column.dateTime()
|
||||
declare createdOn: DateTime
|
||||
@column({ isPrimary: true })
|
||||
declare id: number
|
||||
@column()
|
||||
declare isDeleted: number
|
||||
@column()
|
||||
declare meta: any
|
||||
@column.dateTime()
|
||||
declare modifiedOn: DateTime
|
||||
@column()
|
||||
declare name: string
|
||||
@column()
|
||||
declare ownerUserId: number
|
||||
@column()
|
||||
declare passAuth: number
|
||||
@column()
|
||||
declare satisfyAny: number
|
||||
}
|
||||
|
||||
export class AccessListAuthSchema extends BaseModel {
|
||||
static $columns = ['accessListId', 'createdOn', 'id', 'meta', 'modifiedOn', 'password', 'username'] as const
|
||||
$columns = AccessListAuthSchema.$columns
|
||||
@column()
|
||||
declare accessListId: number
|
||||
@column.dateTime()
|
||||
declare createdOn: DateTime
|
||||
@column({ isPrimary: true })
|
||||
declare id: number
|
||||
@column()
|
||||
declare meta: any
|
||||
@column.dateTime()
|
||||
declare modifiedOn: DateTime
|
||||
@column({ serializeAs: null })
|
||||
declare password: string
|
||||
@column()
|
||||
declare username: string
|
||||
}
|
||||
|
||||
export class AccessListClientSchema extends BaseModel {
|
||||
static $columns = ['accessListId', 'address', 'createdOn', 'directive', 'id', 'meta', 'modifiedOn'] as const
|
||||
$columns = AccessListClientSchema.$columns
|
||||
@column()
|
||||
declare accessListId: number
|
||||
@column()
|
||||
declare address: string
|
||||
@column.dateTime()
|
||||
declare createdOn: DateTime
|
||||
@column()
|
||||
declare directive: string
|
||||
@column({ isPrimary: true })
|
||||
declare id: number
|
||||
@column()
|
||||
declare meta: any
|
||||
@column.dateTime()
|
||||
declare modifiedOn: DateTime
|
||||
}
|
||||
|
||||
export class AuditLogSchema extends BaseModel {
|
||||
static $columns = ['action', 'createdOn', 'id', 'meta', 'modifiedOn', 'objectId', 'objectType', 'userId'] as const
|
||||
$columns = AuditLogSchema.$columns
|
||||
@column()
|
||||
declare action: string
|
||||
@column.dateTime()
|
||||
declare createdOn: DateTime
|
||||
@column({ isPrimary: true })
|
||||
declare id: number
|
||||
@column()
|
||||
declare meta: any
|
||||
@column.dateTime()
|
||||
declare modifiedOn: DateTime
|
||||
@column()
|
||||
declare objectId: number
|
||||
@column()
|
||||
declare objectType: string
|
||||
@column()
|
||||
declare userId: number
|
||||
}
|
||||
|
||||
export class AuthSchema extends BaseModel {
|
||||
static $columns = ['createdOn', 'id', 'isDeleted', 'meta', 'modifiedOn', 'secret', 'type', 'userId'] as const
|
||||
$columns = AuthSchema.$columns
|
||||
@column.dateTime()
|
||||
declare createdOn: DateTime
|
||||
@column({ isPrimary: true })
|
||||
declare id: number
|
||||
@column()
|
||||
declare isDeleted: number
|
||||
@column()
|
||||
declare meta: any
|
||||
@column.dateTime()
|
||||
declare modifiedOn: DateTime
|
||||
@column()
|
||||
declare secret: string
|
||||
@column()
|
||||
declare type: string
|
||||
@column()
|
||||
declare userId: number
|
||||
}
|
||||
|
||||
export class CertificateSchema extends BaseModel {
|
||||
static $columns = ['createdOn', 'domainNames', 'expiresOn', 'id', 'isDeleted', 'meta', 'modifiedOn', 'niceName', 'ownerUserId', 'provider'] as const
|
||||
$columns = CertificateSchema.$columns
|
||||
@column.dateTime()
|
||||
declare createdOn: DateTime
|
||||
@column()
|
||||
declare domainNames: any
|
||||
@column.dateTime()
|
||||
declare expiresOn: DateTime
|
||||
@column({ isPrimary: true })
|
||||
declare id: number
|
||||
@column()
|
||||
declare isDeleted: number
|
||||
@column()
|
||||
declare meta: any
|
||||
@column.dateTime()
|
||||
declare modifiedOn: DateTime
|
||||
@column()
|
||||
declare niceName: string
|
||||
@column()
|
||||
declare ownerUserId: number
|
||||
@column()
|
||||
declare provider: string
|
||||
}
|
||||
|
||||
export class ComponentTypeSchema extends BaseModel {
|
||||
static $columns = ['id', 'name', 'unique'] as const
|
||||
$columns = ComponentTypeSchema.$columns
|
||||
@@ -220,253 +92,6 @@ export class ComputerSchema extends BaseModel {
|
||||
declare userId: number | null
|
||||
}
|
||||
|
||||
export class DeadHostSchema extends BaseModel {
|
||||
static $columns = ['advancedConfig', 'certificateId', 'createdOn', 'domainNames', 'enabled', 'hstsEnabled', 'hstsSubdomains', 'http2Support', 'id', 'isDeleted', 'meta', 'modifiedOn', 'ownerUserId', 'sslForced'] as const
|
||||
$columns = DeadHostSchema.$columns
|
||||
@column()
|
||||
declare advancedConfig: string
|
||||
@column()
|
||||
declare certificateId: number
|
||||
@column.dateTime()
|
||||
declare createdOn: DateTime
|
||||
@column()
|
||||
declare domainNames: any
|
||||
@column()
|
||||
declare enabled: number
|
||||
@column()
|
||||
declare hstsEnabled: number
|
||||
@column()
|
||||
declare hstsSubdomains: number
|
||||
@column()
|
||||
declare http2Support: number
|
||||
@column({ isPrimary: true })
|
||||
declare id: number
|
||||
@column()
|
||||
declare isDeleted: number
|
||||
@column()
|
||||
declare meta: any
|
||||
@column.dateTime()
|
||||
declare modifiedOn: DateTime
|
||||
@column()
|
||||
declare ownerUserId: number
|
||||
@column()
|
||||
declare sslForced: number
|
||||
}
|
||||
|
||||
export class MigrationSchema extends BaseModel {
|
||||
static $columns = ['batch', 'id', 'migrationTime', 'name'] as const
|
||||
$columns = MigrationSchema.$columns
|
||||
@column()
|
||||
declare batch: number | null
|
||||
@column({ isPrimary: true })
|
||||
declare id: number
|
||||
@column.dateTime()
|
||||
declare migrationTime: DateTime | null
|
||||
@column()
|
||||
declare name: string | null
|
||||
}
|
||||
|
||||
export class MigrationsLockSchema extends BaseModel {
|
||||
static $columns = ['index', 'isLocked'] as const
|
||||
$columns = MigrationsLockSchema.$columns
|
||||
@column({ isPrimary: true })
|
||||
declare index: number
|
||||
@column()
|
||||
declare isLocked: number | null
|
||||
}
|
||||
|
||||
export class ProxyHostSchema extends BaseModel {
|
||||
static $columns = ['accessListId', 'advancedConfig', 'allowWebsocketUpgrade', 'blockExploits', 'cachingEnabled', 'certificateId', 'createdOn', 'domainNames', 'enabled', 'forwardHost', 'forwardPort', 'forwardScheme', 'hstsEnabled', 'hstsSubdomains', 'http2Support', 'id', 'isDeleted', 'locations', 'meta', 'modifiedOn', 'ownerUserId', 'sslForced', 'trustForwardedProto'] as const
|
||||
$columns = ProxyHostSchema.$columns
|
||||
@column()
|
||||
declare accessListId: number
|
||||
@column()
|
||||
declare advancedConfig: string
|
||||
@column()
|
||||
declare allowWebsocketUpgrade: number
|
||||
@column()
|
||||
declare blockExploits: number
|
||||
@column()
|
||||
declare cachingEnabled: number
|
||||
@column()
|
||||
declare certificateId: number
|
||||
@column.dateTime()
|
||||
declare createdOn: DateTime
|
||||
@column()
|
||||
declare domainNames: any
|
||||
@column()
|
||||
declare enabled: number
|
||||
@column()
|
||||
declare forwardHost: string
|
||||
@column()
|
||||
declare forwardPort: number
|
||||
@column()
|
||||
declare forwardScheme: string
|
||||
@column()
|
||||
declare hstsEnabled: number
|
||||
@column()
|
||||
declare hstsSubdomains: number
|
||||
@column()
|
||||
declare http2Support: number
|
||||
@column({ isPrimary: true })
|
||||
declare id: number
|
||||
@column()
|
||||
declare isDeleted: number
|
||||
@column()
|
||||
declare locations: any | null
|
||||
@column()
|
||||
declare meta: any
|
||||
@column.dateTime()
|
||||
declare modifiedOn: DateTime
|
||||
@column()
|
||||
declare ownerUserId: number
|
||||
@column()
|
||||
declare sslForced: number
|
||||
@column()
|
||||
declare trustForwardedProto: boolean
|
||||
}
|
||||
|
||||
export class RedirectionHostSchema extends BaseModel {
|
||||
static $columns = ['advancedConfig', 'blockExploits', 'certificateId', 'createdOn', 'domainNames', 'enabled', 'forwardDomainName', 'forwardHttpCode', 'forwardScheme', 'hstsEnabled', 'hstsSubdomains', 'http2Support', 'id', 'isDeleted', 'meta', 'modifiedOn', 'ownerUserId', 'preservePath', 'sslForced'] as const
|
||||
$columns = RedirectionHostSchema.$columns
|
||||
@column()
|
||||
declare advancedConfig: string
|
||||
@column()
|
||||
declare blockExploits: number
|
||||
@column()
|
||||
declare certificateId: number
|
||||
@column.dateTime()
|
||||
declare createdOn: DateTime
|
||||
@column()
|
||||
declare domainNames: any
|
||||
@column()
|
||||
declare enabled: number
|
||||
@column()
|
||||
declare forwardDomainName: string
|
||||
@column()
|
||||
declare forwardHttpCode: number
|
||||
@column()
|
||||
declare forwardScheme: string
|
||||
@column()
|
||||
declare hstsEnabled: number
|
||||
@column()
|
||||
declare hstsSubdomains: number
|
||||
@column()
|
||||
declare http2Support: number
|
||||
@column({ isPrimary: true })
|
||||
declare id: number
|
||||
@column()
|
||||
declare isDeleted: number
|
||||
@column()
|
||||
declare meta: any
|
||||
@column.dateTime()
|
||||
declare modifiedOn: DateTime
|
||||
@column()
|
||||
declare ownerUserId: number
|
||||
@column()
|
||||
declare preservePath: number
|
||||
@column()
|
||||
declare sslForced: number
|
||||
}
|
||||
|
||||
export class SettingSchema extends BaseModel {
|
||||
static $columns = ['description', 'id', 'meta', 'name', 'value'] as const
|
||||
$columns = SettingSchema.$columns
|
||||
@column()
|
||||
declare description: string
|
||||
@column({ isPrimary: true })
|
||||
declare id: string
|
||||
@column()
|
||||
declare meta: any
|
||||
@column()
|
||||
declare name: string
|
||||
@column()
|
||||
declare value: string
|
||||
}
|
||||
|
||||
export class StreamSchema extends BaseModel {
|
||||
static $columns = ['certificateId', 'createdOn', 'enabled', 'forwardingHost', 'forwardingPort', 'id', 'incomingPort', 'isDeleted', 'meta', 'modifiedOn', 'ownerUserId', 'tcpForwarding', 'udpForwarding'] as const
|
||||
$columns = StreamSchema.$columns
|
||||
@column()
|
||||
declare certificateId: number
|
||||
@column.dateTime()
|
||||
declare createdOn: DateTime
|
||||
@column()
|
||||
declare enabled: number
|
||||
@column()
|
||||
declare forwardingHost: string
|
||||
@column()
|
||||
declare forwardingPort: number
|
||||
@column({ isPrimary: true })
|
||||
declare id: number
|
||||
@column()
|
||||
declare incomingPort: number
|
||||
@column()
|
||||
declare isDeleted: number
|
||||
@column()
|
||||
declare meta: any
|
||||
@column.dateTime()
|
||||
declare modifiedOn: DateTime
|
||||
@column()
|
||||
declare ownerUserId: number
|
||||
@column()
|
||||
declare tcpForwarding: number
|
||||
@column()
|
||||
declare udpForwarding: number
|
||||
}
|
||||
|
||||
export class NpmUserSchema extends BaseModel {
|
||||
static $columns = ['avatar', 'createdOn', 'email', 'id', 'isDeleted', 'isDisabled', 'modifiedOn', 'name', 'nickname', 'roles'] as const
|
||||
$columns = NpmUserSchema.$columns
|
||||
@column()
|
||||
declare avatar: string
|
||||
@column.dateTime()
|
||||
declare createdOn: DateTime
|
||||
@column()
|
||||
declare email: string
|
||||
@column({ isPrimary: true })
|
||||
declare id: number
|
||||
@column()
|
||||
declare isDeleted: number
|
||||
@column()
|
||||
declare isDisabled: number
|
||||
@column.dateTime()
|
||||
declare modifiedOn: DateTime
|
||||
@column()
|
||||
declare name: string
|
||||
@column()
|
||||
declare nickname: string
|
||||
@column()
|
||||
declare roles: any
|
||||
}
|
||||
|
||||
export class UserPermissionSchema extends BaseModel {
|
||||
static $columns = ['accessLists', 'certificates', 'createdOn', 'deadHosts', 'id', 'modifiedOn', 'proxyHosts', 'redirectionHosts', 'streams', 'userId', 'visibility'] as const
|
||||
$columns = UserPermissionSchema.$columns
|
||||
@column()
|
||||
declare accessLists: string
|
||||
@column()
|
||||
declare certificates: string
|
||||
@column.dateTime()
|
||||
declare createdOn: DateTime
|
||||
@column()
|
||||
declare deadHosts: string
|
||||
@column({ isPrimary: true })
|
||||
declare id: number
|
||||
@column.dateTime()
|
||||
declare modifiedOn: DateTime
|
||||
@column()
|
||||
declare proxyHosts: string
|
||||
@column()
|
||||
declare redirectionHosts: string
|
||||
@column()
|
||||
declare streams: string
|
||||
@column()
|
||||
declare userId: number
|
||||
@column()
|
||||
declare visibility: string
|
||||
}
|
||||
|
||||
export class UserSchema extends BaseModel {
|
||||
static $columns = ['createdAt', 'email', 'id', 'name', 'password', 'updatedAt'] as const
|
||||
$columns = UserSchema.$columns
|
||||
|
||||
@@ -44,85 +44,3 @@ defineProps<{ computers: any[] }>()
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style scoped>
|
||||
.computers-container {
|
||||
max-width: 1200px;
|
||||
margin: 0 auto;
|
||||
padding: 2rem;
|
||||
}
|
||||
|
||||
.header {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
margin-bottom: 2rem;
|
||||
}
|
||||
|
||||
.computers-grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
|
||||
gap: 2rem;
|
||||
}
|
||||
|
||||
.computer-card {
|
||||
border: 1px solid #e5e7eb;
|
||||
border-radius: 0.5rem;
|
||||
overflow: hidden;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.card-image {
|
||||
width: 100%;
|
||||
height: 200px;
|
||||
background-color: #f3f4f6;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.card-image img {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
object-fit: cover;
|
||||
}
|
||||
|
||||
.no-image {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
color: #9ca3af;
|
||||
}
|
||||
|
||||
.card-content {
|
||||
padding: 1rem;
|
||||
flex: 1;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.card-content h3 {
|
||||
margin: 0 0 0.5rem 0;
|
||||
font-size: 1.125rem;
|
||||
}
|
||||
|
||||
.card-content p {
|
||||
color: #6b7280;
|
||||
margin: 0 0 1rem 0;
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.card-meta {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
margin-bottom: 1rem;
|
||||
font-size: 0.875rem;
|
||||
color: #6b7280;
|
||||
}
|
||||
|
||||
.empty-state {
|
||||
text-align: center;
|
||||
padding: 4rem 2rem;
|
||||
}
|
||||
</style>
|
||||
@@ -16,33 +16,9 @@ const user = computed(() => {
|
||||
|
||||
<template>
|
||||
<header
|
||||
class="flex justify-between items-center px-10 h-16 bg-white ml-64 w-[calc(100%-16rem)] fixed top-0 right-0 z-40 border-b border-outline-variant shadow-sm"
|
||||
class="flex justify-end items-center px-10 h-16 bg-white ml-64 w-[calc(100%-16rem)] fixed top-0 right-0 z-40 border-b border-outline-variant shadow-sm"
|
||||
>
|
||||
<div
|
||||
class="flex items-center gap-4 bg-surface-container-low px-4 py-2 rounded-lg border border-outline-variant w-96 focus-within:ring-2 focus-within:ring-primary transition-all"
|
||||
>
|
||||
<span class="material-symbols-outlined text-on-surface-variant">search</span>
|
||||
<input
|
||||
class="bg-transparent border-none focus:ring-0 focus:outline-none text-body-sm font-body-sm w-full p-0"
|
||||
placeholder="Search builds..."
|
||||
type="text"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div class="flex items-center gap-6">
|
||||
<button
|
||||
class="text-on-surface-variant hover:bg-surface-container-low p-2 rounded-full transition-all"
|
||||
>
|
||||
<span class="material-symbols-outlined">notifications</span>
|
||||
</button>
|
||||
<button
|
||||
class="text-on-surface-variant hover:bg-surface-container-low p-2 rounded-full transition-all"
|
||||
>
|
||||
<span class="material-symbols-outlined">settings</span>
|
||||
</button>
|
||||
|
||||
<div class="h-8 w-px bg-outline-variant mx-2"></div>
|
||||
|
||||
<div
|
||||
class="relative flex items-center gap-3 cursor-pointer group"
|
||||
@click="dropdownOpen = !dropdownOpen"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<script lang="ts" setup>
|
||||
import { ref, useAttrs } from 'vue'
|
||||
import { ref } from 'vue'
|
||||
import { useSidebar } from '~/composables/useSidebar'
|
||||
import { Link } from '@adonisjs/inertia/vue'
|
||||
import { siteIcon } from '~/assets/icons'
|
||||
@@ -9,8 +9,6 @@ const activeClass = ref('bg-gray-600/25 text-gray-100 border-gray-100')
|
||||
const inactiveClass = ref(
|
||||
'border-gray-900 text-gray-500 hover:bg-gray-600/25 hover:text-gray-100'
|
||||
)
|
||||
const route = useAttrs()
|
||||
console.log(route)
|
||||
</script>
|
||||
|
||||
<template>
|
||||
|
||||
Generated
+183
-168
File diff suppressed because it is too large.
Load diff
Reference in new issue
Block a user