service.go 3.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. package service
  2. import (
  3. "context"
  4. "sghgogs.com/micro/shopping-service/domain/repository"
  5. pb "sghgogs.com/micro/shopping-service/proto"
  6. )
  7. type IService interface {
  8. Login(request *pb.LoginRequest) (*pb.User, int64, error) // admin
  9. Profile(int64, int64) (*pb.User, error)
  10. GetAdminUserList(*pb.GetAdminUserListRequest) ([]*pb.User, int64, error)
  11. GetAllAdminUser() ([]*pb.Base, error)
  12. GetAdminUser(*pb.GetAdminUserRequest) (*pb.User, error)
  13. CreateAdminUser(context.Context, *pb.CreateAdminUserRequest) error
  14. UpdateAdminUser(context.Context, *pb.UpdateAdminUserRequest) error
  15. ToggleAdminUser(context.Context, *pb.ToggleAdminUserRequest) error
  16. DeleteAdminUser(*pb.DeleteAdminUserRequest) error
  17. GetUserList(*pb.GetUserListRequest) ([]*pb.User, int64, error)
  18. GetUser(*pb.GetUserRequest) (*pb.User, error)
  19. CreateUser(context.Context, *pb.CreateUserRequest) error
  20. UpdateUser(context.Context, *pb.UpdateUserRequest) error
  21. DeleteUser(*pb.DeleteUserRequest) error
  22. ToggleUser(context.Context, *pb.ToggleUserRequest) error
  23. GetRoleList(*pb.GetRoleListRequest) ([]*pb.Role, int64, error)
  24. GetRole(*pb.GetRoleRequest) (*pb.Role, error)
  25. GetAllRoles() ([]*pb.Base, error)
  26. CreateRole(context.Context, *pb.CreateRoleRequest) error
  27. UpdateRole(context.Context, *pb.UpdateRoleRequest) error
  28. ToggleRole(context.Context, *pb.ToggleRoleRequest) error
  29. DeleteRole(*pb.DeleteRoleRequest) error
  30. GetPermissionList(*pb.GetPermissionListRequest) ([]*pb.Permission, int64, error)
  31. GetPermission(*pb.GetPermissionRequest) (*pb.Permission, error)
  32. CreatePermission(context.Context, *pb.CreatePermissionRequest) error
  33. UpdatePermission(context.Context, *pb.UpdatePermissionRequest) error
  34. CreateMultiplePermissions(context.Context, *pb.CreateMultiplePermissionsRequest) error
  35. DeletePermission(*pb.DeletePermissionRequest) error
  36. TogglePermission(*pb.TogglePermissionRequest) error
  37. // GetUserList(*pb.GetUserListRequest) ([]*pb.User, int64, error)
  38. // GetUser(*pb.GetUserRequest) (*pb.User, error)
  39. // CreateUser(*pb.CreateUserRequest) error
  40. // UpdateUserRoles(*pb.UpdateUserRolesRequest) error
  41. // UpdateUserPassword(*pb.UpdateUserPasswordRequest) error
  42. // ToggleUser(*pb.ToggleUserRequest) error
  43. // DeleteUser(*pb.DeleteUserRequest) error
  44. CreateUserGroup(*pb.CreateUserGroupRequest) error
  45. GetUserGroup(*pb.GetUserGroupRequest) (pb.UserGroup, error)
  46. CreateAddress(*pb.CreateAddressRequest) error
  47. GetAddressList(*pb.GetAddressListRequest) ([]*pb.Address, int64, error)
  48. GetAddress(*pb.GetAddressRequest) (*pb.Address, error)
  49. UpdateAddress(*pb.UpdateAddressRequest) error
  50. DeleteAddress(*pb.DeleteAddressRequest) error
  51. GetCategoryList(*pb.GetCategoryListRequest) ([]*pb.Category, int64, error)
  52. GetAllCategories() ([]*pb.Category, error)
  53. CreateMultipleCategories(*pb.CreateCategoryRequest) error
  54. DeleteCategory(*pb.DeleteCategoryRequest) error
  55. GetProductList(*pb.GetProductListRequest) ([]*pb.Product, int64, error)
  56. GetProduct(*pb.GetProductRequest) (*pb.Product, error)
  57. CreateMultipleProducts(*pb.CreateProductRequest) error
  58. UpdateProduct(*pb.UpdateProductRequest) error
  59. DeleteProduct(*pb.DeleteProductRequest) error
  60. CreateShoppingCart(*pb.CreateShoppingCartRequest) error
  61. CreateMultipleShoppingCartItem(*pb.CreateShoppingCartItemRequest) error
  62. CreateOrder(*pb.CreateOrderRequest) error
  63. CreateOrderItem(*pb.CreateOrderItemRequest) error
  64. CreatePayment(*pb.CreatePaymentRequest) error
  65. }
  66. func NewService(r repository.IRepository, namespace string) IService {
  67. return &Service{
  68. Repository: r,
  69. Namespace: namespace,
  70. }
  71. }
  72. type Service struct {
  73. Repository repository.IRepository
  74. Namespace string
  75. }