policy

package
v0.1.1-alpha.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 18, 2023 License: MIT Imports: 12 Imported by: 0

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 UpdatePolicyContent struct {
	Version *string `json:"version" bson:"version"`
	Policy  *string `json:"policy" bson:"policy"`
}

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"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL