package arn import ( "errors" "github.com/aerogo/aero" "github.com/aerogo/api" ) // Force interface implementations var ( _ Activity = (*ActivityConsumeAnime)(nil) _ api.Deletable = (*ActivityConsumeAnime)(nil) _ api.Savable = (*ActivityConsumeAnime)(nil) ) // Authorize returns an error if the given API POST request is not authorized. func (activity *ActivityConsumeAnime) Authorize(ctx aero.Context, action string) error { user := GetUserFromContext(ctx) if user == nil { return errors.New("Not logged in") } if user.ID != activity.CreatedBy { return errors.New("Can't modify activities from other users") } return nil } // Save saves the activity object in the database. func (activity *ActivityConsumeAnime) Save() { DB.Set("ActivityConsumeAnime", activity.ID, activity) } // DeleteInContext deletes the activity in the given context. func (activity *ActivityConsumeAnime) DeleteInContext(ctx aero.Context) error { return activity.Delete() } // Delete deletes the object from the database. func (activity *ActivityConsumeAnime) Delete() error { DB.Delete("ActivityConsumeAnime", activity.ID) return nil } // // Force interface implementations // var ( // _ Likeable = (*Activity)(nil) // _ LikeEventReceiver = (*Activity)(nil) // _ api.Deletable = (*Activity)(nil) // ) // // Actions // func init() { // API.RegisterActions("Activity", []*api.Action{ // // Like // LikeAction(), // // Unlike // UnlikeAction(), // }) // } // // Authorize returns an error if the given API request is not authorized. // func (activity *Activity) Authorize(ctx aero.Context, action string) error { // user := GetUserFromContext(ctx) // if user == nil { // return errors.New("Not logged in") // } // return nil // } // // DeleteInContext deletes the activity in the given context. // func (activity *Activity) DeleteInContext(ctx aero.Context) error { // return activity.Delete() // }