Define a server group for the treeview
| 244 | |
| 245 | |
| 246 | class ServerGroup(db.Model, UserScopedMixin): |
| 247 | """Define a server group for the treeview""" |
| 248 | __tablename__ = 'servergroup' |
| 249 | id = db.Column(db.Integer, primary_key=True) |
| 250 | user_id = db.Column(db.Integer, db.ForeignKey(USER_ID), nullable=False) |
| 251 | |
| 252 | name = db.Column(db.String(128), nullable=False) |
| 253 | __table_args__ = (db.UniqueConstraint('user_id', 'name'),) |
| 254 | |
| 255 | servers = db.relationship( |
| 256 | 'Server', |
| 257 | back_populates='servergroup', |
| 258 | lazy='select', |
| 259 | cascade=CASCADE_STR |
| 260 | ) |
| 261 | |
| 262 | sharedservers = db.relationship( |
| 263 | 'SharedServer', |
| 264 | back_populates='servergroup', |
| 265 | lazy='select', |
| 266 | cascade=CASCADE_STR |
| 267 | ) |
| 268 | |
| 269 | @property |
| 270 | def serialize(self): |
| 271 | """Return object data in easily serializable format""" |
| 272 | return { |
| 273 | 'id': self.id, |
| 274 | 'user_id': self.user_id, |
| 275 | 'name': self.name, |
| 276 | } |
| 277 | |
| 278 | |
| 279 | class Server(db.Model, UserScopedMixin): |
no outgoing calls
no test coverage detected