package service import ( "context" "sghgogs.com/micro/shopping-service/domain/repository" pb "sghgogs.com/micro/shopping-service/proto" ) type IService interface { Login(request *pb.LoginRequest) (*pb.User, int64, error) // admin Profile(int64, int64) (*pb.User, error) GetAdminUserList(*pb.GetAdminUserListRequest) ([]*pb.User, int64, error) GetAllAdminUser() ([]*pb.Base, error) GetAdminUser(*pb.GetAdminUserRequest) (*pb.User, error) CreateAdminUser(context.Context, *pb.CreateAdminUserRequest) error UpdateAdminUser(context.Context, *pb.UpdateAdminUserRequest) error ToggleAdminUser(context.Context, *pb.ToggleAdminUserRequest) error DeleteAdminUser(*pb.DeleteAdminUserRequest) error GetUserList(*pb.GetUserListRequest) ([]*pb.User, int64, error) GetUser(*pb.GetUserRequest) (*pb.User, error) CreateUser(context.Context, *pb.CreateUserRequest) error UpdateUser(context.Context, *pb.UpdateUserRequest) error DeleteUser(*pb.DeleteUserRequest) error ToggleUser(context.Context, *pb.ToggleUserRequest) error GetRoleList(*pb.GetRoleListRequest) ([]*pb.Role, int64, error) GetRole(*pb.GetRoleRequest) (*pb.Role, error) GetAllRoles() ([]*pb.Base, error) CreateRole(context.Context, *pb.CreateRoleRequest) error UpdateRole(context.Context, *pb.UpdateRoleRequest) error ToggleRole(context.Context, *pb.ToggleRoleRequest) error DeleteRole(*pb.DeleteRoleRequest) error GetPermissionList(*pb.GetPermissionListRequest) ([]*pb.Permission, int64, error) GetPermission(*pb.GetPermissionRequest) (*pb.Permission, error) CreatePermission(context.Context, *pb.CreatePermissionRequest) error UpdatePermission(context.Context, *pb.UpdatePermissionRequest) error CreateMultiplePermissions(context.Context, *pb.CreateMultiplePermissionsRequest) error DeletePermission(*pb.DeletePermissionRequest) error TogglePermission(*pb.TogglePermissionRequest) error // GetUserList(*pb.GetUserListRequest) ([]*pb.User, int64, error) // GetUser(*pb.GetUserRequest) (*pb.User, error) // CreateUser(*pb.CreateUserRequest) error // UpdateUserRoles(*pb.UpdateUserRolesRequest) error // UpdateUserPassword(*pb.UpdateUserPasswordRequest) error // ToggleUser(*pb.ToggleUserRequest) error // DeleteUser(*pb.DeleteUserRequest) error CreateUserGroup(*pb.CreateUserGroupRequest) error GetUserGroup(*pb.GetUserGroupRequest) (pb.UserGroup, error) CreateAddress(*pb.CreateAddressRequest) error GetAddressList(*pb.GetAddressListRequest) ([]*pb.Address, int64, error) GetAddress(*pb.GetAddressRequest) (*pb.Address, error) UpdateAddress(*pb.UpdateAddressRequest) error DeleteAddress(*pb.DeleteAddressRequest) error GetCategoryList(*pb.GetCategoryListRequest) ([]*pb.Category, int64, error) GetAllCategories() ([]*pb.Category, error) CreateMultipleCategories(*pb.CreateCategoryRequest) error DeleteCategory(*pb.DeleteCategoryRequest) error GetProductList(*pb.GetProductListRequest) ([]*pb.Product, int64, error) GetProduct(*pb.GetProductRequest) (*pb.Product, error) CreateMultipleProducts(*pb.CreateProductRequest) error UpdateProduct(*pb.UpdateProductRequest) error DeleteProduct(*pb.DeleteProductRequest) error CreateShoppingCart(*pb.CreateShoppingCartRequest) error CreateMultipleShoppingCartItem(*pb.CreateShoppingCartItemRequest) error CreateOrder(*pb.CreateOrderRequest) error CreateOrderItem(*pb.CreateOrderItemRequest) error CreatePayment(*pb.CreatePaymentRequest) error } func NewService(r repository.IRepository, namespace string) IService { return &Service{ Repository: r, Namespace: namespace, } } type Service struct { Repository repository.IRepository Namespace string }