Beispiel #1
0
func FilterIfOwnerRelations(r *http.Request, filter *usecases.Filter) *usecases.Filter {
	ownerRelationsCtx := context.Get(r, "ownerRelations")
	if ownerRelationsCtx != nil {
		currentSession := context.Get(r, "currentSession").(domain.Session)

		idKey := "accountId"

		if context.Get(r, "resource").(string) == "accounts" {
			idKey = "id"
		}

		if filter == nil {
			filter = &usecases.Filter{
				Where: map[string]interface{}{idKey: currentSession.AccountID},
			}
		} else {
			if filter.Where == nil {
				filter.Where = map[string]interface{}{idKey: currentSession.AccountID}
			} else {
				filter.Where[idKey] = currentSession.AccountID
			}
		}
	}

	return filter
}
Beispiel #2
0
func FilterIfLastRessource(r *http.Request, filter *usecases.Filter) *usecases.Filter {
	lastRessourceCtx := context.Get(r, "lastRessource")

	if lastRessourceCtx != nil {
		lastRessource := lastRessourceCtx.(*Ressource)

		if filter == nil {
			filter = &usecases.Filter{
				Where: map[string]interface{}{lastRessource.IDKey: lastRessource.ID},
			}
		} else {
			if filter.Where == nil {
				filter.Where = map[string]interface{}{lastRessource.IDKey: lastRessource.ID}
			} else {
				filter.Where[lastRessource.IDKey] = lastRessource.ID
			}
		}
	}

	return filter
}