go.charczuk.com@v0.0.0-20240327042549-bc490516bd1a/projects/chirp/pkg/model/notification.go (about) 1 /* 2 3 Copyright (c) 2023 - Present. Will Charczuk. All rights reserved. 4 Use of this source code is governed by a MIT license that can be found in the LICENSE file at the root of the repository. 5 6 */ 7 8 package model 9 10 import ( 11 "time" 12 13 "go.charczuk.com/sdk/uuid" 14 ) 15 16 // NotificationType is a type of notification. 17 type NotificationType string 18 19 // NotificationTypes 20 const ( 21 NotificationTypeFollow = "follow" 22 NotificationTypeLike = "like" 23 ) 24 25 // Notification is someting we're going to show in the UI at some point. 26 type Notification struct { 27 ID uuid.UUID `db:"id,pk,auto"` 28 UserID uuid.UUID `db:"user_id"` 29 CreatedUTC time.Time `db:"created_utc"` 30 ReadUTC *time.Time `db:"read_utc"` 31 ActingUserID uuid.UUID `db:"acting_user_id"` 32 ChirpID *uuid.UUID `db:"chirp_id"` 33 Type string `db:"type"` 34 } 35 36 // TableName is a name of a table. 37 func (n Notification) TableName() string { 38 return "notification" 39 }