Program Listing for File SkillService.h

Return to documentation for file (axr.sdk/services/SkillService.h)

// Copyright (C) AcceleratXR, Inc. All rights reserved.
//
// Author: Jean-Philippe Steinmetz <info@acceleratxr.com>
//
// NOTE: This file was auto generated by the AcceleratXR code generator.
// https://gitlab.com/AcceleratXR/Core/code_generator.git
#pragma once

#include "axr.sdk/net/IApiClient.h"
#include "axr.sdk/ServiceBase.h"
#include "axr.sdk/models/Skill.h"
#include "axr.sdk/utils/StringUtils.h"
#include "axr.sdk/models/Skill.h"
#include "axr.sdk/models/Count.h"
#include "axr.sdk/utils/EntityWatchdog.h"

#include <cpprest/details/basic_types.h>
#include <map>
#include <memory>
#include <vector>

DEFINE_ENTITYWATCHDOG_SPEC(Skill)

namespace axr {
namespace sdk {
namespace services {

using namespace axr::sdk::models;

class SkillService : public ServiceBase<Skill> {
public:
    SkillService(std::shared_ptr<Configuration> config, std::shared_ptr<net::IApiClient> apiClient)
        : ServiceBase(config, apiClient)
    {}

    ~SkillService() {}

    static const utility::char_t* ClassName()
    {
        return _XPLATSTR("axr::sdk::services::SkillService");
    }

    pplx::task<std::vector<std::shared_ptr<Skill>>> FindAllByArchetype(const utility::string_t& personaUid, const utility::string_t& archetypeUid, const std::map<utility::string_t,utility::string_t>* searchParams = nullptr, const uint16_t startIndex = 0, const uint16_t maxResults = 1000, const utility::string_t& sortBy = _XPLATSTR(""));

    pplx::task<uint64_t> CountByArchetype(const utility::string_t& personaUid, const utility::string_t& archetypeUid, const std::map<utility::string_t,utility::string_t>* searchParams = nullptr, const uint16_t startIndex = 0, const uint16_t maxResults = 1000);

    pplx::task<void> TruncateByArchetype(const utility::string_t& personaUid, const utility::string_t& archetypeUid);

    pplx::task<std::shared_ptr<Skill>> FindById(const utility::string_t& personaUid, const utility::string_t& archetypeUid, const utility::string_t& skillUid);

    pplx::task<void> Delete(const utility::string_t& personaUid, const utility::string_t& archetypeUid, const utility::string_t& skillUid);

    pplx::task<void> AddProgress(const utility::string_t& personaUid, const utility::string_t& archetypeUid, const utility::string_t& skillUid, const std::shared_ptr<SkillRequirementProgress> progress);

    pplx::task<std::vector<std::shared_ptr<Skill>>> FindAll(const utility::string_t& personaUid, const std::map<utility::string_t, utility::string_t>* searchParams = nullptr, const uint16_t startIndex = 0, const uint16_t maxResults = 1000, const utility::string_t& sortBy = _XPLATSTR(""));

    pplx::task<uint64_t> Count(const utility::string_t& personaUid, const std::map<utility::string_t, utility::string_t>* searchParams = nullptr, const uint16_t startIndex = 0, const uint16_t maxResults = 1000);
};

} // namespace services
} // namespace axr
} // namespace sdk