// Copyright (c) Mainflux // SPDX-License-Identifier: Apache-2.0 package api import ( "time" "github.com/mainflux/mainflux/internal/apiutil" ) const maxLimitSize = 100 type addCertsReq struct { token string ThingID string `json:"thing_id"` TTL string `json:"ttl"` } func (req addCertsReq) validate() error { if req.token == "" { return apiutil.ErrBearerToken } if req.ThingID == "" { return apiutil.ErrMissingID } if req.TTL == "" { return apiutil.ErrMissingCertData } if _, err := time.ParseDuration(req.TTL); err != nil { return apiutil.ErrInvalidCertData } return nil } type listReq struct { thingID string token string offset uint64 limit uint64 } func (req *listReq) validate() error { if req.token == "" { return apiutil.ErrBearerToken } if req.limit > maxLimitSize { return apiutil.ErrLimitSize } return nil } type viewReq struct { serialID string token string } func (req *viewReq) validate() error { if req.token == "" { return apiutil.ErrBearerToken } if req.serialID == "" { return apiutil.ErrMissingID } return nil } type revokeReq struct { token string certID string } func (req *revokeReq) validate() error { if req.token == "" { return apiutil.ErrBearerToken } if req.certID == "" { return apiutil.ErrMissingID } return nil }