//  APIConfig.h
#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN

@interface APIConfig : NSObject

//os
+ (NSString *)os;

/// Base API URL (no trailing slash)
+ (NSString *)baseURL;
+ (void)setBaseURL:(NSString *)baseURL;

/// Client Id
+ (NSString *)clientId;
+ (void)setClientId:(NSString *)clientId;

//drawingplan
+ (NSString *)drawingPlanId;
+ (void)setDrawingPlanId:(NSString *)drawingPlanId;

//projectid
+ (NSString *)projectId;
+ (void)setProjectId:(NSString *)projectId;

/// Auth token (JWT)
+ (NSString *)authToken;
+ (void)setAuthTokem:(NSString *)authToken;

// Lot Id
+ (NSString *)lotId;
+ (void)setLotId:(NSString *)lotId;

/// Convenience: baseURL + path + ?token=
+ (NSURL *)urlWithPath:(NSString *)path;

/// Dictionary form (for future flexibility)
+ (NSDictionary<NSString *, NSString *> *)deviceInfo;

/// JSON string form (what your APIs expect)
+ (NSString *)deviceInfoJSONString;

//Offline
+ (BOOL)handleOfflineForAPI:(NSString *)apiName
                 completion:(void(^)(BOOL success, NSDictionary * _Nullable response, NSError * _Nullable error))completion;

//Null
+ (NSDictionary *)dictionaryByReplacingNullsWithBlanks:(NSDictionary *)dict;

@end

NS_ASSUME_NONNULL_END


