12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- package schema
- import (
- "context"
- "time"
- "github.com/gravitl/netmaker/db"
- )
- // UserAccessToken - token used to access netmaker
- type UserAccessToken struct {
- ID string `gorm:"primaryKey" json:"id"`
- Name string `json:"name"`
- UserName string `json:"user_name"`
- ExpiresAt time.Time `json:"expires_at"`
- LastUsed time.Time `json:"last_used"`
- CreatedBy string `json:"created_by"`
- CreatedAt time.Time `json:"created_at"`
- }
- func (a *UserAccessToken) Get(ctx context.Context) error {
- return db.FromContext(ctx).Model(&UserAccessToken{}).First(&a).Where("id = ?", a.ID).Error
- }
- func (a *UserAccessToken) Update(ctx context.Context) error {
- return db.FromContext(ctx).Model(&UserAccessToken{}).Where("id = ?", a.ID).Updates(&a).Error
- }
- func (a *UserAccessToken) Create(ctx context.Context) error {
- return db.FromContext(ctx).Model(&UserAccessToken{}).Create(&a).Error
- }
- func (a *UserAccessToken) List(ctx context.Context) (ats []UserAccessToken, err error) {
- err = db.FromContext(ctx).Model(&UserAccessToken{}).Find(&ats).Error
- return
- }
- func (a *UserAccessToken) ListByUser(ctx context.Context) (ats []UserAccessToken) {
- db.FromContext(ctx).Model(&UserAccessToken{}).Where("user_name = ?", a.UserName).Find(&ats)
- if ats == nil {
- ats = []UserAccessToken{}
- }
- return
- }
- func (a *UserAccessToken) CountByUser(ctx context.Context) (int, error) {
- var count int64
- err := db.FromContext(ctx).Model(&UserAccessToken{}).
- Where("user_name = ?", a.UserName).
- Count(&count).
- Error
- return int(count), err
- }
- func (a *UserAccessToken) Delete(ctx context.Context) error {
- return db.FromContext(ctx).Model(&UserAccessToken{}).Where("id = ?", a.ID).Delete(&a).Error
- }
- func (a *UserAccessToken) DeleteAllUserTokens(ctx context.Context) error {
- return db.FromContext(ctx).Model(&UserAccessToken{}).Where("user_name = ?", a.UserName).Delete(&a).Error
- }
|