This commit is contained in:
parent
8b203908a0
commit
725945d95c
22 changed files with 381 additions and 135 deletions
48
resource/contact.go
Normal file
48
resource/contact.go
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
package resource
|
||||
|
||||
import (
|
||||
"context"
|
||||
"net/http"
|
||||
|
||||
nhttp "github.com/Gleipnir-Technology/nidus-sync/http"
|
||||
"github.com/Gleipnir-Technology/nidus-sync/platform"
|
||||
"github.com/Gleipnir-Technology/nidus-sync/platform/types"
|
||||
//"github.com/rs/zerolog/log"
|
||||
)
|
||||
|
||||
type contactR struct {
|
||||
router *router
|
||||
}
|
||||
|
||||
func Contact(r *router) *contactR {
|
||||
return &contactR{
|
||||
router: r,
|
||||
}
|
||||
}
|
||||
|
||||
type contact struct {
|
||||
types.Contact
|
||||
URI string
|
||||
}
|
||||
|
||||
func (res *contactR) ByIDGet(ctx context.Context, r *http.Request, user platform.User, qp QueryParams) (contact, *nhttp.ErrorWithStatus) {
|
||||
return contact{}, nil
|
||||
}
|
||||
func (res *contactR) List(ctx context.Context, r *http.Request, user platform.User, query QueryParams) ([]contact, *nhttp.ErrorWithStatus) {
|
||||
contacts, err := platform.ContactsForOrganization(ctx, user.Organization.ID)
|
||||
if err != nil {
|
||||
return nil, nhttp.NewError("nuisance report query: %w", err)
|
||||
}
|
||||
result := make([]contact, len(contacts))
|
||||
for i, c := range contacts {
|
||||
uri, err := res.router.IDToURI("contact.ByIDGet", int(c.ID))
|
||||
if err != nil {
|
||||
return nil, nhttp.NewError("contact uri: %w", err)
|
||||
}
|
||||
result[i] = contact{
|
||||
Contact: c,
|
||||
URI: uri,
|
||||
}
|
||||
}
|
||||
return result, nil
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue