This repository was archived by the owner on Nov 19, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathWebMenuItemModel.swift
More file actions
54 lines (47 loc) · 1.42 KB
/
WebMenuItemModel.swift
File metadata and controls
54 lines (47 loc) · 1.42 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
//
// File.swift
//
//
// Created by Tibor Bodecs on 2021. 11. 24..
//
import Foundation
import Fluent
import FeatherCore
final class WebMenuItemModel: FeatherDatabaseModel {
typealias Module = WebModule
static var featherIdentifier: String = "menu_items"
struct FieldKeys {
struct v1 {
static var label: FieldKey { "label" }
static var url: FieldKey { "url" }
static var priority: FieldKey { "priority" }
static var isBlank: FieldKey { "is_blank" }
static var permission: FieldKey { "permission" }
static var menuId: FieldKey { "menu_id" }
}
}
@ID() var id: UUID?
@Field(key: FieldKeys.v1.label) var label: String
@Field(key: FieldKeys.v1.url) var url: String
@Field(key: FieldKeys.v1.priority) var priority: Int
@Field(key: FieldKeys.v1.isBlank) var isBlank: Bool
@Field(key: FieldKeys.v1.permission) var permission: String?
@Parent(key: FieldKeys.v1.menuId) var menu: WebMenuModel
init() { }
init(id: UUID? = nil,
label: String,
url: String,
priority: Int = 100,
isBlank: Bool = false,
permission: String? = nil,
menuId: UUID)
{
self.id = id
self.label = label
self.url = url
self.priority = priority
self.isBlank = isBlank
self.permission = permission
self.$menu.id = menuId
}
}