Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func RegisterHandlers ¶
func RegisterHandlers(r *echo.Group, service Service)
Types ¶
type CreatePolicyRequest ¶
type CreatePolicyRequest struct { Identifier string `json:"identifier" bson:"identifier"` DisplayName string `json:"display_name" bson:"display_name"` Version string `json:"version" bson:"version"` Policy string `json:"policy" bson:"policy"` }
func (CreatePolicyRequest) Validate ¶
func (m CreatePolicyRequest) Validate() error
type Filter ¶
type Filter struct { Cursor int `json:"cursor" query:"cursor"` Limit int `json:"limit" query:"limit"` Name string `json:"name" query:"name"` }
Pagination filter.
type PatchPolicy ¶
type PatchPolicy struct { AddedPolicies []mongo_entity.PolicyContent `json:"added_policies,omitempty" bson:"added_policies"` RemovedPolicies []string `json:"removed_policies,omitempty" bson:"removed_policies"` }
type PatchPolicyRequest ¶
type PatchPolicyRequest struct { AddedPolicies []mongo_entity.PolicyContent `json:"added_policies,omitempty" bson:"added_policies"` RemovedPolicies []string `json:"removed_policies,omitempty" bson:"removed_policies"` }
type Policy ¶
type Policy struct {
mongo_entity.Policy
}
type Repository ¶
type Repository interface { Get(ctx context.Context, org_id string, id string) (*mongo_entity.Policy, error) Create(ctx context.Context, org_id string, policy mongo_entity.Policy) error Query(ctx context.Context, org_id string) (*[]mongo_entity.Policy, error) Update(ctx context.Context, org_id string, id string, update_user UpdatePolicy) error Patch(ctx context.Context, org_id string, id string, patch_user PatchPolicy) error Delete(ctx context.Context, org_id string, id string) error CheckPolicyExistById(ctx context.Context, org_id string, id string) (bool, error) CheckPolicyExistsByIdentifier(ctx context.Context, org_id string, identifier string) (bool, error) CheckPolicyContentExistsByVersion(ctx context.Context, org_id string, version string) (bool, error) }
func NewRepository ¶
func NewRepository(mongodb *db.MongoDB) Repository
type Service ¶
type Service interface { Get(ctx context.Context, org_id string, id string) (Policy, error) Query(ctx context.Context, org_id string, filter Filter) ([]Policy, error) Create(ctx context.Context, org_id string, input CreatePolicyRequest) (Policy, error) Update(ctx context.Context, org_id string, id string, input UpdatePolicyRequest) (Policy, error) Patch(ctx context.Context, org_id string, id string, input PatchPolicyRequest) (Policy, error) Delete(ctx context.Context, org_id string, id string) error }
func NewService ¶
func NewService(repo Repository, logger *zap.Logger) Service
type UpdatePolicy ¶
type UpdatePolicy struct { DisplayName *string `json:"display_name,omitempty" bson:"display_name"` ActiveVersion *string `json:"active_version,omitempty" bson:"active_version"` PolicyContent *UpdatePolicyContent `json:"policy_content,omitempty" bson:"policy_content"` }
type UpdatePolicyContent ¶
type UpdatePolicyRequest ¶
type UpdatePolicyRequest struct { DisplayName *string `json:"display_name,omitempty" bson:"display_name"` ActiveVersion *string `json:"active_version,omitempty" bson:"active_version"` PolicyContent *UpdatePolicyContent `json:"policy_content,omitempty" bson:"policy_content"` }
Click to show internal directories.
Click to hide internal directories.